如何在Linux上備份LVM快照
使用LVM快照備份,我們可以凍結LVM卷的當前狀態。 我們將創建LVM備份的快照以保存卷的當前狀態,如果在活動期間出現任何需要,我們可以返回該狀態。 該過程包括兩部分:文件系統元數據和包含文件中數據的實際塊。
創建LVM快照時,文件系統元數據備份卷將複製到剛創建的卷快照。 文件塊保留在原始卷上,但是,只要快照元數據中沒有任何變化,原始大小塊中的所有指針都將保持正確。 在原始卷上修改文件後,原始塊將被複制到該卷的快照,然後在文件系統中進行修改。
情境:用於演示 備份LVM快照,我們在卷組“ myvg”中創建了一個邏輯卷“ etc_dup”,並將其掛載在掛載點“ / etc_dup”上,在此處使用以下命令複製了文件“ / etc”的映像。
cp /etc/* /etc_dup/
[[email protected] ~]# df -h /etc_dup Filesystem Size Used Avail Use% Mounted on /dev/mapper/myvg-etc_dup 504M 18M 461M 4% /etc_dup [[email protected] ~]# ll /etc_dup total 1428 -rw-r--r--. 1 root root 49 Mar 4 12:11 adjtime -rw-r--r--. 1 root root 1512 Mar 4 12:11 aliases -rw-r--r--. 1 root root 12288 Mar 4 12:11 aliases.db -rw-r--r--. 1 root root 541 Mar 4 12:11 anacrontab -rw-r--r--. 1 root root 148 Mar 4 12:11 asound.conf -rw-r--r--. 1 root root 1 Mar 4 12:11 at.deny -rw-------. 1 root root 232 Mar 4 12:11 autofs_ldap_auth.conf -rw-r--r--. 1 root root 658 Mar 4 12:11 auto.master -rw-r--r--. 1 root root 524 Mar 4 12:11 auto.misc -rwxr-xr-x. 1 root root 1237 Mar 4 12:11 auto.net -rwxr-xr-x. 1 root root 687 Mar 4 12:11 auto.smb ------ OUTPUT TRUNCATED-------------------
因此,讓我們從LVM快照備份操作開始:
步驟1:使用vgs命令檢查系統上整個卷組的概述。 對於我們的演示,50mb空間綽綽有餘。
[[email protected] ~]# vgs VG #PV #LV #SN Attr VSize VFree myvg 2 1 0 wz--n- 2.99g 1020.00m vg_rhel1 1 2 0 wz--n- 19.51g 0
步驟2:現在,為該卷拍攝50MB的快照,以保存安裝點“ / etc_dup”的快照
[[email protected] ~]# lvcreate -s -L 50M -n etc_snap /dev/myvg/etc_dup Rounding up size to full physical extent 52.00 MiB Logical volume "etc_snap" created [[email protected] ~]#
在上面的命令中:
-s --> creates snapshot logical volume -L --> creates 50 Mb sized LV. /dev/myvg/etc_dup is the logical volume which is mounted on "/etc_dup" for which we are taking LVM snapshot backup.
步驟3:您可以使用以下命令檢查邏輯卷,可以看到以下示例顯示了我們新創建的卷快照。
[[email protected] ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert etc_dup myvg owi-ao 512.00m etc_snap myvg swi-a- 52.00m etc_dup 0.02 lvol0 myvg -wi-a- 1.99g lv_root vg_rhel1 -wi-ao 15.57g lv_swap vg_rhel1 -wi-ao 3.94g
步驟4:創建目錄“ / etc_dup_snap”以安裝快照卷並在其上方設置快照卷。 現在,如果轉到/ etc_dup_snap的位置,則可以看到與/ etc_dup的掛載點相同的內容。
[[email protected] ~]# mkdir /etc_dup_snap [[email protected] ~]# mount /dev/myvg/etc_snap /etc_dup_snap [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rhel1-lv_root 16G 4.9G 9.7G 34% / tmpfs 1002M 4.1M 998M 1% /dev/shm /dev/sda1 485M 32M 428M 7% /boot /dev/mapper/myvg-etc_dup 504M 18M 461M 4% /etc_dup /dev/mapper/myvg-etc_snap 504M 18M 461M 4% /etc_dup_snap [[email protected] ~]# cd /etc_dup_snap [[email protected] etc_dup_snap]# ll total 1428 -rw-r--r--. 1 root root 49 Mar 4 12:11 adjtime -rw-r--r--. 1 root root 1512 Mar 4 12:11 aliases -rw-r--r--. 1 root root 12288 Mar 4 12:11 aliases.db -rw-r--r--. 1 root root 541 Mar 4 12:11 anacrontab -rw-r--r--. 1 root root 148 Mar 4 12:11 asound.conf -rw-r--r--. 1 root root 1 Mar 4 12:11 at.deny -rw-------. 1 root root 232 Mar 4 12:11 autofs_ldap_auth.conf -rw-r--r--. 1 root root 658 Mar 4 12:11 auto.master -rw-r--r--. 1 root root 524 Mar 4 12:11 auto.misc ---- OUTPUT TRUNCATED--------
步驟5:現在轉到“ / etc_dup”目錄,並使用rm -f *命令刪除其中的所有文件,不必擔心我們的所有數據在“ / etc_dup_snap”安裝點的快照中仍將保持不變。
[[email protected] /]# cd /etc_dup [[email protected] etc_dup]# rm -f * rm: cannot remove `lost+found': Is a directory [[email protected] etc_dup]# ll total 16 drwx------. 2 root root 16384 Mar 4 12:12 lost+found [[email protected] etc_dup]#
現在,按照以下步驟將快照組合回原始卷,這將帶回所有數據。
步驟6:使用以下命令合併卷快照。
[[email protected] ~]# lvconvert --merge /dev/myvg/etc_snap Can't merge over open origin volume Can't merge when snapshot is open Merging of snapshot etc_snap will start next activation.
您可以放心地忽略上面輸出中的錯誤消息。
步驟7:現在卸載/ etc_dup和/ etc_dup_snap。
[[email protected] ~]# umount /etc_dup_snap [[email protected] ~]# umount /etc_dup
步驟8:現在停用並激活原始音量。 必須執行此步驟才能將圖像合併回其原始體積。
[[email protected] ~]# lvchange -a n /dev/myvg/etc_dup [[email protected] ~]# lvchange -a y /dev/myvg/etc_dup
步驟9:設置掛載點“ / etc_dup”,並使用ll命令重新檢查其內容,如下所示:
[[email protected] ~]# mount /dev/myvg/etc_dup /etc_dup [[email protected] ~]# cd /etc_dup [[email protected] etc_dup]# ll total 1428 -rw-r--r--. 1 root root 49 Mar 4 12:11 adjtime -rw-r--r--. 1 root root 1512 Mar 4 12:11 aliases -rw-r--r--. 1 root root 12288 Mar 4 12:11 aliases.db -rw-r--r--. 1 root root 541 Mar 4 12:11 anacrontab -rw-r--r--. 1 root root 148 Mar 4 12:11 asound.conf -rw-r--r--. 1 root root 1 Mar 4 12:11 at.deny -rw-------. 1 root root 232 Mar 4 12:11 autofs_ldap_auth.conf -rw-r--r--. 1 root root 658 Mar 4 12:11 auto.master -rw-r--r--. 1 root root 524 Mar 4 12:11 auto.misc -rwxr-xr-x. 1 root root 1237 Mar 4 12:11 auto.net -rwxr-xr-x. 1 root root 687 Mar 4 12:11 auto.smb ---- OUTPUT TRUNCATED--------
您可以在上面的輸出中看到所有原始內容都已準備就緒,這意味着我們已經成功執行了LVM快照操作。
注意: 您不需要刪除LVM快照備份。 通過將快照轉換回原始卷,可以自動刪除快照卷。