小知识 - 逻辑卷快照即恢复数据

逻辑卷快照及恢复数据

注意:1 快照只有在逻辑卷中的文件修改的时候,才会将原有数据推送到快照中;2 快照只是可实现快速备份数据,但不能代替备份功能

创建逻辑卷快照(ext4 文件系统)

1 创建对应逻辑卷的快照(快照的容量一般可比逻辑卷小)

# -n:快照名称 -s:表示此为lvm 的快照 -L:快照容量 
# ext4文件系统的逻辑卷快照必须是只读模式(-p r),可在该步骤操作。如果忘了,可在挂载时,设置为只读
[root@CentOS8 ~]# lvcreate -n lv0-snapshot -s -L 1G -p r /dev/vg0/lv0
  Logical volume "lv0-snapshot" created.

2 创建完成后,查看逻辑卷和对应的快照信息以及UUID

[root@CentOS8 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                OrX08u-tc1M-UO6F-pbpp-WHxG-f3TL-aIL9St
  LV Write Access        read/write
  LV Creation host, time CentOS8.test.xiaodan, 2020-08-20 10:50:15 +0800
  LV snapshot status     source of
                         lv0-snapshot [active]
  ……省略部分信息……
  --- Logical volume ---
  LV Path                /dev/vg0/lv0-snapshot
  LV Name                lv0-snapshot
  VG Name                vg0
  LV UUID                lyey6s-dHdq-KArs-xd8k-D4qD-vRFg-LVZ3R3
  LV Write Access        read only
  LV Creation host, time CentOS8.test.xiaodan, 2020-08-20 14:39:15 +0800
  LV snapshot status     active destination for lv0
  ………省略部分信息………
  
# 逻辑卷和对应的快照的UUID 相同
[root@CentOS8 ~]# blkid /dev/vg0/lv0*
/dev/vg0/lv0: UUID="3e3f8857-61f8-4889-a48d-26b77b9760a2" TYPE="ext4"
/dev/vg0/lv0-snapshot: UUID="3e3f8857-61f8-4889-a48d-26b77b9760a2" TYPE="ext4"

3 创建挂载点并挂载逻辑卷快照

如果创建快照时,没有设置成只读模式,可在挂载时,设置成只读挂载

[root@CentOS8 ~]# mount /dev/vg0/lv0-snapshot /mnt/lv0_snap/
mount: /mnt/lv0_snap: WARNING: device write-protected, mounted read-only.

#只读模式挂载
[root@CentOS8 ~]# mount -o ro /dev/vg0/lv0-snapshot /mnt/lv0_snap/

#查看挂载点中的内容,发现有数据,这些数据实际不存在的,只是对逻辑卷的映射
[root@CentOS8 ~]# ll /mnt/lv0-snap/
total 16
-rw-r--r-- 1 root root     0 Aug 20 15:15 f1.txt
-rw-r--r-- 1 root root     0 Aug 20 15:15 f2.txt
-rw-r--r-- 1 root root     0 Aug 20 15:15 f3.txt
drwx------ 2 root root 16384 Aug 20 15:13 lost+found

4 修改逻辑卷中的文件,进行验证(快照中数据还在)

[root@CentOS8 ~]# ll /mnt/lv0 /mnt/lv0-snap/
/mnt/lv0:
total 20
-rw-r--r-- 1 root root    24 Aug 20 15:19 f1.txt
-rw-r--r-- 1 root root     0 Aug 20 15:15 f2.txt
drwx------ 2 root root 16384 Aug 20 15:13 lost+found

/mnt/lv0-snap/:
total 16
-rw-r--r-- 1 root root     0 Aug 20 15:15 f1.txt
-rw-r--r-- 1 root root     0 Aug 20 15:15 f2.txt
-rw-r--r-- 1 root root     0 Aug 20 15:15 f3.txt
drwx------ 2 root root 16384 Aug 20 15:13 lost+found

根据快照恢复数据

注意 快照一旦被逻辑卷恢复(合并)后,就会自动销毁

1 取消逻辑卷以及逻辑卷快照的挂载

[root@CentOS8 ~]# umount /mnt/lv0-snap /mnt/lv0

2 将快照中的文件合并到逻辑卷中

[root@CentOS8 ~]# lvconvert --merge /dev/vg0/lv0-snapshot
  Merging of volume vg0/lv0-snapshot started.
  vg0/lv0: Merged: 99.9%
  vg0/lv0: Merged: 100.0%

这里记错过一次,使用的是快照名称,报错

[root@CentOS8 ~]# lvconvert --merge /dev/vg0/lv0
  vg0/lv0 cannot be merged because --trackchanges was not used.

3 重新挂载逻辑卷

[root@CentOS8 ~]# mount /dev/vg0/lv0 /mnt/lv0

4 查看逻辑卷(快照文件被销毁)

[root@CentOS8 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                2TDcmm-xJdl-InR0-32Bi-j14F-TKoa-6npz8j
  LV Write Access        read/write
  LV Creation host, time CentOS8.test.xiaodan, 2020-08-20 15:11:09 +0800
  LV Status              available
  # open                 0
  LV Size                1.56 GiB
  Current LE             100
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

逻辑卷快照及恢复数据(xfs 文件系统)

操作步骤跟ext 4文件系统类似,两个点不同

1 xfs 文件系统可不用创建只读模式的快照,但ext4 必须创建只读模式快照或在挂载时,设置只读模式

#xfs 文件系统没有该限制
[root@CentOS8 ~]# lvcreate -n lv0-snapshot -s -L 1G /dev/vg0/lv0

2 **由于逻辑卷和快照的UUID相同,但xfs 文件系统挂载时,不允许使用相同的UUID,因此在挂载时,需要忽略UUID **

[root@CentOS8 ~]# mount -o nouuid /dev/vg0/lv1-snapshot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值