在 Linux 虚拟机的使用过程中,磁盘空间不足是运维与开发常遇的挑战。面对“加新盘”还是“扩旧盘”、“沿用原挂载点”还是“挂载新路径”的选择,不同方案适用于不同的业务场景与风险偏好。本文系统梳理了 新盘挂载新路径、新盘扩容原挂载、旧盘扩展后挂载新路径、旧盘原地扩容原挂载 四种典型扩容方式,从原理到实操,帮你理清思路,避开雷区,实现存储资源的高效调整。
1、已有磁盘扩容
1.1、扩容原有挂载路径
# 查看磁盘情况
# 当前从 20g 扩容到 30g(sdb 为我们扩容从磁盘,目前共 30g,已被分走 20g)
# 查看系统中所有物理卷(PV)的详细信息(此处关注 /dev/sdb)
pvdisplay
# 调整物理卷的大小,使其适配底层磁盘的新容量
pvresize /dev/sdb
# 显示系统中所有逻辑卷(LV)的详细信息(此处关注 /dev/vg_data/lv_data)
lvdisaply
# 将逻辑卷扩展到卷组中所有可用的空闲空间,此处用完所有剩余空间
lvextend -l +100%FREE /dev/vg_data/lv_data
# 增加 5G:lvextend -L +5G /dev/vg_data/lv_data
# 扩展 XFS 文件系统的大小,使其填满整个逻辑卷空间(此处为 XFS 文件系统)
xfs_growfs /data
# 查看挂载信息
lsblk




1.2、新加挂载路径
# 此处扩容 /dev/sda,扩容了 50g
# 查看当前分区情况,确保磁盘已扩容
lsblk
# 开始分区
fdisk /dev/sda
----
p # 打印分区
n # 新建分区(回车三次,使用默认值,记住分区序号)
p # 打印分区(上步使用默认值则用完剩余所有空间)
t # 改变分区类型(类型可进行查看都选择)
p # 打印分区,查看类型已改变
w # 保存退出
----
# 创建物理卷 PV
pvcreate /dev/sda3
pvdisplay /dev/sda3
# 创建卷组 VG
vgcreate vg_data /dev/sda3
vgdisplay vg_data
# 创建逻辑卷 LV
lvcreate -l 100%FREE -n lv_data vg_data
lvdisplay vg_data/lv_data
# xfs 格式化
mkfs.xfs /dev/vg_data/lv_data
# 创建磁盘目录进行挂载
mkdir -p /data
mount /dev/vg_data/lv_data /data
df -h
# 查看 UUID,开启自动挂载
blkid /dev/vg_data/lv_data
# vi /etc/fstab,添加下方内容
----
UUID=f2acc36d-5fe4-451d-babb-5b608db51ce5 /data xfs defaults 0 0
----
# 测试挂载
mount -a





2、添加新盘
2.1、挂载新路径
# 确认新磁盘已识别,此处新磁盘为 /dev/sdb
lsblk
# 第一步:创建物理卷(将整个磁盘或分区初始化为 LVM 物理卷)
## 直接使用整个磁盘
pvcreate /dev/sdb
## 部分使用:先分区在使用(fdisk /dev/sdb ; pvcreate /dev/sdb1)
## 验证 pv 创建成功
pvs
## 详细查看:pvdisplay
# 第二步:创建卷组(VG - Volume Group)
## 将物理卷添加到卷组中,卷组名可自定义(此处为 vg_data)
vgcreate vg_data /dev/sdb
## 若使用分区则是:vgcreate vg_data /dev/sdb1
## 验证 VG 创建成功
vgs
## 详细查看:vgdisplay vg_data
# 第三步:创建逻辑卷(LV - Logical Volume)
## 在卷组中创建逻辑卷,指定名称(此处为 lv_data)和大小
## 使用所有可用空间
lvcreate -l 100%FREE -n lv_data vg_data
## 指定具体大小 100G:lvcreate -L 100G -n lv_data vg_data
## 若是扩容,使用 lvextend:lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
## 验证 LV 创建成功
lvs
## 详细查看:lvdisplay vg_data/lv_data
# 第四步:格式化逻辑卷
## 格式化为 ext4 格式
mkfs.ext4 /dev/vg_data/lv_data
## xfs 格式(CentOS 7+ 推荐)
mkfs.xfs /dev/vg_data/lv_data
# 第五步:创建挂载点并临时挂载
## 创建挂载目录
mkdir -p /data
## 挂载逻辑卷
mount /dev/vg_data/lv_data /data
## 验证挂载
df -h
# 第六步:设置开机自动挂载(永久挂载)
## 获取 UUID(推荐使用 UUID 而不是设备名)
blkid /dev/vg_data/lv_data
----
输出示例:/dev/vg_data/lv_data: UUID="8afbc533-7eda-4c2e-bc7a-dd55967d4930" TYPE="xfs"
----
## 编辑 /etc/fstab,vi /etc/fstab
----添加以下行
UUID=8afbc533-7eda-4c2e-bc7a-dd55967d4930cat /data xfs defaults 0 0
----
## 若使用 xfs 格式,ext4 换为 xfs 即可
## 测试 fstab 配置
mount -a
2.2、新盘挂载(扩容)已有路径
# 查看新加的盘(当前新加 vdc)
lsblk
# 初始化 vdc 为物理卷
pvcreate /dev/vdc
# 将 vdc 加入卷组 data_vg(vgdisplay)
vgextend vg_data /dev/vdc
# 扩容逻辑卷(使用所有剩余空间,lvdisplay)
lvextend -l +100%FREE /dev/vg_data/lv_data
# 扩容文件系统(从 df -T 输出看是 ext4 类型)
# xfs 类型使用命令:xfs_growfs /dev/vg_data/lv_data
resize2fs /dev/vg_data/lv_data
# 验证扩容结果
df -h /data

618

被折叠的 条评论
为什么被折叠?



