开发者社区> 阿里云运维工程师> 正文

阿里云服务器linux系统如何原地扩容磁盘?

简介: 您可以按以下步骤完成扩容操作: 在控制台上扩容数据盘的磁盘空间。 登录实例扩容文件系统。 前提条件 实例处于 运行中 (Running) 或 已停止(Stopped) 状态。 数据盘的状态为 待挂载 或 使用中。
+关注继续查看

您可以按以下步骤完成扩容操作:

  1. 在控制台上扩容数据盘的磁盘空间。

  2. 登录实例扩容文件系统。

前提条件

  • 实例处于 运行中 (Running) 或 已停止(Stopped) 状态。

  • 数据盘的状态为 待挂载 或 使用中。

  • 数据盘已做分区。

  • 建议在扩容数据盘之前手动创建快照,以备份数据。

注意事项

  • 扩容这种数据盘需要在控制台上重启实例后才能使扩容后的容量生效,而重启实例会停止实例,中断您的业务,所以请您谨慎操作。

  • 包年包月实例如果做过 续费降配 操作,当前计费周期的剩余时间内,实例上的包年包月云盘不支持扩容磁盘操作。

  • 如果数据盘正在创建快照,则不允许执行扩容数据盘的操作。

  • 磁盘扩容功能只能扩容数据盘,不能扩容系统盘或本地盘(本地 SSD 盘等)。

步骤 1. 在控制台上扩容数据盘的磁盘空间

按以下步骤在控制台上扩容数据盘的磁盘空间:

  1. 登录 阿里云服务器ECS管理控制台。

  2. 在左侧导航栏里,选择 存储>云盘。

         

    说明 如果您需要扩容的数据盘已经挂载在某个实例上,您可以单击实例,找到相应实例后,进入实例详情页,并单击本实例磁盘。

  3. 选择地域。

  4. 找到需要扩容的磁盘,并在 操作 列中,选择 更多>磁盘扩容。

  5. 在 磁盘扩容 页面上,设置 扩容后容量,在本示例中为30 GiB。扩容后容量只能比当前容量大。

  6. 待页面上显示费用信息后,单击 确定扩容。

         

    说明 扩容成功后,磁盘列表里即显示扩容后的容量。但是,如果您的数据盘已经挂载到实例上,只有在控制台上 重启实例 后,登录实例才能看到新的磁盘空间容量。

在控制台上扩容数据盘的磁盘空间后,

  • 如果数据盘已经挂载到实例上,您必须 登录实例扩容文件系统。

  • 如果数据盘未挂载到实例上,您必须先挂载数据盘,再根据数据盘的实际情况执行不同的操作:

    • 如果这是一个未格式化的数据盘,您必须格式化数据盘。

    • 如果这个数据盘之前已经格式化并分区,您必须 登录实例扩容文件系统。

步骤 2. 登录实例扩容文件系统

在ECS控制台上完成磁盘扩容后,磁盘每个分区的文件系统并未扩容。您需要登录实例扩容文件系统。

