最近更新时间:2024-04-18 16:11:34
当您的云硬盘在已存在GPT分区并已创建文件系统的情况下,且扩容后容量≥2TB。则请根据实际情况,通过以下两种方式扩展分区及文件系统:
已创建快照备份数据(备注:为防止操作失误导致数据丢失,强烈建议您操作前使用快照备份数据)。
已在控制台上完成云硬盘扩容。
已确认扩容分区格式(为GPT分区),详情请参考扩展方式概述。
分区文件系统为ext2/ext3/ext4/xfs,且当前文件系统不能有错误。
若操作系统是按照中文安装,则需执行LANG=en_US.UTF-8命令
,将操作系统改为英文后再执行扩容等命令。
操作环境
资源 | 说明 |
---|---|
操作系统 | CentOS 6.5 64bit |
数据盘 | /dev/vdb:使用GPT分区和ext4文件系统,由200GB扩容到2200GB |
执行lsblk
命令,查询确认待扩展云硬盘的分区及挂载信息,以云硬盘/dev/vdb
、/dev/vdc
,为例:
lsblk
返回结果如下图所示:
可从图中获取以下信息:
云硬盘信息 | 分区信息 | 分区说明 |
---|---|---|
/dev/vdb,数据盘,云硬盘容量为2200GB | /dev/vdb1 | 分区容量为200GB,挂载点为/mnt/data_disk01 |
/dev/vdc,数据盘,云硬盘容量为3000GB | /dev/vdc1 | 分区容量为2.4T,挂载点为/mnt/data_disk02 |
执行以下命令,查询实例中云硬盘的文件系统信息。
df -Th
返回结果如下图所示:
可从图中获取以下信息:
分区信息 | 文件系统类型 | 挂载点 |
---|---|---|
/dev/vda1 | ext4 | 已挂载至/ |
/dev/vdb1 | ext4 | 已挂载至/mnt/data_disk01 |
/dev/vdc1 | xfs | 已挂载至/mnt/data_disk02 |
执行umount <挂载点>
命令,卸载分区挂载,以/dev/vdb1
挂载点/mnt/data_disk01
为例。
umount /mnt/data_disk01
说明:请将待扩容的云硬盘上所有分区都解挂后,再进行下列步骤。
执行parted <云盘设备名称> print
命令,查询云硬盘GPT分区信息,并记录现有分区的分区号和起始扇区的值;以/dev/vdb
为例。
parted /dev/vdb print
若在过程中提示Fix/Ignore/Cancel
和Fix/Ignore
,如下图所示信息,均输入Fix
。
执行结果如下所示:
本例中,现有分区大小为200GB,分区号(即Number的值)为1,起始扇区(即Start)的值为1049kB。
注意:当前分区的起始位置Start值必须做好记录。删除分区并新建后,Start值必须保持不变,否则将会引起数据丢失。
执行parted <云盘设备名称>
命令,进入parted 分区工具,进行分区扩容操作,本文以云硬盘/dev/vdb
为例,将扩容的2000G容量扩展至原有GPT分区。
parted /dev/vdb
依次执行以下步骤:
a. 执行rm <分区 Number>
命令,删除原有分区,本例中云硬盘/dev/vdb
上有一个分区,Number 为“1”,则执行以下命令。
rm 1
b. 执行print
命令,确定分区已删除。
注意:如果误删分区,可立即执行 rescue 命令,并根据提示输入Start、End值确认恢复分区。
c. 执行mkpart primary <原分区起始扇区> 100%
命令重新创建主分区;
本例中云硬盘/dev/vdb
上原分区的起始扇区为1049kB
,100%表示此分区到磁盘的最末尾,将扩容后的总容量(即2200GB)全部分配给该分区,则执行以下命令。
mkpart primary 1049kB 100%
d. 执行print
命令,查看新分区是否已创建成功。
e. 执行quit
命令,退出 parted 工具。
执行命令交互结果,如下图所示:
在实例操作系统内,根据查询到的文件系统类型,执行对应命令扩容文件系统。
执行mount <云盘设备分区> <挂载点>
命令,手动挂载扩容后的分区;本文以/dev/vdb1
分区,挂载点以/mnt/data_disk01
为例。
mount /dev/vdb1 /mnt/data_disk01
执行以下命令,检查扩容结果。
df -Th
返回结果如下图所示:
则表示已扩容完成,请您根据实际情况检查数据是否正常。
如果扩容成功,KEC实例中的业务程序可持续正常运行。
如果扩容失败,需通过备份的快照回滚数据。
操作环境
资源 | 说明 |
---|---|
操作系统 | CentOS 6.5 64bit |
数据盘 | /dev/vdb:使用MBR分区和ext4文件系统,原分区1容量为200GB不变,新增分区2容量为2000G |
执行lsblk
命令,查询确认待扩展云硬盘的分区及挂载信息,以云硬盘/dev/vdb
、/dev/vdc
,为例:
lsblk
返回结果如下图所示:
可从图中获取以下信息:
云硬盘信息 | 分区信息 | 分区说明 |
---|---|---|
/dev/vdb,数据盘,云硬盘容量为2200GB | /dev/vdb1 | 分区容量为200GB,挂载点为/mnt/data_disk01 |
/dev/vdc,数据盘,云硬盘容量为3000GB | /dev/vdc1 | 分区容量为2.4T,挂载点为/mnt/data_disk02 |
执行以下命令,查询实例中云硬盘的文件系统信息。
df -Th
返回结果如下图所示:
可从图中获取以下信息:
分区信息 | 文件系统类型 | 挂载点 |
---|---|---|
/dev/vda1 | ext4 | 已挂载至/ |
/dev/vdb1 | ext4 | 已挂载至/mnt/data_disk01 |
/dev/vdc1 | xfs | 已挂载至/mnt/data_disk02 |
执行umount <挂载点>
命令,卸载分区挂载,已/dev/vdb1
挂载点/mnt/data_disk01
为例。
umount /mnt/data_disk01
说明:请将待扩容的云硬盘上所有分区都解挂后,再进行下列步骤。
执行parted <云盘设备名称> print
命令,查询云硬盘GPT分区信息,并记录现有分区的分区号和结束扇区的值;以/dev/vdb
为例。
parted /dev/vdb print
若在过程中提示Fix/Ignore/Cancel
和Fix/Ignore
,如下图所示信息,均输入Fix
。
执行结果如下所示:
本例中,现有分区大小为200GB,分区号(即Number的值)为1,结束扇区(即Eed)的值为215GB。
注意:当前分区的起始位置End值必须做好记录;此值作为下一个分区的起始偏移值。
执行parted <云盘设备名称>
命令,进入parted 分区工具,进行分区扩容操作,本文以云硬盘/dev/vdb
为例,将扩容的2000G容量格式化独立GPT分区。
parted /dev/vdb
依次执行以下步骤:
a. 执行print
命令,确认现有分区的分区号和结束扇区的值。
b. 执行mkpart <分区名称> <起始扇区> 100%
命令,新建一个主分区;此分区将从已有分区的末尾开始,并将云硬盘所有新增空间分配给该分区。
本例中新建名称为primary
的/dev/vdb2
分区,起始扇区为上一个分区的结束扇区215GB
,将扩容的容量(即2000GB)全部分配给新建分区,则执行以下命令。
mkpart primary 215GB 100%
c. 执行print
命令,查看新分区是否已创建成功。
d. 执行quit
命令,退出 parted 工具。
执行命令交互结果,如下图所示:
执行以下命令,查看新分区。
lsblk
执行结果如下图所示(/dev/vdc
已参照步骤5进行新建分区操作):
执行mkfs.<fstype> <云盘设备分区>
命令,格式化新分区并创建文件系统。
执行mkdir <新挂载点>
命令,为新分区创建新的挂载点;本文以新挂载点/mnt/data_disk03
为例。
mkdir /mnt/data_disk03
执行mount <云盘设备分区> <挂载点>
命令,手动挂载新分区;本文以/dev/vdb2
分区,挂载点/mnt/data_disk03
为例。
mount /dev/vdb2 /mnt/data_disk03
执行以下命令,查看新分区信息。
df -Th
返回结果如下图所示:
则表示已扩容完成,请您根据实际情况检查数据是否正常。
如果扩容成功,KEC实例中的业务程序可持续正常运行。
如果扩容失败,需通过备份的快照回滚数据。
可选操作说明
若您需要云服务器在重启或开机时能自动挂载数据盘的新分区,则需要执行下列步骤添加新分区信息至/etc/fstab中。
纯净模式