如何擴容系統盤根分區的大小
風險說明:因涉及文件系統調整,存在丟失數據風險,為了您數據的安全性,建議擴容前先對數據進行備份后再進行操作,可以使用雲硬盤備份或雲主機備份功能進行備份
操作場景
彈性雲服務器默認系統盤大小只有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 //檢查文件系統擴容情況
同步成功