LVM 逻辑卷管理器-快照区复原系统
复原的数据量不能够高于快照区所能负载的实际容量。由于原始数据会被搬移到快照区,如果你的快照区不够大,原始资料变动的实际数据量比快照大,那么快照区就容纳不了,这时快照就会失效。
(1)将原本的/dev/vg_1/lv_1内容做些改动,增减一些目录。
[root@centos6 ~]# df -h /mnt/lvm/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_1-lv_1 15G 351M 14G 3% /mnt/lvm [root@centos6 ~]# ll /mnt/lvm/ total 36 dr-xr-xr-x. 5 root root 4096 Sep 8 2015 boot dr-xr-xr-x. 10 root root 4096 Sep 8 2015 lib drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin [root@centos6 ~]# rm -r /mnt/lvm/boot [root@centos6 ~]# cp -a /etc/fstab /mnt/lvm/ [root@centos6 ~]# ll /mnt/lvm/ total 36 -rw-r--r--. 1 root root 805 Sep 8 2015 fstab dr-xr-xr-x. 10 root root 4096 Sep 8 2015 lib drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin [root@centos6 ~]# lvdisplay /dev/vg_1/snaps --- Logical volume --- LV Path /dev/vg_1/snaps LV Name snaps VG Name vg_1 LV UUID cCr9ap-TPbg-hLgy-JqXV-Ev9d-H4VK-042QOo LV Write Access read/write LV Creation host, time centos6.5, 2016-09-10 03:41:00 +0800 LV snapshot status active destination for lv_1 LV Status available # open 0 LV Size 15.00 GiB Current LE 960 COW-table size 1.56 GiB COW-table LE 100 Allocated to snapshot 0.02% #快照区已经被使用了0.02%,因为原始的文件系统异动过; Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1
(2)利用快照区将原本的文件系统备份
[root@centos6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 16G 1.5G 14G 11% / tmpfs 112M 0 112M 0% /dev/shm /dev/sda1 194M 29M 155M 16% /boot /dev/mapper/vg_1-lv_1 15G 328M 14G 3% /mnt/lvm /dev/mapper/vg_1-snaps 15G 351M 14G 3% /mnt/snapshot #两者确定不一样了,开始将快照区内容复制出来; [root@centos6 snapshot]# mkdir -p /backups [root@centos6 snapshot]# cd /mnt/snapshot/ [root@centos6 snapshot]# tar -jcvf /backups/lvm.tar.gz * #将文件打包备份 [root@centos6 snapshot]# ll /backups/ total 74028 -rw-r--r--. 1 root root 75792390 Sep 10 03:50 lvm.tar.gz
(3)将snaps卸载并移除,因为里面的内容已经备份起来了
[root@centos6 ~]# umount /mnt/snapshot/ [root@centos6 ~]# lvremove /dev/vg_1/snaps Do you really want to remove active logical volume snaps? [y/n]: y Logical volume "snaps" successfully removed [root@centos6 ~]# umount /mnt/lvm/ [root@centos6 ~]# mkfs -t ext4 /dev/vg_1/lv_1 [root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm/ [root@centos6 ~]# tar -jxf /backups/lvm.tar.gz -C /mnt/lvm [root@centos6 ~]# ll /mnt/lvm/ total 36 dr-xr-xr-x. 5 root root 4096 Sep 8 2015 boot dr-xr-xr-x. 10 root root 4096 Sep 8 2015 lib drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin #成功还原,与最初的内容相同。
6.1、利用快照区进行各项练习与测试的任务,再以原系统还原快照
将原本的/dev/vg_1/lv_1当作备份数据,然后将/dev/vg_1/snaps当作实际运行中的数据 ,任何测试的操作都在snaps这个快照区中进行,当测试完毕后要将测试的数据删除时,只要将快照区删除即可。复制一个/dev/vg_1/lv_1系统,再制作另外一个快照区即可。
(1)新建一个大一些的快照区,将/dev/sdb5的PE全部给快照区;
[root@centos6 ~]# vgdisplay --- Volume group --- VG Name vg_1 System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 40 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 4 Act PV 4 VG Size 20.00 GiB PE Size 16.00 MiB Total PE 1280 Alloc PE / Size 960 / 15.00 GiB Free PE / Size 320 / 5.00 GiB #查看还剩余320个PE VG UUID NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS [root@centos6 ~]# lvcreate -s -l 320 -n snaps /dev/vg_1/lv_1 #创建快照 Logical volume "snaps" created [root@centos6 ~]# lvdisplay /dev/vg_1/snaps --- Logical volume --- LV Path /dev/vg_1/snaps LV Name snaps VG Name vg_1 LV UUID w6hXrI-qnwQ-DOKc-vTCr-kbXG-p1ni-HQt2MH LV Write Access read/write LV Creation host, time centos6.5, 2016-09-10 06:31:51 +0800 LV snapshot status active destination for lv_1 LV Status available # open 0 LV Size 15.00 GiB Current LE 960 COW-table size 5.00 GiB COW-table LE 320 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1
(2)隐藏/dev/vg_1/lv_1,挂载/dev/vg_1/snaps
[root@centos6 ~]# umount /mnt/lvm/ [root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/ [root@centos6 ~]# df -h /mnt/snapshot/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_1-snaps 15G 351M 14G 3% /mnt/snapshot
(3)在/dev/vg_1/snaps挂载的目录/mnt/snapshot中开始增加或删除文件
[root@centos6 ~]# ll /mnt/snapshot/ total 36 dr-xr-xr-x. 5 root root 4096 Sep 8 2015 boot dr-xr-xr-x. 10 root root 4096 Sep 8 2015 lib drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin [root@centos6 ~]# rm -rf /mnt/snapshot/boot /mnt/snapshot/lib [root@centos6 ~]# cp -a /etc /mnt/snapshot/ [root@centos6 ~]# ll /mnt/snapshot/ total 32 drwxr-xr-x. 79 root root 4096 Sep 10 06:32 etc drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin #与原本数据有差异了 [root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm #挂载/dev/vg_1/lv_1 [root@centos6 ~]# ll /mnt/lvm/ total 36 dr-xr-xr-x. 5 root root 4096 Sep 8 2015 boot dr-xr-xr-x. 10 root root 4096 Sep 8 2015 lib drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin #无论在快照区怎么增加或删除数据,原本的数据完好如初
(4)还原原本数据,回到原文件系统相同的信息
[root@centos6 ~]# umount /mnt/snapshot/ #卸载/dev/vg_1/snaps快照区 [root@centos6 ~]# lvremove /dev/vg_1/snaps #移除/dev/vg_1/snaps快照区 Do you really want to remove active logical volume snaps? [y/n]: y Logical volume "snaps" successfully removed [root@centos6 ~]# lvcreate -s -l 320 -n snaps /dev/vg_1/lv_1 #创建新的快照区 Logical volume "snaps" created [root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/ #挂载快照区 [root@centos6 ~]# ll /mnt/snapshot/ total 36 dr-xr-xr-x. 5 root root 4096 Sep 8 2015 boot dr-xr-xr-x. 10 root root 4096 Sep 8 2015 lib drwx------. 2 root root 16384 Sep 9 19:05 lost+found dr-xr-xr-x. 2 root root 12288 Sep 9 04:35 sbin #快照区的数据就这样还原了 #上面的步骤有些繁琐,快照区的文件损毁了,直接删除再新建一个就可以了。
7、LVM命令汇总与LVM的关闭
7.1 LVM命令汇总
任务 | PV阶段 | VG阶段 | LV阶段 |
查找(ssan) | pvscan | vgscan | lvscan |
新建(create) | pvcreate | vgcreate | lvcreate |
显示(display) | pvdisplay | vgdisplay | lvdispaly |
增加(extend) | vgextend | lvextend(lvresize) | |
减少(reduce) | vgreduce | lvreduce(lvresize) | |
删除(remove) | pvremove | vgremove | lvremove |
改变容量(resize) | lvresize | ||
改变属性(attribute) | pvchange | vgchange | lvchange |
7.2 LVM的关闭
(1)关闭LVM的步骤:
-
卸载系统上面的LVM文件系统(包括快照与所有的LV);
-
使用lvremove删除LV;
-
使用vgchage -an VGNAME 让VGNAME这个VG不具有Active的标志;
-
使用vgremove删除VG;
-
使用pvremove删除PV;
-
最后,使用fdisk将分区systemID修改回来。
(2)操作步骤:
[root@centos6 ~]# umount /mnt/lvm/ [root@centos6 ~]# umount /mnt/snapshot/ [root@centos6 ~]# lvremove /dev/vg_1/snaps Do you really want to remove active logical volume snaps? [y/n]: y Logical volume "snaps" successfully removed [root@centos6 ~]# lvremove /dev/vg_1/lv_1 Do you really want to remove active logical volume lv_1? [y/n]: y Logical volume "lv_1" successfully removed [root@centos6 ~]# vgchange -a n vg_1 0 logical volume(s) in volume group "vg_1" now active [root@centos6 ~]# vgremove vg_1 Volume group "vg_1" successfully removed [root@centos6 ~]# pvremove /dev/sdb{1,2,3,5} Labels on physical volume "/dev/sdb1" successfully wiped Labels on physical volume "/dev/sdb2" successfully wiped Labels on physical volume "/dev/sdb3" successfully wiped Labels on physical volume "/dev/sdb5" successfully wiped [root@centos6 ~]# pvscan No matching physical volumes found [root@centos6 ~]# fdisk /dev/sdb #将磁盘的ID改为83就好,操作过程省略。
原创文章,作者:zhuckee,如若转载,请注明出处:http://www.178linux.com/47594