如何在 Ubuntu 中使用 LVM 快照?

如何在 Ubuntu 中使用 LVM 快照?

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

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

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

答案1

注意:所有命令都应该从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 属性 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 属性 LSize 池原点数据% Meta% 移动日志 Cpy% 同步转换
    root ubuntu-vg owi-aos--- 201.59g                                                    
    snap ubuntu-vg swi-as--- 20.00g root 0.00                                   
    swap_1 ubuntu-vg-wi-ao---- 15.90g
    
    快照从您运行的那一刻起就处于活动状态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% 列。

相关内容