mirror of
https://github.com/minio/minio.git
synced 2025-11-20 09:56:07 -05:00
xl: Rewrite auto-healing and implement auto new-disk healer (#8114)
The new auto healing model selects one node always responsible for auto-healing the whole cluster, erasure set by erasure set. If that node dies, another node will be elected as a leading operator to perform healing. This code also adds a goroutine which checks each 10 minutes if there are any new unformatted disks and performs its healing in that case, only the erasure set which has the new disk will be healed.
This commit is contained in:
@@ -262,7 +262,7 @@ func serverMain(ctx *cli.Context) {
|
||||
if globalIsXL {
|
||||
// Init global heal state
|
||||
globalAllHealState = initHealState()
|
||||
globalSweepHealState = initHealState()
|
||||
globalBackgroundHealState = initHealState()
|
||||
}
|
||||
|
||||
// Initialize globalConsoleSys system
|
||||
@@ -363,8 +363,8 @@ func serverMain(ctx *cli.Context) {
|
||||
|
||||
if globalIsXL {
|
||||
initBackgroundHealing()
|
||||
initDailyHeal()
|
||||
initDailySweeper()
|
||||
initLocalDisksAutoHeal()
|
||||
initGlobalHeal()
|
||||
}
|
||||
|
||||
globalObjLayerMutex.Lock()
|
||||
|
||||
Reference in New Issue
Block a user