逻辑卷快照
LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:
快照卷的容量必须等同于逻辑卷的容量;
快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
往逻辑卷设备新建一个文件。然后为逻辑卷创建快照卷。再在逻辑卷目录生成一个垃圾文件。后先卸载逻辑卷与挂载点关联,再尝试快照还原操作(lvconvert --merge),再重新挂载,查看逻辑卷目录是否回到创建快照前的状态。
echo "Welcome to Linuxprobe.com" > /linuxprobe/readme.txt #往逻辑卷设备写入一个文件
ls -l /linuxprobe #查看逻辑卷目录的内容
lvcreate -L 120M -s -n SSS /dev/storage/vo #为逻辑卷vo生成一个快照卷,命名为SSS,指定切割大小为120M,
lvdisplay #查看逻辑卷详细信息,可以看到SSS是vo的快照卷(snapshot)
dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M #在逻辑卷vo的目录下创建一个100M的文件
lvdisplay #查看逻辑卷详细信息,可以发现vo的空间占用量上升
umount /linuxprobe #卸载逻辑卷与挂载点关联
lvconvert --merge /dev/storage/SSS #对逻辑卷vo进行快照还原操作 mount -a #重新挂载
ls /linuxprobe/ #查看逻辑卷目录,可以发现创建快照后再创建的100M文件不见了,逻辑卷恢复成设置快照前的状态
实验操作!
先创建一个文件使他有内容,查询内容并加入快照并使用lvdistory命令查询
[root@lizhiqiang /]# echo "dasdsad" > /zhuxx/zx
[root@lizhiqiang /]# cd /zhuxx
[root@lizhiqiang zhuxx]# cat zx
dasdsad
[root@lizhiqiang zhuxx]# lvcreate -L 200M -s -n SSS /dev/zhuxing/zhu
Logical volume "SSS" created
[root@lizhiqiang zhuxx]# lvdisplay
--- Logical volume ---
在使用dd命令模拟内存,使他占有46%的空间,再使用lvconvert 命令使快照还原,并查询之前创造的文件,试验成功!
快照只能使用一次!
lvcreate -L 150 -s -n zhuxi /dev/zhuxing/zhu
恢复快照 lvconvert --merge /dev/zhuxing/zhuxi
[root@lizhiqiang zhuxx]# dd if=/dev/zero of=/zhuxx/dd count=1 bs=100M
1+0 records in
1+0 records out
104857600 bytes (105 MB) copied, 2.73658 s, 38.3 MB/s
[root@lizhiqiang zhuxx]# lvdisplay
--- Logical volume ---
LV Path /dev/zhuxing/zhu
LV Name zhu
VG Name zhuxing
LV UUID xY84bO-xpFi-9zhw-8iDK-Yjbm-7fer-L8Bete
LV Write Access read/write
LV Creation host, time lizhiqiang, 2020-10-21 07:14:35 -0400
LV snapshot status source of
SSS [active]
LV Status available
# open 1
LV Size 200.00 MiB
Current LE 50
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/zhuxing/SSS
LV Name SSS
VG Name zhuxing
LV UUID Mu5O01-RYev-TX61-ceUW-30f5-Eezh-NEj9fC
LV Write Access read/write
LV Creation host, time lizhiqiang, 2020-10-22 07:04:56 -0400
LV snapshot status active destination for zhu
LV Status available
# open 0
LV Size 200.00 MiB
Current LE 50
COW-table size 200.00 MiB
COW-table LE 50
Allocated to snapshot 46.69%
[root@lizhiqiang zhuxx]# cd /
[root@lizhiqiang /]# umount /zhuxx
[root@lizhiqiang /]# lvconvert --merge /dev/zhuxing/SSS
Merging of volume SSS started.
zhu: Merged: 55.8%
zhu: Merged: 100.0%
Merge of snapshot into logical volume zhu has finished.
Logical volume "SSS" successfully removed
[root@lizhiqiang /]# cd /zhuxx
[root@lizhiqiang zhuxx]# ls
[root@lizhiqiang zhuxx]# cd /
[root@lizhiqiang /]# mount -a
[root@lizhiqiang /]# cd /zhuxx
[root@lizhiqiang zhuxx]# ls
lost+found zx
[root@lizhiqiang zhuxx]# cat zx
dasdsad
删除逻辑卷
当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。
umount /linuxprobe #卸载
vim /etc/fstab
/dev/storage/vo /linuxprobe ext4 defaults 0 0 #删除挂载信息
lvremove /dev/storage/vo #删除逻辑卷,要按y确认
vgremove storage #删除卷组
pvremove /dev/sdb /dev/sdc #删除物理卷
删除逻辑卷
实验操作:
[root@lizhiqiang /]# umount /zhuxx
[root@lizhiqiang /]# lvremove /dev/zhuxing/zhu
Do you really want to remove active logical volume zhu? [y/n]: y
Logical volume "zhu" successfully removed
[root@lizhiqiang /]# vgremove zhuxing
Volume group "zhuxing" successfully removed
[root@lizhiqiang /]# pvremove /dev/sdc /dev/sdd
Labels on physical volume "/dev/sdc" successfully wiped
Labels on physical volume "/dev/sdd" successfully wiped