如何在Ubuntu中使用LVM快照?


Answers:


22

注意:所有命令都应从 sudo

首先,减小根卷的大小,以便为快照卷腾出空间

  • 从Live CD引导
  • fdisk -l 查看设备名称。
    设备起始端扇区大小类型
    / dev / sda1 2048 1050623 1048576 512M EFI系统
    / dev / sda2 1050624 2050047 999424 488M Linux文件系统
    / dev / sda3 2050048 500117503 498067456 237.5G Linux文件系统
    
    /dev/sda3 就我而言
  • cryptsetup luksOpen /dev/sda3 crypt1 解密你的音量
  • vgscan --mknodes 查找所有卷组
    读取所有物理卷。可能还要等一下...
    使用元数据类型lvm2找到了卷组“ ubuntu-vg”
    
  • vgchange -ay 激活您的所有音量组
    卷组“ ubuntu-vg”中的2个逻辑卷现在处于活动状态
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/root将根卷的大小减少20 Gb。这可能需要一段时间(对我来说大约需要4分钟)。
    该空间稍后将用于创建LVM快照。
  • vgs 看到您实际上有20G的可用空间
    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 2 0 wz--n- 230.44g 20.01g
    
  • reboot 并删除Live CD

创建快照(即激活“实验”模式)

现在,只要您想对系统做一些有风险的事情,请运行以下命令

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    注意:/dev/ubuntu-vg/root是您要快照的逻辑卷
  • lvs 看到已经创建了该卷
    LV VG Attr LSize池原始数据%Meta%移动日志Cpy%Sync转换
    根ubuntu-vg owi-aos --- 201.59g                                                    
    snap ubuntu-vg swi-as --- 20.00g根0.00                                   
    swap_1 ubuntu-vg -wi-ao ---- 15.90克
    
    从运行的那一刻起,快照即处于活动状态lvcreate。您现在可以开始尝试新事物了。

方案1:您要还原更改

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    逻辑卷ubuntu-vg / root包含正在使用的文件系统。
    无法合并开放原始卷。
    快照ubuntu-vg / snap的合并将在下次激活ubuntu-vg / root时发生。
    
  • reboot

方案2:您要保留更改

  • lvremove /dev/mapper/ubuntu--vg-snap

结论

基本上,您必须运行lvcreate以启动该过程,然后运行lvconvert --mergelvremove结束它。

请记住,当快照处于活动状态时,由于写入时复制策略,所有更改都保存到20Gb的空间(或您设置的任何值)中。检查剩余容量的一种方法是查看lvs命令的Data%列。


很好听:)感谢@ cl-netbox
Aleksandr Gornostal

lvreduce在容器上运行文件系统之前,不需要收缩文件系统吗?
标记

@Mark -r标志做到了
Aleksandr Gornostal

lvconvert --merge挂载文件系统时运行安全吗?还是需要通过LiveCD来运行?
CharlesB

1
@CharlesB是的,应该在安装后运行它
Aleksandr Gornostal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.