您好,登錄后才能下訂單哦!
在生產環境中,當輔助副本成員的讀壓力很大時,可通過添加新的輔助副本成員來緩解壓力。
為了能實現主副本成員不停機,并減輕主副本成員的壓力,可在輔助副本成員上mongodump備份數據;
為了實現新的輔助副本成員的快速恢復,可直接通過以NFS方式掛載輔助副本成員到做備份操作的輔助副本成員上;
為了保證數據的一致性,在mongodump數據的時候使用—oplog參數,mongorestore時使用—oplogReplay參數;
為了滿足后期空間的擴容,通過—directoryperdb參數將數據庫分目錄存儲。
參見:CentOS Linux上配置NFS網絡文件系統以及客戶端使用
local數據庫不會被備份,包括admin在內的其他庫會被備份。
mongodump --host=192.168.11.1:27017 --oplog -o /mnt/mongo/mongodata -u xucy –p Passw0rd --authenticationDatabase admin > mongodump.log 2>&1 &
可通過實時查看日志數據,觀察備份進度。
tail –f mongodump.log
mongorestore要在mongod未啟動的情況下運行,它直接寫入文件。
mongorestore --host=192.168.11.2:27017 --oplogReplay --dbpath /data/var/lib/mongodb --directoryperdb /nfspool/mongodata > mongorestore.log 2>&1 &
可通過實時查看日志數據,觀察恢復進度。
tail –f mongorestore.log
1.查看主副本的維護窗口和oplog大小:
rs_main:PRIMARY> db.printReplicationInfo()
configured oplog size: 23862.404296875MB
log length start to end: 39405secs (10.95hrs)
oplog first event time: Sun Feb 08 2015 10:34:07 GMT-0600 (CST)
oplog last event time: Sun Feb 08 2015 21:30:52 GMT-0600 (CST)
now: Sun Feb 08 2015 21:30:53 GMT-0600 (CST)
2.在新機器上重建oplog:
以standalone方式啟動,執行如下刪除和創建腳本:
> use local > db.oplog.rs.drop() > db.createCollection("oplog.rs", {"capped" : true, "size" : 23 * 1024 * 1024 * 1024}) 或 > db.runCommand( { create: "oplog.rs", capped: true, size: (23 * 1024 * 1024 * 1024) } )
此oplog是mongodump時導出的oplog.bson。
mongorestore -d local -c oplog.rs /nfspool/mongodata/oplog.bson
新實例配置和源副本集添加相同的--replSet和--keyFile參數,以副本集啟動
>rs.add(“192.168.11.2:27017”) {“ok”:1}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。