非LVM分区扩容方案
若 /dev/sda3
是非LVM分区且存储重要数据,可通过 直接扩展分区容量 + 调整文件系统 实现扩容,无需重建LVM或格式化分区。以下是具体步骤:
1. 扩展物理磁盘(虚拟机场景)
- 关闭虚拟机 → 在VMware/VirtualBox中扩展磁盘容量(如从20G扩容至30G)。
- 重启系统 → 确保虚拟机识别到新磁盘空间。
2. 扩展分区容量(无需创建新分区)
- 安装分区扩容工具:
yum install cloud-utils-growpart -y # 支持在线调整分区大小:ml-citation{ref="3,7" data="citationList"}
- 扩展
/dev/sda3
分区:growpart /dev/sda 3 # 将新磁盘空间追加到sda3分区末尾:ml-citation{ref="3,7" data="citationList"}
- 扩展 /dev/sda3 分区时,可能会出现报错:unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]
-
解决方案:修复
unexpected output in sfdisk
报错核心问题:
growpart
工具因系统语言环境或sfdisk
版本兼容性问题,无法正确解析分区信息。
1. 强制设置语言环境
export LANG=en_US.UTF-8 # 临时指定 UTF-8 编码环境:ml-citation{ref="1,2" data="citationList"} growpart /dev/sda 3 # 重新执行分区扩展命令:ml-citation{ref="1,2" data="citationList"}
若仍报错,尝试永久修改语言环境:
echo "LANG=en_US.UTF-8" >> /etc/environment # 永久生效需重启:ml-citation{ref="2,3" data="citationList"} reboot
2. 验证工具版本兼容性
检查sfdisk
版本:sfdisk --version # 输出示例:`sfdisk,来自 util-linux 2.23.2`:ml-citation{ref="1,4" data="citationList"}
- 注意:若版本低于 2.24,建议升级
util-linux
包:yum update util-linux -y # CentOS 7 需确保仓库包含新版本:ml-citation{ref="4" data="citationList"}
-
- 扩展 /dev/sda3 分区时,可能会出现报错:unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]
- 刷新分区表:
partprobe /dev/sda # 或重启系统:ml-citation{ref="3,7" data="citationList"}
3. 调整文件系统容量
- 确认文件系统类型:
df -Th / # 示例输出:`/dev/sda3` 类型为 `xfs` 或 `ext4`:ml-citation{ref="4,7" data="citationList"}
- 扩展文件系统:
- ext4 文件系统:
resize2fs /dev/sda3 # 在线扩展无需卸载分区:ml-citation{ref="3,4" data="citationList"}
- xfs 文件系统:
xfs_growfs / # 直接对挂载点操作(需已挂载):ml-citation{ref="4,7" data="citationList"}
- ext4 文件系统:
4. 验证扩容结果
df -h / # 确认根目录容量已增加:ml-citation{ref="3,4" data="citationList"}
lsblk # 查看 `/dev/sda3` 分区大小是否更新:ml-citation{ref="7" data="citationList"}
关键操作对比
步骤 | 命令/工具 | 作用 |
---|---|---|
扩展物理磁盘 | VMware/VirtualBox设置 | 增加虚拟机磁盘总容量13 |
扩展分区 | growpart | 将新增空间合并到现有分区37 |
调整文件系统 | resize2fs 或 xfs_growfs | 扩展文件系统以占用新空间47 |
注意事项
- 分区类型限制:仅适用于主分区或扩展分区,且文件系统需支持在线扩容(如ext4、xfs)。
- 数据安全:操作前建议备份数据,避免因意外中断导致损坏。
- 无需LVM:此方案直接操作物理分区,无需创建卷组或逻辑卷。
通过以上步骤可安全扩展非LVM分区的容量,且不破坏原有数据