在运维工作中,磁盘的扩容、挂载都是高频操作,存在的问题也多种多样。小旺在第一次通过运维平台依赖可视化工具扩容,没有深究底层操作,导致下发资源磁盘扩容后未生效的问题。经测试发现:平台可视化仅能扩容磁盘硬件容量,系统内不会自动识别并更新文件系统容量,还需手动执行命令完成扩容。还好当时只是空云主机,没有造成安全事故。后边在闲暇之余仔细学习磁盘挂载操作,这次分享计划用两篇文章篇幅聚焦云主机磁盘扩容根目录与新盘挂载相关操作,把当时操作流程完整复现、出现的风险点进行讲解,安全完成磁盘扩容与挂载。
方法一、扩容磁盘根目录
⚠️重要提醒:一定别在生产环境主机直接测试操作!!!
在操作前,小旺通过平台对测试主机 A 的磁盘从 200G 扩容至 300G,演示完整的扩容操作流程。
1. 在主机A上查看磁盘现有容量
#/dev/mapper/klas-root是我们的目标盘,但通过平台扩容后依然显示 200G(实际显示 185G 为换算差异),没有自动更新,需要手动扩容。
2. 确认磁盘容量已更新
fdisk-l /dev/vdb#执行后可看到:磁盘总容量已变大,但有 100G 空间未分配使用。
3. 创建新的 LVM 分区
echo-e"n\np\n2\n\n\nt\n2\n8e\nw"|fdisk /dev/vdb#注释:#n = 新建分区#p = 主分区#2 = 分区号#t = 修改分区类型#2 = 分区号#8e = LVM 类型#w = 保存并退出
4. 刷新分区表
5. 创建物理卷并扩展卷组
pvcreate /dev/vdb2# 把新分区vdb2初始化为LVM物理卷vgextend klas /dev/vdb2# 将vdb2加入现有的klas卷组,合并存储空间
6. 扩展根分区和文件系统
lvextend -l +100%FREE /dev/klas/root# 将卷组所有空闲空间,全部扩容给根分区逻辑卷xfs_growfs /dev/klas/rootxfs_growfs /# 刷新XFS文件系统,使扩容生效
7. 验证扩容结果
df-h#看到根目录 / 容量已从 200G 变为 300G,说明扩容成功。
二、这种一键扩容方式到底能不能用?
这种方式一键合并到根目录,不用挂载、不用繁琐的修改配置。但是,自动分区,无法人工确认步骤,如果有相同名称的盘,直接冲突覆盖,导致数据丢失,分区序号冲突还可能导致系统直接崩溃,磁盘已经满时执行,一定会报错甚至炸盘,业务与系统数据混在一起,也不方便后续备份、隔离、限额。所以不建议在生产环境主机进行操作,在日常运维里,我们更推荐下挂新的数据盘方式来完成扩容,既安全又规范,也更符合生产环境操作。由于篇幅有限,关于新磁盘挂载完整操作,我会在下一篇详细讲解,感兴趣的小伙伴可以持续关注~
感谢大家的阅读与支持,你们的每一次关注、点赞和在看,都是我持续输出的最大动力!