5.2 逻辑卷管理

系列 - 配置与管理磁盘

本实验手册介绍了在Linux系统中使用逻辑卷管理(LVM)的步骤,包括创建物理卷(PV)、卷组(VG)和逻辑卷(LV),以及文件系统的创建、挂载、扩容、缩小和删除操作。通过一系列命令和验证步骤,展示了如何管理和调整逻辑卷的大小,确保数据完整性和系统灵活性。

给 VMWare 中的虚拟机增加5块硬盘,大小都为20GB(默认值),如下图所示:

开启虚拟机,执行以下命令:

bash

ls /dev/sd?

看到以下结果,已经新添加了5块硬盘:

使用 sdb、sdc 建立两个 PV

bash

pvcreate /dev/sdb /dev/sdc

验证:

思考:pvscan 和 pvdisplay 有什么区别?

将刚才建立的两个 PV 加入到名为 storage 的卷组中:

bash

vgcreate storage /dev/sdb /dev/sdc

注意:/dev/sdb/dev/sdc 是物理卷(PV)的名字,不是设备名

验证:

bash

vgscan
vgdisplay

再次查看物理卷信息:

bash

pvdisplay

用卷组 storage 中的空闲资源,建立一个容量为 150MB 的逻辑卷(LV)

bash

lvcreate -n lv-1 -L 150M storage
  • -n 逻辑卷名称
  • -L 容量
  • 最后的storgae是卷组名称

生成好的逻辑卷位置:/dev/storage/lv-1 格式:/dev/卷组名/逻辑卷名

验证:

bash

lvscan
lvdisplay

给 lv-1 安装 ext4 文件系统

bash

mkfs -t ext4 /dev/storage/lv-1

bash

mkdir /mnt/dazhuang
mount -t ext4 /dev/storage/lv-1 /mnt/dazhuang

查看挂载状态:

bash

df -hT

往挂载点中写入一些文件:

bash

cd /mnt/dazhuang
wget https://file.hisland.work/f/4d8bd26dbfb742f5ad4a/?dl=1

将下载的文件重命名为 Linux.pdf

查看文件的 md5

先将逻辑卷卸载

bash

umount /dev/storage/lv-1

如果卷组中的空闲资源够用,可以不增加PV

bash

pvcreate /dev/sdd
pvscan

将新建的 PV 添加到 VG 中:

bash

vgextend storage /dev/sdd

把上个任务中 150M 逻辑卷增加到 300M

bash

lvextend -L 300M /dev/storage/lv-1

验证:

bash

lvscan

先检查硬盘完整性:

bash

e2fsck -f /dev/storage/lv-1

重置容量:

必需通过完整性检查才可以重置容量。

bash

resize2fs /dev/storage/lv-1

再次将逻辑卷进行挂载:

bash

mount -t ext4 /dev/storage/lv-1 /mnt/dazhuang

先将逻辑卷卸载

bash

umount /dev/storage/lv-1

在缩小逻辑卷之前,需要先检查文件系统的完整性,以避免造成数据丢失:

bash

e2fsck -f /dev/storage/lv-1

bash

# 缩减文件系统(300层的图书馆减小到120层)
resize2fs /dev/storage/lv-1 120M
# 缩减逻辑卷(拆掉120层以上的楼层)
lvreduce -L 120M /dev/storage/lv-1

bash

lvdisplay

重新挂载,检查文件:

bash

mount -t ext4 /dev/storage/lv-1 /mnt/dazhuang/

检查文件 md5

删除前应该备份好数据!

bash

umount /mnt/dazhuang

删除逻辑卷

bash

lvremove /dev/storage/lv-1

中间需要输入 y 进行确认:

删除卷组

bash

vgremove /dev/storage
# 也可以直接写 vgremove storage

删除物理卷

bash

pvremove /dev/sdb /dev/sdc /dev/sdd

验证: