LVM逻辑卷管理器配置使用详解(4)

关于LVM的快照功能 
LVM快照是一种以空间换时间时间的方式制作的lvm卷副本。它只在lvm中工作,并只在源逻辑卷发生改变时占用快照卷的空间。如果源卷的变化达到1GB这么大,快照卷同样也会产生这样大的改变。因而,对于空间有效利用的最佳途径,就是总是进行小的修改。如果快照将存储空间消耗殆尽,我们可以使用lvextend来扩容。而如果我们需要缩减快照所占用卷的大小,可以使用lvreduce。实验如下:

目标逻辑卷信息如下:

$ pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb   vg0  lvm2 a--  7.00g    0 

  /dev/sdd1  vg0  lvm2 a--  7.00g 1.99g

$ vgs

  VG   #PV #LV #SN Attr   VSize  VFree

  vg0    2   1   0 wz--n- 13.99g 1.99g

$ lvs

  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv0  vg0  -wi-ao---- 12.00g

现在对逻辑卷lv0创建快照,命名为snaplv0

$ lvcreate -s -n snaplv0 -p r -L 1G /dev/vg0/lv0

  Logical volume "snaplv0" created.

$ vgs

  VG   #PV #LV #SN Attr   VSize  VFree   

  vg0    2   2   1 wz--n- 13.99g 1016.00m

$ lvs

  LV      VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv0     vg0  owi-aos--- 12.00g                                                   

  snaplv0 vg0  sri-a-s---  1.00g      lv0    0.00

这里/dev/vg0/lv0的挂载点为/mnt。往/mnt里面写入300MB的随机文件,再观察快照情况,可以看    到,快照对应的Data一项有所增长:

$ dd if=/dev/urandom of=/mnt/2.txt bs=1M count=300

300+0 records in

300+0 records out

314572800 bytes (315 MB) copied, 27.5877 s, 11.4 MB/s

$ ls

1.txt  2.txt  data

$ lvs

  LV      VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv0     vg0  owi-aos--- 12.00g                                                   

  snaplv0 vg0  sri-a-s---  1.00g      lv0    29.42

 

用snaplv0对逻辑卷进行恢复,注意恢复之前需要先将对应的逻辑卷卸载。恢复之后可以看到,原有的snaplv0消失,因此可以得出结论,LVM的快照是一次性的

$ umount /mnt

$ lvconvert --merge /dev/vg0/snaplv0 

  Merging of volume snaplv0 started.

  lv0: Merged: 71.0%

  lv0: Merged: 91.9%

  lv0: Merged: 100.0%

$ ls /dev/vg0

lv0

$ mount /dev/vg0/lv0 /mnt

$ ls /mnt

1.txt  data

如果想要删除LVM快照,用lvremove命令,后面跟上快照设备文件的绝对路径即可,例如:

$ lvremove /dev/vg0/snaplv0

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13893.html