随着业务的增长,您的数据盘容量可能无法满足数据存储的需要,这时您可以使用 磁盘扩容 功能扩容数据盘。

  说明
  • 挂载在实例上的数据盘,只有当实例处于 运行中 (Running) 或 已停止(Stopped) 状态时才可以扩容。扩容这种数据盘需要在控制台上重启实例后才能使扩容后的容量生效,而重启实例会停止实例,中断您的业务,所以请您谨慎操作。
  • 建议在扩容数据盘之前手动创建快照,以备份数据。
  • 无论数据盘的状态是 待挂载 还是 使用中,都可以执行磁盘扩容操作。
  • 包年包月实例如果做过 续费降配 操作,当前计费周期的剩余时间内,实例上的包年包月云盘不支持扩容磁盘操作。
  • 如果数据盘正在创建快照,则不允许执行扩容数据盘的操作。
  • 磁盘扩容功能只能扩容数据盘,不能扩容系统盘或本地盘(本地 SSD 盘等)。

本文以一个高效云盘的数据盘和一个运行CentOS 7.3 64位的 ECS 实例为例,说明如何扩容数据盘并使扩容后的容量可用。

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

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

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

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

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

  1. 登录 ECS管理控制台。
  2. 在左侧导航栏里,选择 存储 > 云盘。
      说明
    如果您需要扩容的数据盘已经挂载在某个实例上,您可以单击 实例,找到相应实例后,进入实例详情页,并单击 本实例磁盘。
  3. 选择地域。
  4. 找到需要扩容的磁盘,并在 操作 列中,选择 更多 > 磁盘扩容。
  5. 在 磁盘扩容 页面上,设置 扩容后容量,在本示例中为30 GiB。扩容后容量只能比当前容量大。
  6. 待页面上显示费用信息后,单击 确定扩容。
      说明
    扩容成功后,磁盘列表里即显示扩容后的容量。但是,如果您的数据盘已经挂载到实例上,只有在控制台上 重启实例 后,登录实例才能看到新的磁盘空间容量。

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

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

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

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

  1. 使用用户名密码验证连接 Linux 实例。
  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 交叉使用,否则会导致分区的起始扇区不一致。关于 parted工具的使用说明可以参考这里。
    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 set
      Command (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命令来创建即可,如下图所示。 
  4. 部分操作系统里,修改分区后可能会重新自动挂载文件系统。建议先执行 df -h 重新查看文件系统空间和使用情况。如果文件系统重新被挂载,执行 umount [文件系统名称] 再次卸载文件系统。
  5. 检查文件系统,并变更文件系统大小。

    e2fsck -f /dev/vdb1 # 检查文件系统
    resize2fs /dev/vdb1 # 变更文件系统大小
      说明
    • 使用 e2fsck 时,由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
    • 正确使用 e2fsck 和 resize2fs 指令,不会造成原有数据丢失。

    以下为示例输出结果。


    [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.
  6. 将扩容完成的文件系统挂载到原来的挂载点(如本示例中的 /resizetest)。
    mount /dev/vdb1 /resizetest
  7. 查看文件系统空间和使用情况:运行命令 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

阿里云云盘扩容数据盘_Linux的更多相关文章

  1. 阿里云扩容数据盘_Linux

    扩容数据盘_Linux 更新时间:2018-10-11 15:18:46 · 编辑者 编辑 · ★ 我的收藏 新手学堂 学习路径 本页目录 前提条件 注意事项 步骤 1. 在控制台上扩容数据盘的磁盘空 ...

  2. 阿里云ECS 利用快照创建磁盘实现无损扩容数据盘

    在扩容数据盘时,若遇到磁盘原因导致无法无损的扩容时,可以临时购买一块独立云磁盘来存放数据,然后将数据盘彻底格式化来解决,以下是操作步骤: 1.  首先基于当前数据盘创建一个快照,备份数据,同时可以利用 ...

  3. 扩容数据盘_Linux

    扩容数据盘_Linux_扩容云盘_云盘_用户指南_云服务器 ECS-阿里云 https://help.aliyun.com/document_detail/25452.html 磁盘扩容付费后: 在控 ...

  4. <亲测>阿里云centos7 挂载数据盘配置

    阿里云centos7 挂载数据盘配置 2018年07月17日 15:13:53 阅读数:235更多 个人分类: linux阿里云ECS数据盘挂载   查看磁盘情况 fdisk -l  其中/dev/v ...

  5. 阿里云Linux挂载数据盘

    Linux 系统挂载数据盘   适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) *  Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化 ...

  6. 阿里云Centos7挂载数据盘

    查看磁盘情况 fdisk -l fdisk /dev/vdb 根据提示,分别输入 n. p. . enter.enter.wq fdisk -l mkfs.ext3 /dev/vdb1 挂载磁盘,写入 ...

  7. CEPH 使用SSD日志盘+SATA数据盘, 随OSD数目递增对性能影响的递增测试

    最近建设新机房,趁项目时间空余较多,正好系统的测试一下CEPH集群性能随OSD数目的变化情况, 新ceph集群测试结果如下: 1)4k随机读在3/6/9osd host下的性能差不多,吞吐量约50~6 ...

  8. aliyun添加数据盘parted方式分区格式化和lvm挂载及数据盘的扩容

    一.普通磁盘分区管理方式 1.对磁盘进行分区 列出磁盘 # fdisk -l # fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Change ...

  9. 阿里云CENTOS服务器挂载数据盘

    阿里云Linux云服务器数据盘默认是未做分区和格式化的,使用前需要先挂载数据盘.步骤如下: 1.查看数据盘 在没有分区之前,使用   1 df -h 2.命令,是无法查看到数据盘的,可以使用   1 ...

