阿里云ECS扩容系统盘操作步骤-liunx系统下
发布时间:2017-07-11 16:08
扩容数据盘(Linux)
随着业务的增长,您的磁盘容量可能无法满足数据存储的需要,这时您可以扩容磁盘。扩容磁盘后,之前磁盘上的数据仍会保留。
扩容须知
扩容前
-
建议在扩容磁盘之前 手动创建快照,以备份数据。
-
磁盘上如果正在执行创建快照的操作,则此时不允许进行扩容操作。
-
只做磁盘容量的扩容,不做文件系统的扩容。
-
支持普通盘的扩容,不支持本地盘(本地磁盘、本地 SSD 盘)的扩容。
-
挂载在实例上的数据盘,只有实例为 运行中 (Running) 或者 已停止 (Stopped) 状态时,才可以进行扩容操作。
-
如果您尚未对磁盘进行过格式化、挂载等操作,请参考 格式化和挂载数据盘 先进行格式化和挂载。
扩容后
-
使用 ECS 控制台或者 Open API 扩容磁盘之后,需要在 ECS 控制台或者使用 Open API 重启实例之后才可以生效。
-
扩容生效之后的磁盘,仍然需要用户手动格式化扩展的存储空间。
操作步骤
本文档以 Ubuntu 14.04 系统为例,介绍如何进行磁盘扩容。其他 Linux 系统的操作相似。
本实例中,选定最初的磁盘大小为 63 GB,我们将其扩容到 70 GB。
-
登录 云服务器管理控制台。
-
单击 云服务器 ECS,进入 ECS 概览 页面。
-
在左侧导航栏中,单击 实例,进入 实例 页面。
-
在 实例 页面顶部选择需要扩容数据盘的实例所在的地域。
-
找到需要的实例后,在 操作 列,单击 更多 > 磁盘扩容。注意:只有 数据盘 才有这个选项。对于 系统盘, 需要通过 更换系统盘 的方式进行扩容。
-
进入扩容页面后,填写扩容后的磁盘容量大小,单击 去扩容。
-
重启实例:返回到实例列表页面,找到需要的实例后,在 操作 列,单击 更多 > 重启。
-
远程连接到 ECS 实例。
-
如果磁盘之前是 mount 在服务器上的,先 umount 磁盘。
-
删除原有分区并新建分区。
有些用户使用 parted 工具来操作分区,但是 parted 和 fdisk 不能交叉使用的,否则会导致分区的起始扇区不一致的问题。因此删除原有分区建新分区的时候,请按照如下步骤进行操作:
1). 使用 fdisk -l 罗列一下分区信息并记录一下即将扩容磁盘的最终容量、起始扇区位置。
2). 使用 fdisk 指令,输入 d 来删除原有的分区。
3). 依次输入 n,p,1 来新建分区。
4). 选择 sector 时,在此示例中直接回车选择默认值,您也可以按照自己的需求来选择。为了保证数据的一致性,First sector 建议和之前的分区保持一致。
下面是使用 fdisk的示例:
-
root@iZ94lw423m7Z:~# fdisk /dev/xvdb
-
Command(m for help): d
-
Selected partition 1
-
Command(m for help): n
-
Partition type:
-
p primary (0 primary,0 extended,4 free)
-
e extended
-
Select(default p): p
-
Partition number (1-4,default1):1
-
First sector (2048-146800639,default2048):
-
Usingdefault value 2048
-
Last sector,+sectors or+size{K,M,G}(2048-146800639,default146800639):
-
Usingdefault value 146800639
-
Command(m for help): wq
-
The partition table has been altered!
-
Calling ioctl() to re-read partition table.
-
Syncing disks.
如果在 First sector 这发现位置和之前记录的不一致,说明之前可能使用了 parted 来分区的,那么就停止当前的 fdisk 操作,使用 parted 重新操作。
使用 parted 指令,输入 p 罗列当前的分区情况,如有则使用 rm+ 序列号来删除老的分区表,然后使用 unit s 定义起始位置单位使用扇区个数计量,最后使用 mkpart 命令来创建即可,如下图所示。
-
检查文件系统,并变更文件系统大小。
使用 e2fsck 的时候由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
使用 e2fsck 和 resize2fs 指令,正确操作情况下,不会造成原有数据丢失的。
-
e2fsck -f /dev/xvdb1
-
resize2fs /dev/xvdb1
-
将扩容完毕的磁盘挂载回原有的挂载点。
-
mount /dev/xvdb1 /mnt/dev1
-
用 df -TH 指令可以查看到磁盘的信息。
-
df -TH
-
FilesystemTypeSizeUsedAvailUse%Mounted on
-
/dev/xvda1 ext4 22G1.4G19G7%/
-
none tmpfs 4.1k04.1k0%/sys/fs/cgroup
-
udev devtmpfs 510M4.1k510M1%/dev
-
tmpfs tmpfs 105M381k104M1%/run
-
none tmpfs 5.3M05.3M0%/run/lock
-
none tmpfs 521M0521M0%/run/shm
-
none tmpfs 105M0105M0%/run/user
-
/dev/xvdb1 ext4 74G55M71G1%/mnt/dev1