最近Ubuntu服务器发生几次空间不足,登录发现上传的文件数量较多,而且各种工具在运行中也要产生大量的临时文件,系统还来不及回收。只能通过扩容硬盘来解决这个问题。官方为毛不给自动扩容到文件系统,估计是怕数据或系统丢失啥的吧!既然这样只能自己动手了。

1.点击“磁盘扩容”,购买磁盘容量。

在购买过程中,最好勾选“在线扩容”,在线扩容无需重启ECS实例便能完成一块云盘的容量扩展。但是在线扩容之前,请确保资源满足以下条件。

  • 待扩容的云盘状态为使用中(In Use),并且所挂载的实例状态为运行中(Running)。
  • 确认云盘所挂载的实例是否满足以下条件,从而判断是否支持在线扩容。不支持在线扩容的实例,请参见离线扩容云盘。
  • 扩容的实例必须为I/O优化实例。
  • 扩容的实例不能是Windows Server 2003操作系统。
  • 如果Windows实例的创建时间早于2019-03-30,必须检查实例的RedHat VirtIO SICI驱动版本是否大于58011。详细步骤请参见Windows实例更新RedHat VirtIO SCSI驱动。
  • 使用Linux操作系统的实例时,先运行uname -a查看并确认内核版本不低于3.6.0。

测试了一下ubuntu linux内核的版本为4.15.0,都满足条件。

root@6haf6xxx9:~# uname -a
Linux 6faac711f629 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

但是,扩容云盘只是扩大存储容量,而不是扩容文件系统,扩容后您必须自行分配存储空间。这个就像是装windows系统磁盘有500G容量,你只格式化分区了100G来使用,另外400G也需要你分配给系统使用。

购买完成后,先运行了一下 fdisk -l,可以看到购买第一行是101GiB,最后一行实际使用中是60G(之前的容量)。

root@6haf6xxx9:~# fdisk -l
Disk /dev/vda: 101 GiB, 108447924224 bytes, 211812352 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
Disklabel type: dos
Disk identifier: 0xb2ac676a

Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 125829086 125827039 60G 83 Linux

这里吐槽一下,官方给的文档和操作不足太繁琐了。估计只有懂linux的才行,对于大多数人都希望更简便的方法。网上搜素了好半天,把最终的操作记录一下。

2. 安装扩容工具。

  • centos系列:
    yum install cloud-utils-growpart
    yum install xfsprogs

  • ubuntu、debian系列:
    apt install cloud-guest-utils
    apt install xfsprogs

3. 扩容系统盘的第一个分区

安装完成后,因为我是想扩容到 Disk /dev/vda的默认分区1,运行命令行:growpart /dev/vda 1 就可以了,结果如下。

root@6haf6xxx9:~# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=125827039 end=125829087 new: size=211810271,end=211812319

4. 扩容系统盘的/dev/vda1分区的文件系统。

root@6haf6xxx9:~# resize2fs /dev/vda1
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 7
The filesystem on /dev/vda1 is now 26476283 (4k) blocks long.

5. 查看磁盘分区大小

运行df -h查看磁盘分区大小,返回分区(/dev/vda1)是101 GiB,表示已经成功扩容。

root@6haf6xxx9:~# resize2fs /dev/vda1
/dev/vda1 100G 30G 66G 31% /

  • 786
  • 0

共 0 回复