随机推荐

  1. 【hihoCoder 第133周】【hihoCoder 1467】2-SAT·hihoCoder音乐节

    http://hihocoder.com/problemset/problem/1467 2-sat模板...详细的题解请看题目里的提示. tarjan模板打错again致命伤qwq #include ...

  2. [Atcoder 080] A~D Tutorial

    很好奇这周为什么只有Beginner Contest而没有Regular Contest,本来想着去30minAK的,结果1个小时了还有一道题调不出来o(╯□╰)o A:Parking 让我体验了下开 ...

  3. 【Floyd】噪音恐惧症

    [UVA10048]噪音恐惧症 题面略 试题分析:直接Floyd一下维护u到v的路径最大值最小就可以了,1A 代码: #include<iostream> #include<cstr ...

  4. 【贪心+优先队列】POJ3190-Stall Reservations

    [题目大意] 给出每个奶牛挤奶的时间,同一时间同一畜栏内不会有两头奶牛挤奶,问至少要多少个畜栏. [思路] 将奶牛按照挤奶开始的时间进行升序排序,再用一个小顶堆维护每一个畜栏当前的挤奶结束时间.对于当 ...

  5. bzoj 2073: [POI2004]PRZ

    2073: [POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍在桥上的 ...

  6. JAVA使用POI如何导出百万级别数据(转载)

    用过POI的人都知道,在POI以前的版本中并不支持大数据量的处理,如果数据量过多还会常报OOM错误,这时候调整JVM的配置参数也不是一个好对策(注:jdk在32位系统中支持的内存不能超过2个G,而在6 ...

  7. 离线安装ocp3.11需要注意的事情

    检查阶段 运行部署前检查的时候 # ansible-playbook -vv playbooks/prerequisites.yml 需要看看play recap是否全过,如果不过需要定位原因,反复执 ...

  8. iOS: 工具栏控件UIToolBar和工具栏按钮控件UIBarButtonItem的使用

    一.工具栏控件:UIToolBar:UIView 介绍: ToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar Button Item(可以是自定义的Custom.也可以是系统 ...

  9. android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1

    Android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1 原因权限问题, 应该添加如下权限: <uses-permission android ...

  10. 流畅的python第十五章上下文管理器和else块学习记录

    with 语句和上下文管理器for.while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文.这么做能避免错误并减少样板代码, ...