阿里云ECS系统盘在线扩容

服务器硬盘

随着网站文件总量不断增加,服务器容量越来越少,使用 对象存储OSS 将文件分离存储是一个方案,但如果体量比较小,对存储的需求还不是特别高,扩容硬盘也值得考虑。

除了增加容量之外,扩容硬盘还可以增加 IOPS,提升服务器性能。本文以扩容 ECS 系统盘为例,演示在线扩容。操作环境:

  • 系统:CentOS 7
  • 内核版本:3.10.0

如果是其他系统可以参考阿里云官方手册:《扩容概述》

购买硬盘容量

登录阿里云控制台【云盘】页面,可以看到当前正在使用的云盘列表。勾选需要扩容的云盘,点击“磁盘扩容”:

ECS云盘

输入目标容量,勾选“在线扩容”,支付订单。

ECS磁盘扩容

在线扩容意味着不用关闭服务器,扩容后立即生效,避免影响业务运行。在线扩容的条件可参考:《在线扩容云盘》

调整分区大小

支付成功后回到云盘控制台,可以看到硬盘容量已经提升。为避免错误操作导致数据丢失,建议先创建一个快照(操作方法),方便快速恢复。

通过 SSH 登录服务器,安装扩容格式化工具 growpart 或者 xfsprogs:

yum install cloud-utils-growpart
yum install xfsprogs

这两个工具通常情况下已经内置,终端会提示已安装。

使用 uname -a 查看内核版本,如果大于 3.6.0,可以根据本文的方法继续操作;如果小于 3.6.0,可以参考:《扩容分区》低内核版本部分。

使用 fdisk -l 命令查看磁盘信息,总的容量是 42.9 GB:

Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x000b1b45

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    52420094    26209023+  83  Linux

使用 df -h 命令查看分区大小,可以看到实际挂载的容量只有 25 GB:

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  480K  496M   1% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        25G   15G  8.4G  65% /
tmpfs           100M     0  100M   0% /run/user/1000

/dev/vda1 是根目录,我们要把新增的容量添加到这里,该如何操作呢?

运行 growpart /dev/vda 1 命令,系统返回

CHANGED: partition=1 start=2048 old: size=52418047 end=52420095 new: size=83883999 end=83886047

接着再运行 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 = 3
The filesystem on /dev/vda1 is now 10485499 blocks long.

此时再运行 df -h 查看分区情况,就会发现已经扩容成功了:

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  480K  496M   1% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        40G   15G   23G  40% /
tmpfs           100M     0  100M   0% /run/user/1000

以上就是 ECS Linux 系统盘在线扩容的演示,如果你的服务器运行其他 Linux 发行版,或者内核版本低于 3.6.0,建议阅读阿里云官方文档获取帮助:《扩容分区_Linux 系统》;如果是 Windows 系统,可以参考:《扩容分区_Windows 系统》

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可

发表评论

电子邮件地址不会被公开。 必填项已用*标注