如何在Ubuntu中使用LVM快照?

Modified on: Thu, 14 Jun 2018 03:57:53 +0800

我使用以下选项安装了Ubuntu:

  • 擦除磁盘并安装Ubuntu
  • 加密新的Ubuntu安装
  • 使用LVM

如何创建LVM快照,以便我能够在必要时还原系统更改?

最佳答案

注意:所有命令都应该从sudo

完成

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

  • 从Live CD启动
  • fdisk -l
  • cryptsetup luksOpen /dev/sda3 crypt1解密您的卷
  • vgscan --mknodes查找所有卷组

    Device       Start       End   Sectors   Size Type
    /dev/sda1     2048   1050623   1048576   512M EFI System
    /dev/sda2  1050624   2050047    999424   488M Linux filesystem
    /dev/sda3  2050048 500117503 498067456 237.5G Linux filesystem
    
  • vgchange -ay以激活所有卷组

    Reading all physical volumes. This may take a while...
    Found volume group "ubuntu-vg" using metadata type lvm2
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/root将根卷的大小减小20 Gb。这可能需要一段时间(我花了大约4分钟)
    该空间稍后将用于创建LVM快照。
  • vgs,看你实际上有20G的可用空间

    2 logical volume(s) in volume group "ubuntu-vg" now active
    
  • reboot并删除Live CD

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

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

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    注意:/dev/ubuntu-vg/root是您想拥有快照的逻辑卷
  • lvs以查看是否已创建卷

    VG           #PV   #LV   #SN   Attr     VSize     VFree
    ubuntu-vg     1      2     0   wz--n-   230.44g   20.01g
    


    从您运行lvcreate的那一刻起,快照处于活动状态。您现在可以开始尝试新事物了。

场景#1:您想要还原更改

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    LV     VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    root   ubuntu-vg     owi-aos--- 201.59g                                                    
    snap   ubuntu-vg     swi-a-s---  20.00g      root   0.00                                   
    swap_1 ubuntu-vg     -wi-ao----  15.90g
    
  • reboot

场景#2:您想要保留更改

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

结论

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

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


相关问答

添加新评论