Documentation ¶
Overview ¶
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package ais provides core functionality for the AIStore object storage.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2023, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2021, NVIDIA CORPORATION. All rights reserved.
Package reb provides global cluster-wide rebalance upon adding/removing storage nodes.
- Copyright (c) 2018-2021, NVIDIA CORPORATION. All rights reserved.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func OffTimedGFN ¶
func OffTimedGFN(detail string)
func OnTimedGFN ¶
func OnTimedGFN()
Types ¶
type Reb ¶
type Reb struct {
// contains filtered or unexported fields
}
func (*Reb) AbortLocal ¶
(limited usage; compare with `abortAndBroadcast` below)
func (*Reb) RunRebalance ¶
run sequence: non-EC and EC global
main method: serialized to run one at a time and goes through controlled enumerated stages A note on stage management:
- Non-EC and EC rebalances run in parallel
- Execution starts after the `Reb` sets the current stage to rebStageTraverse
- Only EC rebalance changes the current stage
- Global rebalance performs checks such as `stage > rebStageTraverse` or `stage < rebStageWaitAck`. Since all EC stages are between `Traverse` and `WaitAck` non-EC rebalance does not "notice" stage changes.
type Status ¶
type Status struct { Targets meta.Nodes `json:"targets"` // targets I'm waiting for ACKs from SmapVersion int64 `json:"smap_version,string"` // current Smap version (via smapOwner) RebVersion int64 `json:"reb_version,string"` // Smap version of *this* rebalancing op RebID int64 `json:"reb_id,string"` // rebalance ID Stats cluster.Stats `json:"stats"` // transmitted/received totals Stage uint32 `json:"stage"` // the current stage - see enum above Aborted bool `json:"aborted"` // aborted? Running bool `json:"running"` // running? Quiescent bool `json:"quiescent"` // true when queue is empty }