

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>
阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>
由于部分Linux操作系统版本较旧,云盘无法在操作系统内使用growpart等工具在线(云盘是mount状态)扩容,这种情况需要采用离线(云盘是umount状态)扩容的方式才能使云盘扩容生效。本文主要针对Linux数据盘的离线扩容方式进行介绍。
已创建快照备份数据。 为防止操作失误导致数据丢失,建议您操作前使用快照备份数据。具体操作,请参见创建一个云盘快照。 已在控制台上扩容云盘容量。 具体操作,请参见步骤一:扩容云盘容量。 远程连接ECS实例。 关于连接方式的介绍,请参见连接方式概述。 ECS实例的操作系统:公共镜像Alibaba Cloud Linux 2.1903 LTS 64位 数据盘:高效云盘 数据盘设备名:/dev/vdb 若您使用的操作系统和数据盘设备名与本文示例不同,请根据实际情况调整命令或参数配置。 运行以下命令确认数据盘的分区表格式。 本示例中,原有的数据盘空间已做分区/dev/vdb1。 如果 如果 运行以下命令确认已有分区的文件系统类型。 本示例中,/dev/vdb1的文件系统类型为ext4。 说明 未分区并且未创建文件系统的数据盘,以及已分区但未创建文件系统的数据盘,不会返回结果。 运行以下命令确认文件系统的状态。 不同文件系统的查询示例如下: ext*和xfs文件系统的示例结果如下所示,当文件系统状态为clean,表示文件系统状态正常。如果状态不是clean,请排查并修复。 btrfs文件系统的示例结果如下所示,例如found 114688 bytes used err is 0表示文件系统状态正常。如果查询结果中存在报错提示,请排查并修复。 ext*文件系统: xfs文件系统: btrfs文件系统: 根据您查询到的分区格式和文件系统情况确定操作选项。 如果您需要扩展数据盘已有的MBR分区,请参见选项一:扩展已有MBR分区。 如果新增空间用于增加新的MBR分区,请参见选项二:新增并格式化MBR分区。 如果您需要扩展数据盘已有的GPT分区,请参见选项三:扩展已有GPT分区。 如果新增空间用于增加新的GPT分区,请参见选项四:新增并格式化GPT分区。 说明 如果一个已有分区采用了MBR分区格式,则不支持扩容到2 TiB及以上。为避免造成数据丢失,建议您创建一块大于2TiB的云盘,格式化一个GPT分区,再将MBR分区中的数据拷贝到GPT分区中。具体操作,请参见初始化大于2 TiB数据盘。 当出现因扩容格式化工具问题导致的扩容失败时,您可以提前升级工具版本,或者卸载工具后重新安装。 说明 为了防止数据丢失,不建议扩容已挂载的分区和文件系统。请先取消挂载(umount)分区,完成扩容并正常使用后,重新挂载(mount)。针对不同的Linux内核版本,推荐以下操作方式: 实例内核版本小于3.6:先取消挂载该分区,再修改分区表,最后扩容文件系统。 实例内核版本大于等于3.6:先修改对应分区表,再通知内核更新分区表,最后扩容文件系统。 如果新增空间用于扩容已有的MBR分区,按照以下步骤在实例中完成扩容: 修改分区表。 运行 输入p:打印分区表。 输入n:新建分区。 输入p:选择分区类型为主分区。 输入<分区号>:选择分区号。本示例选取了1。 设置新分区的起始位置和结束位置。 警告 新分区的起始位置必须和旧分区的起始位置相同,结束位置必须大于旧分区的结束位置,否则会导致扩容失败。具体问题与解决方案请参见使用fdisk扩容新分区起始位置无法与扩容前保持一致。 输入w:保存修改并退出。 运行 输入p:打印分区表。 输入d:删除分区。 输入p:确认分区已删除。 输入w:保存修改并退出。 运行以下命令查看分区信息,并记录旧分区的起始和结束的扇区位置。 本示例中,分区/dev/vdb1的起始扇区是2048,结束扇区是41943039。 查看数据盘的挂载路径,根据返回的文件路径卸载分区,直至完全卸载已挂载的分区。 查看挂载(mount)信息。 取消挂载(umount)数据盘。 查看操作结果。 示例结果如下所示。 推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。前提条件
背景信息
本文示例中使用的配置如下:确认分区表格式和文件系统
sudo fdisk -lu /dev/vdb
[testuser@ecshost ~]# sudo fdisk -lu /dev/vdbDisk /dev/vdb: 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: 0x9277b47b
Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
System为Linux,说明数据盘使用的是MBR分区表格式。System为GPT,说明数据盘使用的是GPT分区表格式。blkid /dev/vdb1
[testuser@ecshost ~]# blkid /dev/vdb1/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
[testuser@ecshost ~]# sudo e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check./dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
[testuser@ecshost ~]# sudo btrfsck /dev/vdb1Checking filesystem on /dev/vdb1
UUID: 1234b7a7-68ff-4f48-a88c-8943f27f1234
checking extents
checking free space cache
checking fs roots
checking csums
checking root refs
found 114688 bytes used err is 0total csum bytes: 0total tree bytes: 114688total fs tree bytes: 32768total extent tree bytes: 16384btree space waste bytes: 109471file data blocks allocated: 0referenced 0
sudo e2fsck -n /dev/vdb1
sudo xfs_repair -n /dev/vdb1
sudo btrfsck /dev/vdb1
选择扩容分区或文件系统的方式
扩容场景 相关操作 数据盘已分区并创建文件系统 全新数据盘,未分区,未创建文件系统 在控制台扩容数据盘空间后,请参见初始化小于等于2 TiB数据盘(Linux)或者初始化大于2 TiB数据盘。 数据盘是裸设备,已创建文件系统,未分区 在控制台扩容数据盘空间后,请参见选项五:扩容裸设备文件系统。 数据盘未挂载到实例上 挂载数据盘到实例后,参见本文档的操作步骤完成扩容。 选项一:扩展已有MBR分区
sudo fdisk -u /dev/vdb:分区数据盘。sudo fdisk -u /dev/vdb:分区数据盘。sudo fdisk -lu /dev/vdb
[testuser@ecshost ~]# sudo fdisk -lu /dev/vdbDisk /dev/vdb: 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: 0x9277b47b
Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
mount | grep "/dev/vdb"
sudo umount /dev/vdb1
mount | grep "/dev/vdb"
[testuser@ecshost ~]# mount | grep "/dev/vdb"/dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
[testuser@ecshost ~]# sudo umount /dev/vdb1[testuser@ecshost ~]# mount | grep "/dev/vdb"


湘公网安备43019002001857号
备案号:
客服1