阿里云linux服务器如何硬盘分区扩容

当自己付费升级了服务器后,不仅配置高了,而且给的硬盘容量也大了。在阿里云控制台可以看到硬盘是升级之后的大小,但是登陆服务器却发现硬盘大小根本没有变化,所以我们就把升级后给的硬盘都用起来。

前提

  • 操作前为了安全起见,建议先创建备份。
  • 安装growpart或者xfsprogs扩容格式化工具。

CentOS 7、Aliyun Linux

yum install cloud-utils-growpart
yum install xfsprogs

Ubuntu14、Ubuntu 16、Ubuntu 18、Debian 9

apt install cloud-guest-utils
apt install xfsprogs

检查服务器内核版本

内核版本大于3.6.0,使用高内核版本的操作步骤;内核版本小于3.6.0,使用低内核版本的操作步骤。这里只演示高内核版本操作步骤。

高内核版本操作步骤

1、运行 fdisk -l 命令查看现有云盘大小。下面显示 云盘容量是100GiB。

[root@ecshost ~]# fdisk -l
Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x0008d73a

Device Boot Start End Blocks Id System
/dev/vda1 * 2048 41943039 20970496 83 Linux

2、运行 df -h 命令查看云盘分区大小。我们看到 分区(/dev/vda1)容量只有20GiB。

[root@ecshost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.5G 18G 8% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 344K 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0

3、调用growpart为需要扩容的云盘和对应的第几个分区扩容。
下面我们为系统盘的第一个分区扩容。

[root@ecshost ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=41940992 end=41943040 new: size=209710462,end=209712510

4、运行 resize2fs PartitionNam 命令调用resize2fs扩容文件系统。我们现在扩容系统盘的 /dev/vda1 分区文件系统。

[root@ecshost ~]# resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 7
The filesystem on /dev/vda1 is now 26213807 blocks long

说明:如果您使用的是xfs文件系统,运行 xfs_growfs /dev/vda1 命令扩容文件系统。

5、运行 df -h命令再次查看云盘分区大小。看到分区(/dev/vda1)容量是100GiB,表示已经成功扩容

[root@ecshost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 1.6G 93G 2% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 500K 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0