LVM邏輯卷快照的新增,刪除邏輯卷!

2020-10-25 07:01:06

邏輯卷快照

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

刪除邏輯卷,卷組成功!