文章目录
一 缘由
很多人服务器都是默认一块磁盘,如果磁盘满了,要么就买数据盘迁移到数据盘,要么就后阿里后台扩容磁盘,但是扩容后磁盘分区没改变,df -h命令查看磁盘大小根本没变。本文将介绍磁盘无损分区。
扩容前的磁盘情况, /dev/xvdb1 文件系统已经
二 扩容过程
可参考 阿里云扩容官方文档
第1步:进入 ECS 控制台
第2步:选择 “全部磁盘” 页或者”本实例磁盘” 页
第3步:在每一个磁盘条目的最后选择”更多”
第4步:选择”磁盘扩容“,即可进入磁盘扩容操作页
第5步:输入你希望扩容的目标大小
第6步:重启
成功开通后,您需要通过ECS控制台或ECS API重启实例,扩容的操作才能正式生效,通过其他方式重启实例无效。(黄色按钮)
第7步:手动扩展磁盘 (Linux)
磁盘扩容我们只做磁盘容量的扩大,文件系统需要您手动去扩展,如何手动扩展
7.1 登录 ECS 实例
7.2 如果你的磁盘是之前是 mount 在服务器上的,先 umount 磁盘
1 |
umount /alidata1 |
7.3 删除原有分区并新建分区(分区不会导致数据丢失,为了保险起见,先创建快照)
使用 fdisk 指令,输入 d 来删除原有的分区,然后依次输入 n,p,1 来新建分区,选择 sector 时,这边我们直接回车选择默认值,你也可以按照自己的需求来选择。为了保证数据的一致性,First sector 建议和之前的分区保持一致。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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. |
7.4 格式化磁盘
使用 resize2fs 指令扩大文件系统大小,原有数据不会丢失。
1 2 |
e2fsck -f /dev/xvdb1 resize2fs /dev/xvdb1 |
7.5 mount 磁盘
最后,我们再将扩容完毕的磁盘挂载回原有的挂载点
1 |
mount /dev/xvdb1 /alidata1 |
7.6 用 df -TH 指令可以查看到磁盘的信息
1 2 3 4 5 6 7 8 9 10 |
deploy@iZ25j1hf2kfZ:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 18G 1.1G 95% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 3.9G 4.0K 3.9G 1% /dev tmpfs 799M 392K 799M 1% /run none 5.0M 0 5.0M 0% /run/lock none 3.9G 0 3.9G 0% /run/shm none 100M 0 100M 0% /run/user /dev/xvdb1 197G 93G 95G 50% /alidata1 |