阿里云磁盘如何在线扩容云盘(Linux)

发表时间:2022/09/23 阅读量:1171 来源: 云熙科技

云服务器.jpg

云熙科技是阿里云精英级代理商,具备专业的企业IT解决方案,为客户提供上云咨询到产品配置、云上解决方案、应用迁移、安全防护等全套服务支持,帮助更多的客户快速、便捷、低成本地实现数字化的转型。


云盘(系统盘或数据盘)使用空间不足时,您可以扩容云盘的存储容量。本文介绍如何在不需要停止实例运行的情况下为Windows实例扩容云盘容量。

步骤一:创建快照

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

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部菜单栏左上角处,选择地域。
  4. 找到需要扩容云盘的实例,单击实例ID。
  5. 实例详情页,单击云盘页签。
  6. 找到需要扩容的云盘,在操作列单击创建快照
  7. 在弹出的对话框中,根据实际情况配置快照信息,然后单击确定
    更多信息,请参见创建一个云盘快照
  8. 单击快照页签,查看已创建的快照。
    当快照的进度100%时,表示快照创建完成,您可以执行后续操作。


步骤二:在控制台扩容云盘容量

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部菜单栏左上角处,选择地域。
  4. 找到需要扩容云盘的实例,单击实例ID。
  5. 实例详情页,单击云盘页签。
  6. 找到需要扩容的云盘,在操作列选择更多 > 扩容
    如果需要批量扩容多个云盘,请使用阿里云账号在存储与快照 > 云盘页面选择多个云盘后,单击底部的扩容。挂载在同一ECS实例下的云盘不支持批量扩容功能。
    说明 只有阿里云账号可以执行批量扩容,RAM用户无权限操作,请使用阿里云账号登录ECS管理控制台
  7. 磁盘扩容页面,选中在线扩容,并设置扩容后容量
    设置的扩容后容量不允许小于当前容量。
  8. 确认费用,阅读并选中云服务器ECS服务条款后,单击确认扩容
  9. 阅读磁盘扩容须知后,单击已阅读,继续扩容,完成支付。

步骤三:扩容分区和文件系统(Linux)

第一:查看云盘分区情况

在ECS控制台上扩容云盘后,对应分区和文件系统并未扩容,您需要进入ECS实例内部,查看系统盘和数据盘的分区类型(MBR和GPT)和文件系统类型(ext4、xfs等)。不同的分区和文件系统,后续扩容分区和文件系统操作中存在差异。

  1. 远程登录ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例
  2. 运行以下命令查看实例的云盘情况。
    fdisk -lu
    示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/dev/vdc1)的三个分区为例,执行结果如下所示。查看云盘分区情况

    序号分区说明
    /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

    执行结果如下所示。其中,Mounted on列为文件系统对应的挂载点。

    查看文件系统

第二:扩容分区

注意 云盘和文件系统正在被使用的状态下,采用resizefs等工具在线扩容文件系统,有可能会触发文件系统数据问题,该问题与镜像内核版本、resize2fs工具版本相关,与云盘扩容本身无关。因此建议您在扩容分区和文件系统前,为云盘创建快照,做好数据备份,并确认相关镜像和工具的可靠性。具体操作,请参见创建一个云盘快照

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

  1. 在ECS实例内部,安装gdisk工具。如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。
    yum install gdisk -y
  2. 安装growpart工具。
    • Alibaba Cloud Linux 2/3版本、CentOS 7及以上版本运行以下命令。
      yum install -y cloud-utils-growpart
      说明 由于CentOS 8结束生命周期(EOL),如果您使用CentOS 8系统的ECS实例,请先切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?
    • Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。

      更新软件源。

      apt-get update

      安装cloud-guest-utils。

      apt-get install -y cloud-guest-utils
  3. 运行以下命令扩容分区。
    growpart /dev/vda 1
    示例命令表示扩容系统盘的第一个分区,/dev/vda是系统盘,1是分区编号,/dev/vda1之间需要空格分隔。growpart请根据实际情况修改命令,继续扩容数据盘的分区。
    • 扩容数据盘/dev/vdb
      growpart /dev/vdb 1
    • 扩容数据盘/dev/vdc
      growpart /dev/vdc 1
    说明
    • 如果单盘有多个连续分区的情况,例如数据盘/dev/vdb有三个分区/dev/vdb1/dev/vdb2/dev/vdb3。扩容时,只需要扩容最后一个分区即可,即执行growpart /dev/vdb 3,即可完成数据盘 /dev/vdb的分区扩容。
    • 您在执行此步骤时,可能出现报错信息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文件系统:运行以下命令扩容数据盘/dev/vdc1的文件系统。
      xfs_growfs /media/vdc
      说明 /media/vdc/dev/vdc1的挂载点,您需要根据实际情况修改。
    • 扩容btrfs文件系统:如果您的数据盘文件系统为btrfs,则需要运行以下命令扩容文件系统。
      btrfs filesystem resize max /mountpoint
      说明 /mountpoint为数据盘对应的挂载点,您需要根据实际情况修改。
  2. 运行以下命令检查扩容后结果。
    					 					

联系我们 更多 +

咨询电话(Tel) 132-4670-0747 邮箱:keming_liu@aliyun.com
地址:广东省深圳市宝安区银田创意园宗泰文创产业园B15栋503室

关注微信
添加即时沟通了解