什么是LVM?

LVM(Logical Volume Manager,逻辑卷管理器)是一种用于Linux系统的存储管理技术。它提供了一种灵活的方式来管理磁盘存储,允许管理员动态调整存储卷的大小和配置,而无需中断系统运行。LVM的主要功能和优势包括:

  1. 动态调整卷大小 LVM允许在不停止系统的情况下动态调整逻辑卷的大小。这对于需要频繁调整存储空间的环境非常有用。

  2. 创建快照 LVM支持创建卷的快照(snapshot),这对于备份和恢复操作非常有用。快照可以在某一时刻捕获卷的状态,允许在不影响正常操作的情况下进行备份。

  3. 聚合存储设备 LVM可以将多个物理存储设备(如硬盘或分区)聚合成一个或多个逻辑卷组(Volume Group,VG),然后在这些卷组上创建逻辑卷(Logical Volume,LV)。这使得存储管理更加灵活和高效。

  4. 提高存储利用率 通过将多个物理存储设备合并为一个逻辑卷组,LVM可以更有效地利用存储空间,减少碎片化问题。

  5. 简化存储管理 LVM提供了一套命令行工具,使得存储管理任务(如创建、删除、调整卷大小等)更加简单和直观。

LVM的基本概念

  1. 物理卷(Physical Volume,PV):LVM管理的基本存储单元,可以是整个硬盘、硬盘分区或RAID设备。

  2. 卷组(Volume Group,VG):由一个或多个物理卷组成的存储池。逻辑卷从卷组中分配空间。

  3. 逻辑卷(Logical Volume,LV):从卷组中分配的存储单元,类似于传统分区,可以格式化并挂载到文件系统。

  4. 物理扩展(Physical Extent,PE):卷组中的最小分配单元,所有的物理卷都被划分为大小相等的PE。

创建系统快照

  1. 检查现有的卷组和逻辑卷

    sudo vgdisplay
    sudo lvdisplay
    
  2. 创建逻辑卷快照

    sudo lvcreate --size 4G --snapshot --name root_snap /dev/vg0/root
    

    --size 1G指定了快照的大小,--snapshot表示创建快照,--name root_snap是快照的名称,/dev/vg0/root是要快照的逻辑卷, 一般是快照整个系统/对应的逻辑卷是/dev/??/root

查看逻辑卷列表

sudo lvs

检查快照内容(可选)

如果你需要访问快照中的数据,可以将其挂载到文件系统中。例如,将快照挂载到/mnt/snapshot:

mkdir /mnt/snapshot
mount /dev/vg0/root_snap /mnt/snapshot

现在你可以在/mnt/snapshot目录中访问快照中的数据。你可以进行备份或其他操作。

完成操作后, 卸载快照:

sudo umount /mnt/snapshot

释放快照

当你不再需要快照时,可以删除它以释放空间:

sudo lvremove /dev/vg0/root_snap

恢复快照

1. 确认快照存在

首先,确认你已经创建了快照,并且快照存在。

sudo lvs

你应该能看到类似如下的输出,其中包含你的快照:

  LV         VG     Attr       LSize   Pool Origin Data%  Meta%
  root       vg0    -wi-ao---- 50.00g
  root_snap  vg0    swi-a-s--- 50.00g        root  0.00

2. 挂载快照(可选)

如果你想确认快照的内容,可以先挂载快照。

sudo mkdir /mnt/snapshot
sudo mount /dev/vg0/root_snap /mnt/snapshot

检查快照内容:

ls /mnt/snapshot

3. 进入单用户模式或救援模式

由于你要恢复的是root文件系统,最好在单用户模式或救援模式下进行操作,以避免文件系统正在被使用。

进入单用户模式

  1. 重启系统。

  2. 在GRUB菜单中选择你的内核版本,然后按 e 键编辑启动项。

  3. 找到以 linux 开头的行,在行末添加 single 或 1。

  4. 按 Ctrl + X 或 F10 启动。

进入救援模式

  1. 重启系统。

  2. 在GRUB菜单中选择高级模式Advanced options for debian

  3. 选择恢复模式Recovery mod

4. 恢复快照

使用lvconvert命令来恢复快照。

sudo lvconvert --merge /dev/vg0/root_snap

输出以下内容表示系统逻辑卷/被占用, 重启后会自动开始恢复快照

delaying merge since origin is open.
merging of snapshot vg0/root_snap will occur on next activetion of vg0/root

6. 重启系统

重启系统, 恢复操作开始。

sudo reboot

后记

重启后快照开始恢复, 这时旧快照被删除, 使用其他方法判断是否合并完成, 等恢复完成后再重启一次, 要不然此时无法创建新的快照.