在本示例中,假设数据盘挂载在一台Linux实例上,实例的操作系统为CentOS 7.3 64位,未扩容前的数据盘只有一个主分区(/dev/vdb1,ext4文件系统),文件系统的挂载点为/resizetest,文件系统扩容完成后,数据盘仍然只有一个主分区。

  1. 远程连接实例。

  2. 运行 umount 命令卸载主分区。

       

    umount /dev/vdb1

         

         

    说明 使用        df -h 查看是否卸载成功,如果看不到 /dev/vdb1 的信息表示卸载成功。以下为示例输出结果。

       

    [root@iXXXXXX ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 1.5G 36G 4% /
    devtmpfs 487M 0 487M 0% /dev
    tmpfs 497M 0 497M 0% /dev/shm
    tmpfs 497M 312K 496M 1% /run
    tmpfs 497M 0 497M 0% /sys/fs/cgroup
    tmpfs 100M 0 100M 0% /run/user/0

         

  3. 使用 fdisk 命令删除原来的分区并创建新分区:

         

    说明 如果您使用        parted 工具操作分区,不能与        fdisk 交叉使用,否则会导致分区的起始扇区不一致。

    1. 运行命令 fdisk -l 罗列分区信息并记录扩容前数据盘的最终容量、起始扇区(First sector)位置。

    2. 运行命令 fdisk [数据盘设备名] 进入 fdisk 界面。本示例中,命令为 fdisk /dev/vdb

    3. 输入d并按回车键,删除原来的分区。

             

      说明 删除分区不会造成数据盘内数据的丢失。

    4. 输入n并按回车键,开始创建新的分区。

    5. 输入p并按回车键,选择创建主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。

             

      说明 如果要创建4个以上的分区,您应该创建至少一个扩展分区,即选择          e

    6. 输入分区编号并按回车键。因为这里仅创建一个分区,所以输入1。

    7. 输入第一个可用的扇区编号:为了保证数据的一致性,First sector需要与原来的分区保持一致。在本示例中,按回车键采用默认值。

             

      说明 如果发现First sector显示的位置和之前记录的不一致,说明之前可能使用          parted 来分区,那么就停止当前的          fdisk 操作,使用 parted 重新操作。

    8. 输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。

    9. 输入 wq 并按回车键,开始分区。

         

      [root@iXXXXXX ~]# fdisk /dev/vdb
      Welcome to fdisk (util-linux 2.23.2).
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      Command (m for help): d
      Selected partition 1
      Partition 1 is deleted
      Command (m for help): n
      Partition type:
      p primary (0 primary, 0 extended, 4 free)
      e extended
      Select (default p):
      Using default response p
      Partition number (1-4, default 1):
      First sector (2048-62914559, default 2048):
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
      Using default value 62914559
      Partition 1 of type Linux and of size 30 GiB is setCommand (m for help): wq
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.

           

             

      说明 如果您使用的是          parted 工具,进入          parted 界面后,输入p罗列当前的分区情况。如果有分区,则使用 rm+ 序列号来删除老的分区表,然后使用          unit s 定义起始位置,单位使用扇区个数计量,最后使用          mkpart 命令来创建即可,如下图所示。          
               15392423265353_zh-CN.png          
             

  4. 部分操作系统里,修改分区后可能会重新自动挂载文件系统。建议先执行 df -h 重新查看文件系统空间和使用情况。如果文件系统重新被挂载,执行 umount [文件系统名称] 再次卸载文件系统。

  5. 检查文件系统,并变更文件系统大小。

       

    e2fsck -f /dev/vdb1 # 检查文件系统resize2fs /dev/vdb1 # 变更文件系统大小

         

         

    说明        

    以下为示例输出结果。

       

    [root@iXXXXXX ~]# e2fsck -f /dev/vdb1
    e2fsck 1.42.9 (28-Dec-2013)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /dev/vdb1: 11/1835008 files (0.0% non-contiguous), 159218/7339776 blocks
    [root@iXXXXXX ~]# resize2fs /dev/vdb1
    resize2fs 1.42.9 (28-Dec-2013)
    Resizing the filesystem on /dev/vdb1 to 7864064 (4k) blocks.
    The filesystem on /dev/vdb1 is now 7864064 blocks long.

         

  • 使用 e2fsck 时,由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。

  • 正确使用 e2fsck 和 resize2fs 指令,不会造成原有数据丢失。

将扩容完成的文件系统挂载到原来的挂载点(如本示例中的 /resizetest)。

   

mount /dev/vdb1 /resizetest

     

查看文件系统空间和使用情况:运行命令 df -h。如果出现扩容后的文件系统信息,说明挂载成功,可以使用扩容后的文件系统了。

     

说明 挂载操作完成后,不需要在控制台上重启实例即可开始使用扩容后的文件系统。

以下为示例输出结果。

   

[root@iXXXXXX ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.5G 36G 4% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 312K 496M 1% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/0/dev/vdb1 30G 44M 28G 1% /resizetest

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云ECS云服务器40G系统盘不够用怎么办?
阿里云ECS云服务器的一些活动机型,默认配备的是40G的高效云盘,问题来了,系统盘存储不够用怎么办?云吞铺子分享解决系统盘不够用的方法: ECS云服务器系统盘不够用怎么办? 两种方法,要么对ECS云服务器的系统盘进行磁盘扩容,要么购买云盘挂载到ECS云服务器上。
3829 0
【云栖号案例 | 教育&科研机构】百家云借助“容器+神龙”三天内实现数十倍扩容
受疫情影响百家云的业务量短时间内增长了数十倍,急需扩容。上云后提供弹性计算的空间与敏捷安全的扩容能力、稳定的服务与优异性能。
3103 0
新买阿里云linux服务器如何设置账号密码xshell远程登陆
官方文档: 阿里云安全组应用案例 虽然阿里云上有文档,但是作为小白,可能多多少少还是看不懂,如果已经看了但是又看不懂的话,可以继续看这篇文章。
1382 0
阿里云ECS云服务器数据盘分区及挂载到指定目录
阿里云服务器的硬盘一般为两块,一个系统盘,一个数据盘,默认数据盘没有被挂载,所以除了系统和环境软件会安装在系统盘里,网站数据等也在系统盘里,数据盘却空置,没法利用其空间与区分系统和数据管理的好处。这里做下说明,如何让网站数据存储在数据盘?有两个方法1 .
8256 0
阿里云服务器Linux主机如何搭建网站环境
网站环境是网站运行的必备条件,因为是运行PHP,所以搭建的环境包括APACHE和MYSQL数据库。   1、使用上一节说明搭建好的FTP上传一键安装包;   2、使用putty远程登录服务器。这里不在赘述,如下图。
5378 0
扩容阿里云kubernetes集群,并升级节点内核
作为早期阿里云 kubernetes 的产品经理, 控制台方式实现节点上下线是我提出来的需求。
791 0
在线教育流量暴涨 阿里云PolarDB分钟级扩容保障教育平台不“卡顿”
疫情期间,停课不停学,在线课堂成为首选模式,由此带来流量洪峰。2月17日,开学第一天,包括学习通、慕课网等在内的多家在线教育平台出现“卡顿”和“死机”,而阿里云数据库通过分钟级扩容,保障了沪江教育、猿辅导、VIPKID、洋葱学院等多家教育平台的平稳。
162 0
基于容器服务的持续集成与云端交付(三)- 从零搭建持续交付系统
前言 在上一篇文章中讨论了容器服务提供的交付能力,在本文中我们将讨论如何从零搭建一个持续交付系统。 对于大多数公司而言,选择一个合适自己的持续交付系统是尤为重要的一件事情,不同的公司、不同的业务使用的场景也各不相同,因此要根据自己的业务场景与发展方向来选择合适的方案。
8328 0
99
文章
6
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载