HostingChat · Linux / 服务器运维
这篇文章整理自一份实际 CentOS 7 操作记录,主要演示如何从磁盘分区开始创建 PV、VG、LV,格式化逻辑卷并写入 /etc/fstab,同时保留原始终端截图。文中的设备名和容量来自原操作环境,实际执行时请以自己的服务器为准。
说明:本文尽量保留原始操作顺序和截图,只对文字、命令说明和排版做整理。截图来自较早的 CentOS 7 环境,因此本文定位为“实机操作记录”,而不是面向所有 Linux 版本的通用模板。
一、LVM 的几个基本概念
LVM(Logical Volume Manager,逻辑卷管理)把物理磁盘或分区抽象成可以灵活分配的存储池。原文重点涉及三个层级:
PV(Physical Volume,物理卷):LVM 最底层的存储对象,可以是硬盘分区、整块硬盘,也可以是 RAID 设备。
VG(Volume Group,卷组):建立在一个或多个 PV 之上,多个物理卷可以加入同一个卷组。
LV(Logical Volume,逻辑卷):从 VG 的可用空间中划分出来,创建文件系统后即可像普通分区一样挂载使用。

图 1:原文保留的 LVM 层级关系图(PV → VG → LV)。
二、本次操作流程
1. 添加或确认新的物理磁盘
2. 创建磁盘分区
3. 创建 PV
4. 创建 VG
5. 创建 LV
6. 格式化 LV(原记录使用 ext4)
7. 挂载到指定目录
8. 把挂载信息写入 /etc/fstab
三、查看磁盘并确认目标设备
原操作记录首先使用 fdisk -l 查看磁盘和已有分区。执行任何分区、格式化或 LVM 命令前,都应先确认目标磁盘设备名。
fdisk -l

图 2:原始 fdisk -l 输出,可看到 /dev/sda 上已有多个分区。
注意:不要直接照抄本文中的 /dev/sda、/dev/sda1、/dev/xvdb。设备名填写错误会导致数据丢失。
四、对硬盘进行分区
原记录通过 fdisk 对目标磁盘进行分区,并把分区类型改为 Linux LVM。完成后写入分区表。
fdisk /dev/目标磁盘
在 fdisk 交互界面中,原记录主要完成新建分区、设置容量、修改分区类型以及写入保存。不同磁盘分区情况不同,不建议机械照抄交互选项。

图 3:原始 fdisk 分区操作截图,其中包含将分区类型调整为 Linux LVM 的步骤。
五、创建 PV
如果系统尚未安装 LVM 工具,原文使用 yum 安装 lvm2:
yum install lvm2 -y
随后对准备好的分区创建 PV。原截图中的示例设备为 /dev/sda1:
pvcreate /dev/sda1
pvs
pvdisplay

图 4:原始 PV 操作记录。截图同时显示 pvs 和 pvdisplay 的结果。
说明:截图里可见 “Can’t open /dev/sda1 exclusively. Mounted filesystem?” 提示,说明该设备在当时环境中可能已被占用。实际操作时如果出现类似提示,应先确认设备是否已挂载或属于现有 VG,不要强制覆盖。
六、创建 VG
原文使用 vg0 作为卷组名称:
vgcreate vg0 /dev/sda1
vgs
vgdisplay

图 5:原始 VG 操作记录,显示 vg0 的容量、PE、已分配与剩余空间。
说明:原截图中出现 “/dev/vg0: already exists in filesystem”,说明该实机环境此前已经存在相关对象,因此本文保留截图作为排障参考,而不把它当作“全新环境必然出现”的正常输出。
七、创建 LV
原操作记录从 vg0 中划分 50G 空间,并将逻辑卷命名为 lv1:
lvcreate -L 50G -n lv1 vg0
其中:-L 50G 表示逻辑卷容量;-n lv1 表示逻辑卷名称;vg0 是目标卷组。创建完成后可查看:
lvs
lvdisplay

图 6:原始 LV 操作记录,可看到 /dev/vg0/lv1 以及 50 GiB 容量。
八、格式化逻辑卷
原文将 lv1 格式化为 ext4:
mkfs.ext4 /dev/vg0/lv1

图 7:原始 mkfs.ext4 格式化输出。
注意:格式化会清除目标逻辑卷中的原有文件系统数据。执行前再次确认设备路径。
九、挂载 LV 并写入 /etc/fstab
格式化完成后,可以创建挂载目录并挂载逻辑卷。下面以 /home 为例,实际目录请按业务需求选择:
mkdir -p /home
mount /dev/vg0/lv1 /home
df -h
如果确认挂载正常,再编辑 /etc/fstab,使系统重启后自动挂载。原文截图中使用了设备路径方式:
/dev/vg0/lv1 /home ext4 defaults 0 0

图 8:原始 /etc/fstab 编辑截图。

图 9:原始 fstab 最终记录,可看到 /dev/vg0/lv1 挂载配置。
说明:生产环境更稳妥的做法通常是先用 blkid 查询 UUID,再在 /etc/fstab 中使用 UUID 挂载,避免设备名变化。但这一点是发布版补充说明,原操作记录采用的是设备路径。
blkid /dev/vg0/lv1
十、普通硬盘的挂载和卸载
原文后半部分还记录了一套非 LVM 磁盘的格式化、挂载和卸载流程。原记录中的设备名为 /dev/xvdb:
fdisk -l
mkfs.ext3 /dev/xvdb
df -h
mount /dev/xvdb /home
并在 /etc/fstab 中加入类似:
/dev/xvdb /home ext3 defaults 0 0

图 10:原始普通磁盘格式化与挂载操作截图,其中也记录了若干报错信息。
说明:原记录中直接对 /dev/xvdb 格式化,而不是 /dev/xvdb1。是否使用整盘或分区取决于你的磁盘布局,请先通过 lsblk/fdisk -l 确认。
卸载挂载点使用 umount。原文示例:
umount /home/ftp2

图 11:原始卸载操作截图,提示 “mountpoint not found”,说明指定目录当时不是有效挂载点。
遇到这种情况,可以先确认当前挂载关系:
findmnt
mount | grep /home
df -h
十一、操作完成后建议检查
| 命令 | 用途 |
| pvs / vgs / lvs | 确认 PV、VG、LV 状态是否符合预期。 |
| lsblk -f | 查看块设备、文件系统和挂载点。 |
| df -h | 确认实际挂载容量。 |
| mount -a | 修改 /etc/fstab 后先测试配置是否能正常挂载,再重启服务器。 |
注意:如果 mount -a 返回错误,应先修复 /etc/fstab,不要直接重启服务器,否则可能出现启动后进入紧急模式的问题。
十二、总结
这份操作记录的核心流程就是:磁盘分区 → PV → VG → LV → 文件系统 → 挂载 → /etc/fstab。LVM 的优势在于后续可以继续向 VG 添加 PV,并按需要扩展逻辑卷。对于实际服务器,最需要注意的不是命令本身,而是始终确认目标设备、现有数据和挂载关系。

评论列表 (0条):
加载更多评论 Loading...