跳到主要内容

阿里云服务器如何对40G系统盘扩容

开始使用云服务器的时候,总觉得40G够用,毕竟没有什么内容,但是当文件越来越大,总觉得不多留点空间不够安全,于是就想扩一下磁盘,比如,把40G扩展成100G。

然而,阿里云并不支持直接扩容,只提供扩容后的容量,如果你不执行几个命令再重启一下,服务器磁盘空间是不会自动变成100G的,那么我们就需要手工操作。很遗憾,它目前不能自动操作。

步骤分为:备份/快照(安全保障)》》进入服务器命令》》命令查询现有磁盘和磁盘类型》》命令扩充磁盘分区容量》》命令扩展文件系统》》命令查询操作后的容量》》重启》》查看服务器磁盘容量。

其实关键性操作就两个,扩充磁盘容量,扩充文件。

步骤一:创建快照

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

  1. 登录管理控制台。
  2. 找到需要扩容的云盘,在操作列单击创建快照
  3. 单击快照页签,查看已创建的快照。
    当快照的进度100%时,表示快照创建完成,您可以执行后续操作。

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

  1. 实例详情页,单击云盘页签。
  2. 选择需要扩容的云盘,在操作列单击更多 > 云盘扩容

    如果需要批量扩容多个云盘,请使用阿里云主账号在存储与快照 > 云盘页面选择多个云盘后,单击底部的云盘扩容。挂载在同一ECS实例下的云盘不支持批量扩容功能。

  3. 磁盘扩容页面,选中在线扩容,并设置扩容后容量

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

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

  1. 远程登录ECS实例。登录的具体步骤请参见通过Workbench/Putty远程连接Linux实例。
  2. 运行以下命令查看实例的云盘情况。
    fdisk -lu

    示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/vde/vdc1)的三个分区为例,执行结果如下所示。

  3. 查看云盘分区情况

     
    序号 分区 说明
    /dev/vda1 系统盘,System取值Linux表示为MBR分区。
    /dev/vdb1 数据盘,System取值Linux表示为MBR分区。
    /dev/vdc1 数据盘,System取值GPT表示为GPT分区。
  4. 运行以下命令确认已有分区的文件系统类型。
    df -Th

    执行结果如下所示。

    查看文件系统

步骤四:扩容分区

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

  1. 运行以下命令扩容分区。
    growpart /dev/vda 1

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

    说明 您在执行此步骤时,可能出现报错信息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实例中的业务程序能够正常运行,则完成操作。
    • 如果扩容失败,则通过备份的快照回滚数据。
  1. 如果您的分区为GPT格式,必须执行此步骤-安装gdisk工具。;如果您的分区为MBR格式,请跳过此步骤。

    yum install gdisk -y
  2. 安装growpart工具。
    • CentOS 7及以上版本运行以下命令。
      yum install -y cloud-utils-growpart
    • Debian 9及以上版本、Ubuntu14及以上版本运行以下命令。
      apt install -y cloud-guest-utils

延伸阅读:

什么是云服务器?

 

返回顶部