本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
MBR分区格式不支持2 TiB以上的云盘。如果您的云盘目前使用的是MBR分区类型,且希望将其扩容至2 TiB以上,需要先将分区类型从MBR转换为GPT,再扩容分区及文件系统。本文为您介绍如何将Linux和Windows数据盘的MBR分区转换为GPT分区。
准备工作
已完成步骤一:扩容云盘容量。
已明确待扩容云盘是否需要转换分区。具体操作,Linux请参看判断需要执行的扩容步骤;Windows请参看步骤一:确认云盘是否需要转换分区。
不同分区类型支持的最大分区容量和分区数量不同。更多信息,请参见分区格式介绍。
转换Linux数据盘的分区类型
您可以参考如下操作,将Linux数据盘的MBR分区转换为GPT分区。本操作以数据盘/dev/vdb
为例,请您根据实际环境进行操作。
(可选)为云盘创建快照,做好数据备份。
远程连接ECS实例。
登录ECS管理控制台,单击左侧导航栏实例,选择目标实例,单击远程连接,登录实例,具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
运行以下命令,安装gdisk工具。
Alibaba Cloud Linux 2/3版本、CentOS 6及以上版本运行以下命令。
type sgdisk || sudo yum install -y gdisk
Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。
type sgdisk || sudo apt-get install -y gdisk
运行以下命令,将MBR分区转换为GPT分区。
重要sgdisk
只能对设备(例如/dev/vdb
)进行操作,不能对分区(例如/dev/vdb1
)进行操作,否则可能会损坏文件系统。以云盘设备名称
/dev/vdb
为例,则需要运行如下命令。sudo sgdisk -g /dev/vdb
说明如果运行
sgdisk
命令出现报错提示,请参见常见问题进行解决。-g表示convert MBR to GPT。
运行以下命令,查看分区转换结果。
以云盘设备名称
/dev/vdb
为例,则运行如下命令。sudo fdisk -lu /dev/vdb
如下图所示,
Disklabel type
值为gpt
时,表示已转换为GPT分区,分区转换成功。说明不同操作系统的显示略有不同。如果没有
Disklabel type
字段,可通过System
字段判断。System
值为GPT
表示GPT分区。若转换分区后数据出现异常,您可以使用快照回滚云盘,使云盘恢复到创建快照时的状态,具体操作详见使用快照回滚云盘。
MBR分区转换为GPT分区成功后,您可依照扩容分区和文件系统(Linux)继续执行扩容分区及文件系统操作。
转换Windows数据盘的分区类型
您可以参考如下操作将Windows数据盘的MBR分区转换为GPT分区。本操作以公共镜像Windows Server 2016 64位、数据盘磁盘1
为例,请您根据实际环境进行操作。
转换Windows云盘分区过程中,云盘数据不可用,如果您正在运行的业务依赖于该盘的数据,可能会出现问题。建议您先停止服务,待分区转换完成并恢复云盘数据后再继续运行业务。
步骤一:转换分区
(可选)备份云盘数据。
远程连接ECS实例。
登录ECS管理控制台,点击左侧导航栏实例,选择目标实例,单击远程连接,登录实例,具体操作,请参见使用Workbench工具以RDP协议登录Windows实例。
在Windows Server桌面,右键单击图标,然后单击磁盘管理。
找到待转换分区的数据盘(以磁盘 1为例)。
右键单击一个简单卷,在弹出菜单中选择删除卷。
重要如果删除卷失败,可能是您实例内仍有程序去访问此块云盘的数据或者信息。您可以尝试重启实例后,再执行删除卷。重启实例会影响业务,建议您选择合适的时间进行。
在弹出的删除简单卷对话框中,单击是。
磁盘1 的简单卷全部删除完毕后,右键单击磁盘,在弹出菜单中选择转换成GPT磁盘。
右键单击磁盘,在弹出菜单中选择属性>卷,查看磁盘分区格式是否转换成功。
右键单击磁盘的未分配区域,选择新建简单卷。
在新建简单卷向导对话框中,单击下一步,然后根据向导完成操作。
在指定卷大小对话框中,设置简单卷大小,然后单击下一步。
如果您只需要创建一个主区,直接使用默认值即可。您也可以根据需要设置简单卷大小,把磁盘 1分成多个分区来使用。
在分配驱动器号和路径对话框中,选择分配以下驱动器号,并选择盘符名称(例如D),然后单击下一步。
在格式化分区对话框中,选择按下列设置格式化这个卷,并设置格式化信息,然后单击下一步。
查看新建的简单卷信息,单击完成,关闭新建简单卷向导。
分区格式转换完成后,磁盘管理中磁盘 1的状态如下图所示。
(可选)步骤二:恢复云盘数据
如果您已备份并需要恢复原云盘数据,分区转换完成后,您需要手动拷贝数据至原云盘,并确认数据无误后再使用。
步骤三:扩容分区和文件系统
MBR分区转换为GPT分区成功后,您可依照扩容分区和文件系统(Windows)继续执行扩容分区及文件系统操作。
常见问题
问题:运行转换分区
sgdisk -g
命令时,提示如下信息。Warning! Secondary partition table overlaps the last partition by 33 blocks! You will need to delete this partition or resize it in another utility.
原因:云盘尾部剩余空间不足33个扇区,没有足够的空间用于MBR转换为GPT。
解决方案:先参考步骤一:扩容云盘容量在ECS控制台扩容云盘容量后,再转换分区格式。
问题:运行转换分区
sgdisk -g
命令时,提示如下信息。原因:云盘头部剩余空间不足以容纳GPT分区表所需的头部信息。这通常是因为数据或分区位于磁盘的非常靠前位置,没有足够的空间来放置GPT的分区表结构。这种情况下,是不支持转换分区的。
解决方案:
问题:运行转换分区
type sgdisk || yum install -y gdisk
命令时,提示如下信息。Error downloading packages: gdisk-0.8.10-3.1.al7.x86_64: Insufficient space in download directory /var/cache/yum/x86_64/2.1903/updates/packages * free 0 * needed 190 k
原因:下载目录(/var/cache/yum/x86_64/2.1903/updates/packages)没有足够的空间来下载所需的包。
解决方案:需要清理空间,增加下载目录的大小。