欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ECS云盘在线扩容

程序员文章站 2022-03-17 08:03:02
...

今天分享一个运维小知识。
有时候我们的服务器硬盘空间不足了,需要扩充空间。如果是单硬盘,又没有做LVM这些,能否不停机且将硬盘的容量扩大呢?当然是可以的,用云厂商的在线扩容实现。
以阿里云的ECS为例,步骤如下:
1. 找到服务器云盘,先创建一个快照(扩容失败时还原数据,虽然基本不会发生),快照创建完成后,选择云盘扩容。
ECS云盘在线扩容

2. 勾选在线扩容,填好要扩容的容量。这里扩到200G
ECS云盘在线扩容

3. 完成后可以看到硬盘变成了200G了,但进入服务器发现还是40G,此时要手动处理下。

4. 先安装好用于扩容硬盘的工具
CentOS 7、Aliyun Linux 执行如下命令

CentOS 7、Aliyun Linux
yum install cloud-utils-growpart
yum install xfsprogs

Ubuntu 14、Ubuntu 16、Ubuntu 18、Debian 9 执行如下命令

apt install cloud-guest-utils
apt install xfsprogs

5. 看下硬盘能否扩容

growpart /dev/vda 1

如果能扩容的话,会有类似如下的提示

CHANGED: partition=1 start=2048 old: size=83883999 end=83886047 new: size=419428319,end=419430367

如果是如下错误提示

unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.32.1] 

一般环境变量中没配置LANG,执行下

LANG=en_US.UTF-8

再执行growpart /dev/vda 1就可以看到了。

6. 确定可以扩容后,就可以对硬盘进行扩容了,执行如下命令

resize2fs /dev/vda1

如果报错

resize2fs 1.45.4 (23-Sep-2019)
resize2fs: Bad magic number in super-block while trying to open /dev/vda1
Couldn't find valid filesystem superblock.

可以使用xfs_growfs /dev/vda1
执行成功后通过df -h就可以看到硬盘变成200G了

df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        3.7G     0  3.7G    0% /dev
tmpfs           3.7G     0  3.7G    0% /dev/shm
tmpfs           3.7G  572K  3.7G    1% /run
tmpfs           3.7G     0  3.7G    0% /sys/fs/cgroup
/dev/vda1       200G   14G  187G    7% /
tmpfs           755M     0  755M    0% /run/user/0