当前位置: 首页>>技术教程>>正文


如何在 Ubuntu 中使用 LVM 快照?

问题描述

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

  • 擦除磁盘并安装 Ubuntu

  • 加密新的 Ubuntu 安装

  • 使用LVM

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

最佳办法

注意:所有命令都应从 sudo 执行

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

  • 从 Live CD 启动

  • fdisk -l 查看您的设备名称。 \n\n\n设备起始结束扇区大小类型\n/dev/sda1 2048 1050623 1048576 512M EFI 系统\n/dev/sda2 1050624 2050047 999424 488M Linux 文件系统\n/dev/sda3 2050048 500117503 4980674 56 237.5G Linux 文件系统\n \n /dev/sda3 在我的例子中

  • cryptsetup luksOpen /dev/sda3 crypt1 解密您的卷

  • vgscan --mknodes 查找所有卷组\n\n\n读取所有物理卷。这可能需要一段时间…\n使用元数据类型 lvm2 找到卷组 “ubuntu-vg”\n

  • vgchange -ay 激活所有卷组\n\n\n卷组 “ubuntu-vg” 中的 2 个逻辑卷现在处于活动状态\n

  • lvreduce -r -L -20G /dev/ubuntu-vg/root 将根卷的大小减少 20 Gb。这可能需要一段时间(我花了大约 4 分钟)。\n该空间稍后将用于创建 LVM 快照。

  • vgs 看看你实际上有 20G 的可用空间\n\n\nVG #PV #LV #SN Attr VSize VFree\nubuntu-vg 1 2 0 wz–n- 230.44g 20.01g\n

  • reboot 并删除 Live CD

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

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

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root \n注意:/dev/ubuntu-vg/root 是您想要为其创建快照的逻辑卷

  • lvs 查看卷已创建\n\n\nLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert\nroot ubuntu-vg owi-aos— 201.59g \nsnap ubuntu-vg swi-a-s— 20.00g root 0.00 \nswap_1 ubuntu-vg -wi-ao—- 15.90g\n\n\n快照从运行 lvcreate 的那一刻起就处于活动状态。您现在可以开始尝试新事物。

场景#1:您想要恢复更改

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

  • reboot

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

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

综上所述

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14251.html,未经允许,请勿转载。