DBAtlas · Atlas d'exploitation des bases de données

Redimensionner l'oplog en ligne (replSetResizeOplog)

MongoDBReplica Set

Commande

// Current oplog size (MB):
db.getSiblingDB("local").oplog.rs.stats().maxSize / 1024 / 1024
// Resize the oplog to 50 GB (in MB; run on each member separately, secondaries first):
db.adminCommand({ replSetResizeOplog: 1, size: 51200 })
// Minimum retention period (hours), independent of size:
db.adminCommand({ replSetResizeOplog: 1, minRetentionHours: 48 })
// Verify the result:
rs.printReplicationInfo()

Ce que fait la commande

Agrandit ou réduit l'oplog d'un membre en cours d'exécution sans redémarrage ; minRetentionHours conserve les entrées de l'oplog pendant une durée minimale même si la limite de taille est dépassée.

Quand l'utiliser

Quand la fenêtre de l'oplog ne couvre pas la durée de la maintenance ou de la synchronisation initiale, ou que des jobs d'écriture massive réduisent la fenêtre.

Attention

La commande n'affecte que le membre sur lequel elle s'exécute et n'est pas répliquée ; appliquez-la sur chaque membre. La fenêtre doit aussi être suffisante sur les membres qui servent de sources de synchronisation. La réduction ne rend pas immédiatement l'espace disque à l'OS ; un compact sur oplog.rs est nécessaire pour cela. Avec minRetentionHours, l'oplog peut dépasser size selon le volume d'écriture ; dimensionnez le disque en conséquence.

Ouvrir dans DBAtlas →

Voir aussi