环境:
硬盘:vdb(10G)
规划:/dev/vdb: 10.7 GB,划分为两个分区,一个作为源分区做成lvm,一个作为备份数据保存点
一、环境准备
1、分区
2、安装lvm2
yum -y install lvm2
二、创建快照
1、创建lvm
pvcreate /dev/vdb1
vgcreate vgtest /dev/vdb1 (创建vgtest卷组,并把分区划入vgtest卷组)
lvcreate -L 2.9G -n srcdata vgtest (使用2.9G的原因是3G提示报错:Volume group "vgtest" has insufficient free space (767 extents): 768 required.)
vgextend vgtest /dev/vdb2 把另一个分区也划入vgtest卷组
#分区初始化并挂载到挂载点
mkfs.xfs /dev/vgtest/srcdata
mkdir /data-lvm
mount /dev/vgtest/srcdata /data-lvm/
2、初始化数据
tar -zcvf /data-lvm/lvm-backup.tar.gz /etc/
echo "duanshuaixing@gmail.com,blog:https://blog.csdn.net/weixin_47003048" >> /data-lvm/lvm-snapshot.sh
3、创建快照并查看快照卷, 随着原始卷写入数据,快照卷的使用率也会增加。
lvcreate -L +7G -n snapsrc -s /dev/vgtest/srcdata(-s表示创建快照)
lvdisplay
lsblk
三、快照恢复测试
1、通过merge方式 恢复到快照时状态(执行merge后快照被合并,lvdisplay无法查看到快照信息)
1>创建测试文件
echo "test1 duanshuaixing@gmail.com,blog:https://blog.csdn.net/weixin_47003048" >> /data-lvm/lvm-snapshot-test1.sh
2>卸载原始卷,再使用—merge(合并)恢复
umount /data-lvm
lvconvert --merge /dev/vgtest/snapsrc
3>重新挂载查看问题是否恢复
mount /dev/vgtest/srcdata /data-lvm/
2、通过挂载快照方式拷贝数据恢复
1>创建快照
lvcreate -L +7G -n snapsrc -s /dev/vgtest/srcdata
2>删除已有文件
rm -rf /data-lvm/lvm-snapshot.sh
3>挂载快照
mkdir /data-lvm-snapshot/
mount -o rw,nouuid /dev/vgtest/snapsrc /data-lvm-snapshot/
4>拷贝数据
cp -a /data-lvm-snapshot/lvm-snapshot.sh /data-lvm/
5>备份好之后卸载快照卷,并lvremove 移除快照卷,以节省空间
umount /data-lvm-snapshot
lvremove /dev/vgtest/snapsrc