全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

扩展GPT分区及文件系统(≥2TB)

最近更新时间:2021-05-27 23:55:50

操作场景

当您的云硬盘在已存在GPT分区并已创建文件系统的情况下,且扩容后容量≥2TB。则请根据实际情况,通过以下两种方式扩展分区及文件系统:

前提条件

  1. 已创建快照备份数据(备注:为防止操作失误导致数据丢失,强烈建议您操作前使用快照备份数据)。
  2. 已在控制台上完成云硬盘扩容。
  3. 已确认扩容分区格式(为GPT分区),详情请参考扩展方式概述
  4. 分区文件系统为ext2/ext3/ext4/xfs,且当前文件系统不能有错误。

场景一:扩容原分区

将扩容部分容量扩至原GPT分区

操作环境

资源
说明
操作系统 CentOS 6.5 64bit
数据盘 /dev/vdb:使用GPT分区和ext4文件系统,由200GB扩容到2200GB
/dev/vdc:使用GPT分区和xfs文件系统,由2400GB扩容到3000GB
  1. 执行lsblk命令,查询确认待扩展云硬盘的分区及挂载信息,以云硬盘/dev/vdb/dev/vdc,为例:
    lsblk
    

返回结果如下图所示:
image.png
可从图中获取以下信息:

云硬盘信息 分区信息 分区说明
/dev/vdb,数据盘,云硬盘容量为2200GB /dev/vdb1 分区容量为200GB,挂载点为/mnt/data_disk01
/dev/vdc,数据盘,云硬盘容量为3000GB /dev/vdc1 分区容量为2.4T,挂载点为/mnt/data_disk02
  1. 执行以下命令,查询实例中云硬盘的文件系统信息。
    df -Th
    

返回结果如下图所示:
image.png
可从图中获取以下信息:

分区信息 文件系统类型 挂载点
/dev/vda1 ext4 已挂载至/
/dev/vdb1 ext4 已挂载至/mnt/data_disk01
/dev/vdc1 xfs 已挂载至/mnt/data_disk02
  1. 执行umount <挂载点>命令,卸载分区挂载,以/dev/vdb1挂载点/mnt/data_disk01为例。

    umount /mnt/data_disk01
    

    说明:请将待扩容的云硬盘上所有分区都解挂后,再进行下列步骤。

  2. 执行parted <云盘设备名称> print命令,查询云硬盘GPT分区信息,并记录现有分区的分区号和起始扇区的值;以/dev/vdb为例。

    parted /dev/vdb print
    

    若在过程中提示Fix/Ignore/CancelFix/Ignore,如下图所示信息,均输入Fix
    执行结果如下所示:
    本例中,现有分区大小为200GB,分区号(即Number的值)为1,起始扇区(即Start)的值为1049kB。
    image.png

    注意:当前分区的起始位置Start值必须做好记录。删除分区并新建后,Start值必须保持不变,否则将会引起数据丢失。

  3. 执行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 工具。
    执行命令交互结果,如下图所示:
    image.png

  4. 在实例操作系统内,根据查询到的文件系统类型,执行对应命令扩容文件系统。

    • 扩容ext*(例如ext4)文件系统,执行以下命令。
      检查文件系统状态
      e2fsck -f /dev/vdb1
      
      扩容数据盘/dev/vdb1的文件系统
      resize2fs /dev/vdb1
      
      返回结果如下图所示:
      image.png

      说明:/dev/vdb1均为分区名称,请您根据实际情况修改。

    • 扩容xfs文件系统,执行以下命令。
      挂载分区目录
      mount /dev/vdc1 /mnt/data_disk02
      
      扩容数据盘/dev/vdc1的文件系统
      xfs_growfs /mnt/data_disk02
      
      返回结果如下图所示:
      image.png

      说明:/mnt/data_disk02/dev/vdc1的挂载点,请您根据实际情况修改。

  5. 执行mount <云盘设备分区> <挂载点>命令,手动挂载扩容后的分区;本文以/dev/vdb1分区,挂载点以/mnt/data_disk01为例。

    mount /dev/vdb1 /mnt/data_disk01
    
  6. 执行以下命令,检查扩容结果。

    df -Th
    

    返回结果如下图所示:
    image.png
    则表示已扩容完成,请您根据实际情况检查数据是否正常。

    • 如果扩容成功,KEC实例中的业务程序可持续正常运行。
    • 如果扩容失败,需通过备份的快照回滚数据。

场景二:扩容独立分区

将扩容部分容量格式化独立GPT分区

操作环境

