一、前置说明
本文适用于通过堡垒机登录 vSphere,对 Linux 虚拟机进行在线磁盘扩容的场景。操作前请务必确认业务可短暂停写,且已做好数据备份。
二、登录 vSphere 并打开控制台
- 通过堡垒机登录对应 vSphere 环境
- 在 vSphere 顶部搜索框中,输入目标设备的 主机名或 IP,回车搜索
- 在搜索结果中选中目标虚拟机,向下滑动页面
- 点击 「启动 Web 控制台」
- 若屏幕锁定,向上滑动解锁
- 点击 「Not listed?」,切换为
root用户登录 - 输入用户名,点击 Next
- 输入密码,点击 Sign In 或直接回车
三、登录系统并查看当前磁盘
- 在桌面空白处 右键 → 打开终端
- 执行以下命令,查看当前磁盘结构:
lsblk记录当前磁盘设备名(如 sda、sdb、sdc 等)及分区情况,为后续扩容做对照。
四、在 vSphere 中为虚拟机创建快照(强烈建议)
⚠️ 重要:扩容前务必先打快照,防止误操作导致数据丢失。
- 切回 vSphere 管理界面
- 选中目标虚拟机,点击 「快照」→「生成快照」
- 填写快照名称(建议包含日期和用途,如
Before-disk-expand-20260121) - 点击 「创建」
- 在底部 「近期任务」 中查看快照创建进度
- 快照创建完成后,确认状态为 完成
五、在 vSphere 中添加新硬盘
- 在 vSphere 中选中目标虚拟机,点击 「操作」→「编辑设置」
- 点击 「添加新设备」→「硬盘」
- 设置新增硬盘容量(按需填写,如 100 GB)
点击新添加的硬盘,展开详细配置:
- 磁盘置备:选择 精简置备
- 其余参数保持默认
- 点击 「确定」 保存配置
六、系统内识别新磁盘并分区
- 回到 Web 控制台终端
- 再次执行:
lsblk此时应能看到新增加的磁盘(如 /dev/sdc),但无分区。
- 对新磁盘进行分区:
fdisk /dev/sdc按如下顺序输入:
| 输入 | 含义 |
|---|---|
n | 新建分区 |
p | 主分区 |
| 回车 | 默认分区号 1 |
| 回车 | 默认起始扇区 |
| 回车 | 默认结束扇区(使用整块磁盘) |
w | 保存并退出 |
- 再次查看分区结果:
lsblk确认出现新分区 /dev/sdc1。
七、LVM 扩容操作
1. 创建物理卷(PV)
pvcreate /dev/sdc12. 将 PV 加入现有卷组(VG)
本文示例卷组名为 vg01,请根据实际情况替换。vgextend vg01 /dev/sdc13. 扩展逻辑卷(LV)
本文示例逻辑卷为 /dev/vg01/lv01,请按实际路径调整。lvextend -l +100%FREE /dev/vg01/lv014. 刷新文件系统
⚠️ 注意:以下命令需根据实际文件系统类型选择其一。
- XFS 文件系统(常见于 CentOS 7+):
xfs_growfs /dev/vg01/lv01- ext4 文件系统:
resize2fs /dev/vg01/lv01八、验证扩容结果
执行以下任一命令进行验证:
df -h或
lsblk确认目标挂载点容量已正确增加。
九、注意事项与最佳实践
- ✅ 生产环境建议在 业务低峰期 操作
- ✅ 扩容前必须 创建快照
- ✅ 确认文件系统类型后再执行刷新命令
- ✅ 操作后观察业务日志,确保无异常
- ✅ 如扩容失败,可通过快照 恢复到操作前状态
十、常见问题排查
- lsblk 看不到新盘?
尝试执行echo "- - -" > /sys/class/scsi_host/host0/scan触发总线扫描(host 编号根据实际情况调整)。 - xfs_growfs 报错?
确认 LV 已成功扩展,且挂载点正确(可先用df -h查看挂载路径)。 - vgextend 提示找不到 VG?
使用vgdisplay或vgs确认卷组名称是否正确。
评论