美文网首页
阿里云离线扩容云盘(Linux系统)

阿里云离线扩容云盘(Linux系统)

作者: 彩色的炮灰 | 来源:发表于2021-09-01 11:15 被阅读0次

    离线扩容云盘(Linux系统)

    云盘(系统盘或数据盘)使用空间不足时,您可以扩容云盘的存储容量。如果您的ECS实例不支持在线扩容云盘,可以通过离线扩容的方式为Linux实例进行扩容云盘。离线扩容云盘需要重启实例,您的业务会短暂中断,建议在业务不繁忙时操作。

    前提条件

    在Linux实例使用离线扩容云盘前,需要满足以下条件。

    | 资源 | 限制条件 |
    ----|------|----
    | --- | --- |
    | 实例 |

    |
    | 云盘 |

    • 云盘状态为使用中(In Use)。
    • 云盘类型为ESSD云盘、SSD云盘或高效云盘。
    • 包年包月ECS实例续费降配后,当前计费周期的剩余时间内,不支持扩容实例的包年包月云盘。

    注意 一个已有分区采用了MBR分区格式,则不支持扩容到2 TiB及以上。如果您的MBR分区容量需要扩容到2 TiB以上,建议您先创建一块大于2 TiB的云盘并格式化为GPT分区,再将MBR分区中的数据拷贝到GPT分区中。格式化GPT分区操作,请参见分区格式化大于2 TiB数据盘

    |

    背景信息

    本文示例中使用的配置如下所示。

    <caption style="padding: 0px; margin: 0px; box-sizing: border-box; font-style: normal; font-weight: 500; text-align: left;"></caption><colgroup style="padding: 0px; margin: 0px; box-sizing: border-box;"><col style="padding: 0px; margin: 0px; box-sizing: border-box; width: 0px;"><col style="padding: 0px; margin: 0px; box-sizing: border-box; width: 0px;"></colgroup>

    资源 描述
    ECS实例的镜像 公共镜像Alibaba Cloud Linux 2.1903 LTS 64位
    系统盘 /dev/vda:使用MBR分区和ext4文件系统,由40 GiB扩容到60 GiB。
    数据盘
    • /dev/vdb:使用MBR分区和ext4文件系统,由40 GiB扩容到60 GiB。
    • /dev/vdc:使用GPT分区和xfs文件系统,由40 GiB扩容到60 GiB。

    |

    步骤一:创建快照

    在扩容云盘前,为云盘创建快照,做好数据备份。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择实例与镜像<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>实例。

    3. 在顶部菜单栏左上角处,选择地域。

    4. 找到需要扩容云盘的实例,单击实例ID。

    5. 在实例详情页,单击云盘页签。

    6. 找到需要扩容的云盘,在操作列单击创建快照。

    7. 在弹出的对话框中,输入快照名称,并按需绑定标签后,单击确定。

    8. 单击快照页签,查看已创建的快照。

      当快照的进度为100%时,表示快照创建完成,您可以执行后续操作。

    步骤二:在控制台扩容云盘容量并重启(或启动)ECS实例

    1. 在实例详情页,单击云盘页签。

    2. 选择需要扩容的云盘,在操作列单击更多<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>云盘扩容。

      如果需要批量扩容多个云盘,请使用阿里云账号在存储与快照<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>云盘页面选择多个云盘后,单击底部的云盘扩容。挂载在同一ECS实例下的云盘不支持批量扩容功能。

    3. 在磁盘扩容页面,设置扩容后容量。

      设置的扩容后容量不允许小于当前容量。

    4. 确认费用,阅读并选择服务条款后,单击确认扩容。

    5. 阅读磁盘扩容须知后,单击已阅读,继续扩容,完成支付。

    6. 在控制台重启(或启动)实例。

      说明

      • 如果您的实例状态为运行中(Running)则需要在控制台重启实例;如果您的实例状态为已停止(Stopped)则需要在控制台启动实例。
      • 实例必须经过控制台重启实例或者调用API RebootInstance,才可以看到云盘容量扩展。在实例操作系统里重启无效。

      以下步骤以重启实例为示例。

      1. 在左侧导航栏,单击实例与镜像<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>实例。
      2. 找到需要重启的实例,在操作列单击更多<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>实例状态<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>重启。
      3. 在重启实例对话框中,单击确定。

    步骤三:查看云盘分区情况

    进入ECS实例内部,查看系统盘和数据盘的分区类型(MBR和GPT)和文件系统类型(ext4、xfs等)。不同的分区和文件系统,后续扩容分区和文件系统操作中存在差异。

    1. 远程登录ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例

    2. 运行以下命令查看实例的云盘情况。

      fdisk -lu
      
      示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/dev/vdc1)的三个分区为例,执行结果如下所示。 查看云盘分区情况

      <caption style="padding: 0px; margin: 0px; box-sizing: border-box; font-style: normal; font-weight: 500; text-align: left;"></caption><colgroup style="padding: 0px; margin: 0px; box-sizing: border-box;"><col style="padding: 0px; margin: 0px; box-sizing: border-box; width: 0px;"><col style="padding: 0px; margin: 0px; box-sizing: border-box; width: 0px;"><col style="padding: 0px; margin: 0px; box-sizing: border-box; width: 0px;"></colgroup>

      序号 分区 说明
      /dev/vda1 系统盘,System取值Linux表示为MBR分区。
      /dev/vdb1 数据盘,System取值Linux表示为MBR分区。
      /dev/vdc1 数据盘,System取值GPT表示为GPT分区。

      说明 如果您的查询结果中云盘容量还是40 GiB(Disk /dev/vda: 42.9 GB),表示扩容不成功,建议您在控制台重启下本实例。

    3. 运行以下命令确认已有分区的文件系统类型。

      df -Th
      

      执行结果如下所示。

      查看文件系统

    步骤四:扩容分区

    通过查看云盘分区情况,在ECS实例内分区和文件系统并未扩容。此步骤介绍如何在ECS实例内部扩容云盘分区。

    1. 在ECS实例内部,安装gdisk工具。

      如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。

      yum install gdisk -y
      
    2. 安装growpart工具。

      • CentOS 7及以上版本运行以下命令。

        yum install -y cloud-utils-growpart
        
      • Debian 9及以上版本、Ubuntu14及以上版本运行以下命令。

        更新软件源。

        apt-get update
        

        安装cloud-guest-utils。

        apt-get install -y cloud-guest-utils
        
    3. 运行以下命令扩容分区。

      growpart /dev/vda 1
      

      此示例以扩容系统盘为例,/dev/vda1之间需要空格分隔。如果需要扩容其他分区,请根据实际情况修改命令。执行结果如下所示。![growpart](https://upload-

    [root@izr0rezj708rogz ~]# growpart /dev/vda 1
    CHANGED: partition=1 start=2048 old: size=209711104 end=209713152 new: size=838858719 end=838860767
    
    
    **说明** 您在执行此步骤时,可能出现报错信息`unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]`。关于如何排查此问题,请参见本文的常见问题部分。
    

    步骤五:扩容文件系统

    此步骤介绍如何ECS实例内部扩容分区的文件系统。

    1. 在ECS实例内部,根据查询的文件系统类型,扩容文件系统。

      • 扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。

        扩容系统盘/dev/vda1的文件系统。

        resize2fs /dev/vda1    
        

        扩容数据盘/dev/vdb1的文件系统。

        resize2fs /dev/vdb1          
        

        说明 /dev/vda1/dev/vdb1都是分区名称,您需要根据实际情况修改。

      • 扩容xfs文件系统:运行以下命令扩容文件系统。

        xfs_growfs /media/vdc
        

        说明 /media/vdc/dev/vdc1的挂载点,您需要根据实际情况修改。

    2. 运行以下命令检查扩容后结果。

      df -Th
      

      执行结果如下所示。

      查看扩容结果

      扩容完成后,您需要根据实际情况检查数据是否正常。

      • 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。
      • 如果扩容失败,则通过备份的快照回滚数据。

    </article>

    </main>

    相关文章

      网友评论

          本文标题:阿里云离线扩容云盘(Linux系统)

          本文链接:https://www.haomeiwen.com/subject/xdjxwltx.html