扩容阿里云磁盘

发布时间 2023-12-13 09:23:22作者: 不忘初心--学
fdisk -lu啥

 

如图所示,表示该实例有2块云盘,系统盘/dev/vda和数据盘/dev/vdb,我们以数据盘/dev/vdb为例。其中:
①:云盘的设备名称。
②:云盘是否分区及分区名称。
已分区:如果有②处的分区信息表示已分区,Device取值为分区名称(示例中为/dev/vdb1),数字1是分区编号,则需扩容分区和文件系统。
未分区(裸设备):如果没有②处的分区信息表示未分区,为裸设备。则无需执行步骤1:扩容分区,直接执行步骤2:扩容文件系统即可。
③:云盘的分区类型。
Disk label type值为dos表示MBR分区,值为gpt表示GPT分区。
说明
不同操作系统的显示略有不同。如果没有Disk label type字段,可通过System字段判断。System值为Linux表示MBR分区,值为GPT表示GPT分区。
较低版本的fdisk可能不能正常显示GPT分区表。您可以通过gdisk -l /dev/vdb命令查看分区类型。
④:确认待扩容的分区。
由于容量= sectors值*512 bytes,图示例中:
云盘/dev/vdb的sectors=125829120,则云盘容量=125829120*512bytes=64.4GB(等于60GiB)
分区/dev/vdb1的sectors=(End-Start)=83886078,则分区容量= 83886078*512bytes=42.9GB(等于40GiB)
根据计算得出/dev/vdb1分区的容量小于云盘/dev/vdb的容量,即/dev/vdb1分区需要扩容。
说明
您也可以通过运行lsblk命令查看哪个分区待扩容。
步骤1:扩容分区
  • MBR分区
type growpart || yum install -y cloud-utils-growpart LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
  • GPT分区(需安装gdisk工具)
type growpart || yum install -y cloud-utils-growpart type sgdisk || yum install -y gdisk LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
LC_ALL=en_US.UTF-8 growpart /dev/vda1
resize2fs /dev/vda1
步骤2:扩容文件系统
运行以下命令,获取需要扩容的文件系统的类型和挂载目录。
df -Th
Type值为文件系统类型,Mounted on值为分区的挂载目录。如下图表示/dev/vdb1分区的文件系统类型为ext4,挂载目录为/mnt。
以扩容云盘分区/dev/vdb1的ext*文件系统为例,则运行如下命令:
resize2fs /dev/vdb1
说明
如果您扩容的是系统盘,命令中的/dev/vdb1需要替换为/dev/vda1。
以扩容裸设备/dev/vdc的ext*文件系统为例,则运行如下命令:
resize2fs /dev/vdc
示例1:扩容MBR分区和ext4文件系统
  • 设备名:/dev/vda(系统盘)
  • 1个分区:/dev/vda1
  • 文件系统类型:ext4
  • 操作系统:Alibaba Cloud Linux 2
扩容分区和文件系统命令如下:
type growpart || yum install -y cloud-utils-growpart LC_ALL=en_US.UTF-8 growpart /dev/vda 1 resize2fs /dev/vda1
示例2:扩容GPT分区和xfs文件系统
  • 设备名:/dev/vdb(数据盘)
  • 2个分区:/dev/vdb1 、/dev/vdb2
  • 文件系统类型:xfs
  • /dev/vdb2的挂载目录:/mnt
  • 操作系统:Debian 8
扩容分区和文件系统命令如下:
apt-get update type growpart || apt-get install -y cloud-guest-utils type sgdisk || yum install -y gdisk LC_ALL=en_US.UTF-8 growpart /dev/vdb 2 type xfs_growfs || yum install -y xfsprogs xfs_growfs /mnt
示例3:扩容裸数据盘
  • 设备名:/dev/vdc(裸数据盘未分区)
  • 文件系统类型:ext4
  • 操作系统:CentOS 7
扩容文件系统命令如下:
resize2fs /dev/vdc