Linux服务器数据盘扩容

Linux服务器数据盘扩容

通过控制台扩容了作为数据盘的云磁盘后,此时仅扩展了存储容量,还需进行云磁盘分区或文件系统的扩容。

注意事项

  • 备份数据:扩容文件系统操作不慎可能影响已有数据,因此强烈建议您在操作前手动创建快照或创建备份来备份数据。
  • 业务中断:扩容文件系统需要重启实例,将导致一定时间的业务中断,建议您选择合适的时间谨慎操作。
  • 前提条件:已经通过控制面板扩容磁盘,且该磁盘已经通过控制面板挂载到了云服务器。
  • 本文操作假设将自动将所有剩余空间都扩容到已有分区。

操作步骤

1. 查看云磁盘分区情况

执行以下命令:

fdisk -l

结果示例:

Disk /dev/vda: 21.5 GiB, ...
/dev/vda1  ...
Disk /dev/vdb: 53.7 GiB, ...
/dev/vdb1  ...


从输出可以看出:

  • /dev/vda 数据盘磁盘容量为 21.5 GB,包含 /dev/vda1 分区。
  • /dev/vdb 数据盘磁盘容量为 53.7 GB,包含 /dev/vdb1 分区。

2. 确认已有分区的文件系统类型

执行以下命令:

df -TH

结果示例:

Filesystem     Size  Used Avail Use% Mounted on
/dev/vda1      22G   ...   ...   ...  /
/dev/vdb1      32G   ...   ...   ...  /www

从输出可以看出:

  • /dev/vda1 分区容量为 22 G,文件系统类型为 xfs,已挂载至 /
  • /dev/vdb1 分区容量为 32 G,文件系统类型为 ext4,已挂载至 /www

3. 扩容分区表

执行以下命令,使用 growpart 工具扩容分区(本文以扩容 /dev/vdb1 分区为例,命令中 /dev/vdb1 之间需要使用空格分隔):

growpart /dev/vdb 1

返回结果如下表示分区扩容成功:

CHANGED: partition=1 start=... old=... end=... size=...

4. 扩容文件系统

根据步骤 2 获取到的文件系统类型,执行对应的命令扩容文件系统:

  • ext 文件系统(如 /dev/vdb1):

    resize2fs /dev/vdb1
  • xfs 文件系统(如 /dev/vda1):

    xfs_growfs /dev/vda1

命令执行成功后,会输出类似如下信息:

resize2fs 1.46.5 (30-Dec-2021)
The filesystem on /dev/vdb1 is now ... blocks long.

5. 查看扩容结果

执行命令:

df -TH

返回结果如下则表示已扩容成功(/dev/vdb1 分区由 32 G 扩容至 53 G):

Filesystem     Size  Used Avail Use% Mounted on
/dev/vdb1      53G   ...   ...   ...  /www

6. 重启系统

reboot

7. 扩容完成后检查

重启完成后,检查数据完整性,观察服务器中业务是否正常运行。如果有异常,可以使用回滚快照或还原备份的方式进行数据恢复。