mongodb快照备份恢复
1. 这边采用的是COW快照备份,备份后快照可以直接直接删除,ROW勿删
2. 步骤
1. lsblk查看逻辑卷
2. 创建磁盘快照
lvcreate -s -n 'mongodb_snap' -L "xxG" "逻辑卷"
-s --snapshot
-n 快照名
-L 快照与源数据之间的数据差异量大小
3. 快照存档
官网做法:
dd if=/dev/vg0/mdb-snap01 | gzip > mdb-snap01.gz
个人做法:
mkdir /tmp/mdb-snap01
mount -t ext4 /dev/vg0/mdb-snap01 /tmp/mdb-snap01
tar -czf /tmp/mdb-snap01.tgz /tmp/mdb-snap01
4. 删除快照
umount /tmp/mdb-snap01
lvremove /dev/vg0/mdb-snap01
5. 恢复
lvcreate --size 1G --name mdb-new vg0
gzip -d -c mdb-snap01.gz | dd of=/dev/vg0/mdb-new
mount /dev/vg0/mdb-new /srv/mongodb
也可以在上面tar文件备份的基础上,直接将原来tar压缩文件解压恢复,当secondary数据需要初始化时,也可以直接将文件scp过去恢复,避免3.2版本之前,因初始化同步时间过长,而错过oplog的窗口时 间