如何在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快照备份。 通过将快照转换回原始卷,可以自动删除快照卷。