Linux中,在非逻辑卷的情况下如何扩容根分区
1. 背 景
今日有台centos7.6服务器,磁盘扩容/,发现不是lvm的(分区为根分区,不需要卸载目录)在原盘上+100G空间,对已有磁盘扩容后,fdisk –l目前是查看不到的,需要扫描添加容量的SCSI Device。
2. 操 作
2.1 刷新磁盘
1 | echo 1 > /sys/block/sda/device/rescan |
再次fdisk –l 发现已经识别到添加的容量。
2.2 磁盘分区
1 | fdisk /dev/sda |
按d删除分区sda2,n 重新创建(删除时一定要记住sda2初始磁柱)。
按n创建,选P主分区,磁柱要与之前删除的sda2起始磁柱一致(默认的磁柱2099200不对),否则将导致系统进不去。
刷新分区。
2.3 扩容
执行xfs_growfs /dev/sda2
,如果是ext格式的使用resize2fs /dev/sda2
。
df –h 查看/由600G扩容到了700G。
扩容成功。
失败案例及解决方案
1. 失败原因描述
失败的原因就是删除sda2分区后,创建新的sda2分区时磁柱默认了,重启后系统进不去,报以下错误:
Journalctl查看报错信息,系统root分区无法挂载,一般引发的问题是主机文件系统损坏。
2. 解决方案
2.1 以光驱重新启动
1)将CD移到第一位,F10保存,启动
2)择troubleshooting,进入故障排除
3)选择Rescue a CentOS system,进入救援模式
4)选择3,直接跳转到shell界面
等待sh-4.2#输入界面出来后:
5)执行命令
1 | fdisk /dev/sda |
将sda2扇区修改为正确扇区(sda1结束扇区+1,就是sda2初始扇区),修改完成后,w保存退出。
修改为正确的之后,xfs_repiar /dev/sda2。
等进度完成后(如下图),就可以reboot了。
2.2 以硬盘启动
进入BIOS,将启动盘顺序调回来,硬盘启动放到第一位,就可以正常启动系统了。
2.3 扩容
进入系统后,df –h 发现扩充的50G空间是没有加上的。
输入xfs_growfs /dev/sda2。
再次df –h,我们看到空间已经扩容成功!
总结
1、以上扩容根分区的方式,根分区是/dev/sda2分区,一般/dev/sda1为boot分区,请注意分析
2、若是云硬盘,则一般是vda或vdb等设备,根分区为/dev/vda1,云硬盘扩容请参考:https://support.huaweicloud.com/usermanual-evs/evs_01_0072.html