云服务器云盘扩容相关文章挺多的,坑也比较多。特整理正确操作如下。

支持的发行版

  • Ubuntu
  • CentOS
  • Debain
  • Alpine
  • Arch

Ubuntu 16.04Ubuntu 18.04Ubuntu 20.04测试过。

CentOS 6CentOS 7CentOS 8测试过。

阿里云腾讯云AWS EC2实测过扩容,以上云服务商都支持云盘扩容。

需要注意的是,虽然扩容方法支持系统盘和数据盘,然而部分云服务提供商并不支持系统盘扩容,只支持在购买云服务器/VPS的时候选择系统盘大小。通常这些服务商都支持对系统盘进行备份,可以通过新购服务器还原系统盘镜像然后再执行此文操作的方式进行迁移扩容。

此方法不支持ARM服务器扩容。一般来说,ARM服务器、Raspberry Pi、NanoPi等arm架构的设备都有专门的扩容方法,需要查阅相应文档进行扩容。

磁盘管理常用命令

df -TH #查询磁盘挂载和使用情况
fdisk -l #查看磁盘信息和分区信息
lsblk #查看block设备的信息
blkid /dev/vda1 #查询分区文件系统

安装和使用方法不再赘述。进行扩容前请查询相关信息,谨慎操作。

growpart说明

growpart - 在分区表中扩展分区以填充可用空间,默认扩展所有剩余空间。

第一个参数 - 磁盘:要操作的设备或磁盘映像。

第二个参数 - 分区号:要调整大小的分区号(从1开始计算)。

此命令在磁盘或磁盘映像中重写分区表,以使给定的分区尽可能多的占用空间。运行后,该分区将在磁盘末尾或下一个分区的开始处结束。

扩容方法

首先,到云服务器提供商管理后台进行系统盘/数据盘扩容。部分云服务提供商购买新服务器后采用镜像还原的方式,因此得到的系统盘大小和购买的不一致,此方法也适用于此类情况的扩容。

安装扩容工具growpart

Ubuntu and Debian:

sudo apt update
sudo apt install cloud-utils -y

CentOS:

sudo yum install cloud-utils-growpart -y