随着业务的增长,您的磁盘容量可能无法满足数据存储的需要,这时您可以扩容磁盘。扩容磁盘后,之前磁盘上的数据仍会保留。
本文档介绍的方法只适用于数据盘。如果要扩容系统盘,需要采用更换系统盘的方式。请参考 更换系统盘。
扩容须知
扩容前
建议在扩容磁盘之前 手动创建快照,以备份数据。
磁盘上如果正在执行创建快照的操作,则此时不允许进行扩容操作。
只做磁盘容量的扩容,不做文件系统的扩容。
支持普通盘的扩容,不支持本地盘(本地磁盘、本地 SSD 盘)的扩容。
挂载在实例上的数据盘,只有实例为 运行中 (Running) 或者 已停止 (Stopped) 状态时,才可以进行扩容操作。
如果您尚未对磁盘进行过格式化、挂载等操作,请参考 格式化和挂载数据盘 先进行格式化和挂载。
扩容后
使用 ECS 控制台或者 Open API 扩容磁盘之后,需要在 ECS 控制台或者使用 Open API 重启实例之后才可以生效。
扩容生效之后的磁盘,仍然需要用户手动格式化扩展的存储空间。
操作步骤
本文档以 Ubuntu 14.04 系统为例,介绍如何进行磁盘扩容。其他 Linux 系统的操作相似。
本实例中,选定最初的磁盘大小为 63 GB,我们将其扩容到 70 GB。
登录 云服务器管理控制台。
单击左侧导航中的 实例。然后选择页面顶部的地域。
首先进入磁盘列表页面,点击 更多 > 磁盘扩容。注意只有 数据盘 才有该选项。对于 系统盘, 需要通过 更换系统盘 的方式进行扩容。
进入扩容页后,填写扩容后的磁盘容量大小,单击 去扩容。
重启服务器。进入实例列表页面,点击 更多,选择 重启。
登录到 ECS 实例。
如果磁盘是之前是 mount 在服务器上的,先 umount 磁盘。
umount -v /dev/xvdb1
删除原有分区并新建分区。如果此前未分区,直接格式化使用,请直接跳到第 9 步。
有些用户使用 parted 工具来操作分区,但是 parted 和 fdisk 不能交叉使用的,否则会导致分区的起始扇区不一致的问题。因此删除原有分区建新分区的时候,请按照如下步骤进行操作:
1). 使用 fdisk -l 罗列一下分区信息并记录一下即将扩容磁盘的最终容量、起始扇区位置。
2). 使用 fdisk 指令,输入 d 来删除原有的分区。
3). 依次输入 n,p,1 来新建分区。
4). 选择 sector 时,在此示例中直接回车选择默认值,您也可以按照自己的需求来选择。为了保证数据的一致性,First sector 建议和之前的分区保持一致。
下面是使用 fdisk的示例:如果在 First sector 这发现位置和之前记录的不一致,说明之前可能使用了 parted 来分区的,那么就停止当前的 fdisk 操作,使用 parted 重新操作。
使用 parted 指令,输入p罗列当前的分区情况,如有则使用 rm+ 序列号来删除老的分区表,然后使用 unit s 定义起始位置单位使用扇区个数计量,最后使用 mkpart 命令来创建即可,如下图所示。
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, default 1): 1
First sector (2048-146800639, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-146800639, default 146800639):
Using default value 146800639
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
检查文件系统,并变更文件系统大小。
使用 e2fsck 的时候由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
使用 e2fsck 和 resize2fs 指令,正确操作情况下,不会造成原有数据丢失的。
e2fsck -f /dev/xvdb1
resize2fs /dev/xvdb1
(注:直接扩充就可以了)
将扩容完毕的磁盘挂载回原有的挂载点。
mount /dev/xvdb1 /mnt/dev1
用 df -TH 指令可以查看到磁盘的信息。
df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 ext4 22G 1.4G 19G 7% /
none tmpfs 4.1k 0 4.1k 0% /sys/fs/cgroup
udev devtmpfs 510M 4.1k 510M 1% /dev
tmpfs tmpfs 105M 381k 104M 1% /run
none tmpfs 5.3M 0 5.3M 0% /run/lock
none tmpfs 521M 0 521M 0% /run/shm
none tmpfs 105M 0 105M 0% /run/user
/dev/xvdb1 ext4 74G 55M 71G 1% /mnt/dev1
=====================================================
第一次购买的云盘Linux上df -hl 数据盘不显示,只有一个系统盘;造成这种的原因一般是数据盘没有初始格式化
1、fdisk -l 显示所有的磁盘信息,比如数据盘是 Disk /dev/vdb:
2、格式化/dev/vdb分区,命令:mkfs.ext3 /dev/vdb
3、mkdir /data
4、mount /dev/vdb /data
5、 如果要让这个挂载持久,需要再修改一下/etc/fstab .命令:echo "/dev/vdb /data ext3 defaults 1 2" >> /etc/fstab
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群