DBAtlas · Veritabanı operasyon atlası

Replica set'te rolling bakım (restart, OS patch, minor upgrade)

MongoDBReplica Set

Komut

// 1) Baslamadan once: tum uyeler saglikli, lag dusuk ve oplog window bakim suresinden uzun olmali
rs.printSecondaryReplicationInfo()
// 2) Bakim yapilacak SECONDARY'de temiz kapanis (sonra OS/binary bakimi, ayni yapilandirmayla baslat):
db.getSiblingDB("admin").shutdownServer({ timeoutSecs: 60 })
// 3) Uye SECONDARY olup lag kapanana kadar bekle, sonra siradaki secondary'ye gec:
rs.status().members.map(m => ({ host: m.name, state: m.stateStr, health: m.health }))
// 4) Tum secondary'ler bitince PRIMARY'de: 30 sn icinde yetisen bir secondary'ye devret
rs.stepDown(120, 30)
// 5) Eski primary artik SECONDARY: 2. ve 3. adimi onun icin uygula

Ne yapar?

Üyeleri tek tek, önce secondary'ler sonra primary olacak şekilde bakıma alarak set'i hizmet dışı bırakmadan restart, OS patch veya binary güncellemesi yapma sırasını verir.

Ne zaman kullanılır?

Planlı OS/kernel güncellemesi, minor sürüm yükseltmesi, mongod parametre değişikliği veya disk/donanım bakımında.

Dikkat

Aynı anda birden fazla üyeyi kapatma; 3 üyeli sette iki üye kapanırsa majority kaybolur. Her üyeden sonra SECONDARY durumunu ve lag'in kapandığını gör. stepDown sırasında kısa bir yazma kesintisi olur; driver'ların retryable writes ile yeniden bağlanabildiğinden emin ol. Arbiter varsa onu da aynı sırayla ele al.

DBAtlas'ta aç →

İlgili