如何扩容系统盘根分区的大小
风险说明:因涉及文件系统调整,存在丢失数据风险,为了您数据的安全性,建议扩容前先对数据进行备份后再进行操作,可以使用云硬盘备份或云主机备份功能进行备份
操作场景
弹性云服务器默认系统盘大小只有40G,因数据增加导致系统盘空间不够用,在控制台对系统盘进行扩容后,主机内的 / 分区大小没有同步扩充容量,使用以下两种方法可以实现扩容根分区
注意:如果是定制镜像或根分区在LVM逻辑卷中,不适用以下方法进行扩容
扩容根两种方法:(如不方便重启主机可以使用第二种方法)
1、自动扩容:控制台实现扩容后,可以重启主机实现自动扩容根分区大小,如重启后不能实现扩容请使用第二种方法手动扩容
2、手动扩容:因新增的空间没有文件系统,所以主机内根分区容量没有同步增加,需要手动把新增空间容量增加至根分区,再进行同步文件系统,才可以使用
操作步骤(手动扩容)
以CentOS 7.6 64bit 60GB系统盘为例,root分区在最末尾分区(eg: /dev/vda1: swap分区, /dev/vda2: /根分区)的扩容场景
-
执行以下命令,查询当前弹性云服务器的分区情况。
fdisk -l /dev/vda
[root@nginx-web conf]# fdisk -l /dev/vda Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000ee330 Device Boot Start End Blocks Id System /dev/vda1 2048 8390655 4194304 82 Linux swap / Solaris /dev/vda2 * 8390656 125829086 58719215+ 83 Linux
当前系统盘是60G,在控制台进行扩容后再次查看
lsblk # 查看当前系统内可用的的块设备信息
执行以下命令,获取磁盘设备的文件系统类型、UUID等信息
blkid
[root@nginx-web conf]# blkid
/dev/vda1: UUID="9e33bd6f-c68c-41c7-95c8-703f4fe8c3d4" TYPE="swap"
/dev/vda2: UUID="a83f4fdc-2ea1-4fec-a1e2-a42016ce0afe" TYPE="xfs"
下面开始扩容操作:
所需工具growpart可能集成在cloud-utils-growpart/cloud-utils/cloud-initramfs-tools/cloud-init包里,可以直接执行命令yum install cloud-*确保growpart命令可用即可
1、执行以下命令,安装growpart工具(确保安装成功后再继续操作)
yum install cloud-utils-growpart -y
2、执行以下命令,使用工具growpart将第二分区的根分区进行扩容。
[root@nginx-web conf]# growpart /dev/vda 2
CHANGED: partition=2 start=8390656 old: size=117438431 end=125829087 new: size=138409951,end=146800607
3、执行以下命令,检查在线扩容是否成功。
[root@nginx-web conf]# parted -l /dev/vda
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 75.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 4296MB 4295MB primary linux-swap(v1)
2 4296MB 75.2GB 70.9GB primary xfs boot
4、同步文件系统(不同文件系统同步命令也是不一样的)
# ext4文件系统使用resize2fs扩展
resize2fs -f /dev/vda2
# xfs文件系统使用xfs_grows扩展
xfs_growfs /dev/vda2
本机使用的文件系统格式为xfs,执行以下命令实现扩容
[root@sluo-ecs-a611 ~]# xfs_growfs /dev/vda2
[root@sluo-ecs-a611 ~]# df -hT //检查文件系统扩容情况
同步成功