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.www58058.com/47594