资源
说明
操作系统 CentOS 6.5 64bit
数据盘 /dev/vdb:使用MBR分区和ext4文件系统,原分区1容量为200GB不变,新增分区2容量为2000G
/dev/vdc:使用MBR分区和xfs文件系统,原分区1容量为2400GB不变,新增分区2容量为600G
  1. 执行lsblk命令,查询确认待扩展云硬盘的分区及挂载信息,以云硬盘/dev/vdb/dev/vdc,为例:
    lsblk
    

返回结果如下图所示:
image.png
可从图中获取以下信息:

云硬盘信息 分区信息 分区说明
/dev/vdb,数据盘,云硬盘容量为2200GB /dev/vdb1 分区容量为200GB,挂载点为/mnt/data_disk01
/dev/vdc,数据盘,云硬盘容量为3000GB /dev/vdc1 分区容量为2.4T,挂载点为/mnt/data_disk02
  1. 执行以下命令,查询实例中云硬盘的文件系统信息。
    df -Th
    

返回结果如下图所示:
image.png
可从图中获取以下信息:

分区信息 文件系统类型 挂载点
/dev/vda1 ext4 已挂载至/
/dev/vdb1 ext4 已挂载至/mnt/data_disk01
/dev/vdc1 xfs 已挂载至/mnt/data_disk02
  1. 执行umount <挂载点>命令,卸载分区挂载,已/dev/vdb1挂载点/mnt/data_disk01为例。

    umount /mnt/data_disk01
    

    说明:请将待扩容的云硬盘上所有分区都解挂后,再进行下列步骤。

  2. 执行parted <云盘设备名称> print命令,查询云硬盘GPT分区信息,并记录现有分区的分区号和结束扇区的值;以/dev/vdb为例。

    parted /dev/vdb print
    

    若在过程中提示Fix/Ignore/CancelFix/Ignore,如下图所示信息,均输入Fix
    执行结果如下所示:
    本例中,现有分区大小为200GB,分区号(即Number的值)为1,结束扇区(即Eed)的值为215GB。
    image.png

    注意:当前分区的起始位置End值必须做好记录;此值作为下一个分区的起始偏移值。

  3. 执行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 工具。
    执行命令交互结果,如下图所示:
    image.png

  4. 执行以下命令,查看新分区。

    lsblk
    

    执行结果如下图所示(/dev/vdc已参照步骤5进行新建分区操作):
    image.png

  5. 执行mkfs.<fstype> <云盘设备分区>命令,格式化新分区并创建文件系统。

    • 创建ext*(例如ext4)文件系统,执行以下命令。

      创建数据盘/dev/vdb2的文件系统

      mkfs.ext4 /dev/vdb2
      

      返回结果如下图所示:
      image.png

      说明:/dev/vdb2为分区名称,请您根据实际情况修改。

    • 创建xfs文件系统,执行以下命令。
      创建数据盘/dev/vdc2的文件系统

      mkfs.xfs -f /dev/vdc2
      

      返回结果如下图所示:
      image.png

      说明:/dev/vdc2为分区名称,请您根据实际情况修改。
      若界面提示-bash: mkfs.xfs: command not found,则执行以下命令yum -y install xfsprogs安装xfsprogs的rpm软件包。

  6. 执行mkdir <新挂载点>命令,为新分区创建新的挂载点;本文以新挂载点/mnt/data_disk03为例。

    mkdir /mnt/data_disk03
    
  7. 执行mount <云盘设备分区> <挂载点>命令,手动挂载新分区;本文以/dev/vdb2分区,挂载点/mnt/data_disk03为例。

    mount /dev/vdb2 /mnt/data_disk03
    
  8. 执行以下命令,查看新分区信息。

    df -Th
    

    返回结果如下图所示:
    image.png
    则表示已扩容完成,请您根据实际情况检查数据是否正常。

    • 如果扩容成功,KEC实例中的业务程序可持续正常运行。
    • 如果扩容失败,需通过备份的快照回滚数据。

可选操作说明
若您需要云服务器在重启或开机时能自动挂载数据盘的新分区,则需要执行下列步骤添加新分区信息至/etc/fstab中。

  1. 执行以下命令,添加自动挂载信息,本文以自动挂载/dev/vdb2分区,挂载点/mnt/data_disk03为例。
    echo '/dev/vdb2 /mnt/data_disk03 ext4 defaults 0 0' >> /etc/fstab
    
  2. 执行cat /etc/fstab命令,查看自动挂载配置。
    cat /etc/fstab
    
    返回结果如下图所示:
    image.png
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