【Linux】Linux 虚拟机磁盘扩容全攻略

📅 2026/7/24 12:38:45
【Linux】Linux 虚拟机磁盘扩容全攻略
在 Linux 虚拟机的使用过程中磁盘空间不足是运维与开发常遇的挑战。面对“加新盘”还是“扩旧盘”、“沿用原挂载点”还是“挂载新路径”的选择不同方案适用于不同的业务场景与风险偏好。本文系统梳理了 新盘挂载新路径、新盘扩容原挂载、旧盘扩展后挂载新路径、旧盘原地扩容原挂载​ 四种典型扩容方式从原理到实操帮你理清思路避开雷区实现存储资源的高效调整。1、已有磁盘扩容1.1、扩容原有挂载路径# 查看磁盘情况 # 当前从 20g 扩容到 30gsdb 为我们扩容从磁盘目前共 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 # 增加 5Glvextend -L 5G /dev/vg_data/lv_data # 扩展 XFS 文件系统的大小使其填满整个逻辑卷空间此处为 XFS 文件系统 xfs_growfs /data # 查看挂载信息 lsblk1.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添加下方内容 ---- UUIDf2acc36d-5fe4-451d-babb-5b608db51ce5 /data xfs defaults 0 0 ---- # 测试挂载 mount -a2、添加新盘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 ## 指定具体大小 100Glvcreate -L 100G -n lv_data vg_data ## 若是扩容使用 lvextendlvextend -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: UUID8afbc533-7eda-4c2e-bc7a-dd55967d4930 TYPExfs ---- ## 编辑 /etc/fstabvi /etc/fstab ----添加以下行 UUID8afbc533-7eda-4c2e-bc7a-dd55967d4930cat /data xfs defaults 0 0 ---- ## 若使用 xfs 格式ext4 换为 xfs 即可 ## 测试 fstab 配置 mount -a2.2、新盘挂载扩容已有路径# 查看新加的盘当前新加 vdc lsblk # 初始化 vdc 为物理卷 pvcreate /dev/vdc # 将 vdc 加入卷组 data_vgvgdisplay 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