实践概述
当磁盘投入使用之后,在进行云硬盘扩容时,请务必在扩容前检查磁盘的分区形式,具体形式说明如下:
分区形式 | 注意事项 |
---|---|
MBR分区 | 容量最大支持2TB(2048GB),超过2TB的部分无法使用。 |
GPT分区 | 容量最大支持18EB(19327352832GB)。云硬盘服务支持的最大数据盘容量为32TB(32768GB),即您最大可将数据盘扩容至32TB。 |
MBR分区需扩容至2TB以上 | 必须将磁盘分区形式由MBR切换成GPT,期间会中断业务,并且更换磁盘分区形式时会清除磁盘的原有数据,请在扩容前先对数据进行备份。 |
本文将以操作系统为“CentOS 7.6 64bit”镜像的弹性云主机为例,介绍磁盘扩容至大于2TB之后,分区如何转换。
操作前准备
本节介绍在具体实践之前,用户需要做的资源规划、资源创建以及注意事项。
资源规划
本实践以操作系统为“CentOS 7.6 64bit”的云主机为例,介绍处理Linux云主机实例磁盘空间不足的方法,需要您提前做好资源规划,具体资源如下:
资源 | 资源说明 | 数量 | 详情链接 |
---|---|---|---|
弹性云主机 | 操作系统为“CentOS 7.6 64bit” | 1个 | 弹性云主机计费 |
云硬盘 | 数据盘前期40G,后期扩容至大于2TB | 1个 | 云硬盘计费 |
弹性IP | 弹性云主机需要绑定弹性IP来下载安装包 | 1个 | 弹性IP计费 |
资源创建
- 创建操作系统镜像为“CentOS 7.6 64bit”的弹性云主机,具体操作请参见创建弹性云主机。
- 创建弹性IP并将其绑定至已创建的弹性云主机,具体操作请参见购买弹性IP以及绑定云主机实例。
- 创建云硬盘,并将其挂载至已创建好的弹性云主机中,初始化磁盘分区,确认云硬盘是已经完整挂载好的状态,具体要求为:为一个容量为40G的数据盘/dev/vdb新建分区/dev/vdb1,且将其挂载至/mnt/sdc目录中。具体操作请参见创建云硬盘,挂载云硬盘以及初始化Linux数据盘。
- 扩容云硬盘,为创建好的数据盘扩容至大于2TB,具体操作请参见扩容云硬盘。
注意事项
- 转换分区需要将原有分区进行替换,通常需要先卸载原有分区,因此会在一定程度上影响业务运行,请谨慎操作。
- 转换分区过程中,为防止数据的丢失与异常,请在操作之前先备份数据,若出现误操作可使用云硬盘快照或云硬盘备份来恢复数据。
操作步骤
所有操作步骤都是以操作系统“CentOS 7.6 64bit”弹性云主机为例,回显结果仅供参考。
数据备份
转换分区过程中,为防止数据的丢失与异常,请在操作之前先备份数据,请参见创建云硬盘快照或创建云硬盘备份。
若出现误操作可使用云硬盘快照或云硬盘备份来恢复数据,请参见快照回滚或使用备份恢复云硬盘。
卸载分区
- 登录控制中心。
- 单击控制中心左上角的,选择地域,此处我们选择华东1。
- 单击“计算>弹性云主机”,进入弹性云主机页面。
- 单击待操作的弹性云主机所在行的“操作>远程登录”。
- 以root用户身份登入云主机,登录之后如图:
- 执行命令
df -h
,来查看当前云主机中磁盘挂载情况。回显信息如图所示:
从图中可看出,在操作前,已经为一个容量为40G的数据盘/dev/vdb新建了分区/dev/vdb1,且已经挂载至了/mnt/sdc目录中。
- 执行命令
fdisk -l
,查看分区/dev/vdb1的分区类型是否为MBR。回显信息如图所示:
当“System”显示为“Linux”时表示为MBR分区,不同操作系统显示略有不同。
- 执行命令
umount /mnt/sdc
来卸载分区,/mnt/sdc为挂载点。具体操作如图所示:
- 执行命令
lsblk
查看卸载结果,操作及回显信息如图所示:
从图中可以看到,属于/dev/vdb1的挂载点“MOUNTPOINT”已经为空了。说明分区已经卸载成功。
转换分区
接下来,开始将MBR分区转换为GPT分区。
- 执行命令
parted /dev/vdb
,并输入“p”,按“Enter”键,查看当前的分区信息。
如图所示,当前磁盘容量为2190G,是大于2TB的。
- 输入“rm 1”,这里的1指的的分区号(number),按“Enter”,删除分区1。
- 输入“p”,按“Enter”,查看当前分区信息,可以查看到分区是否已经删除。具体操作及回显如图所示:
如图所示,分区已被删除。
- 输入“mklabel GPT”,按“Enter”,直接使用GPT分区来划分分区,会给出一行提示,确认提示之后,输入“Yes”,按“Enter”,具体回显信息如图所示:
- 输入 “mkpart primary 2048s 100%” ,按“Enter”创建分区。2048在这里代表磁盘初始容量,100%代表磁盘截止容量,用户可以根据自身的业务需求来自行规划磁盘分区的容量和数量。
注意
如果此命令行中的磁盘初始容量大于原分区,则可能会导致数据丢失。
如果此命令行中的磁盘截止容量小于原分区,则可能会导致数据丢失。
- 输入“p”,按“Enter”查看当前分区情况,回显信息如下图所示:
从图中可以看到,新的分区已经替换成功。
- 输入“q”,按“Enter”,即可退出分区工具parted。
挂载分区
接下来可以挂载分区,继续将/dev/vdb1挂载至/mnt/sdc。
执行命令 mount /dev/vdb1 /mnt/sdc
,具体回显信息如下图所示:
扩容文件系统
接下来扩容文件系统,以ext文件系统为例:
执行命令 resize2fs /dev/vdb1
,这里的vdb1为对应分区。具体操作及回显如下图所示:
若想要扩容xfs文件系统,则使用xfs_growfs命令,例如xfs_growfs /dev/vdb1。
开机自动挂载
请参考初始化Linux数据盘(fdisk)中的“设置开机自动挂载磁盘”来为此实践设置自动挂载。
至此,云硬盘从小于2TB扩容至大于2TB的分区转换已全部完成。