说明
- 这里只介绍如何在线扩容
- 操作系统:CentOS 7.x
- 以下操作实现给200G云盘扩容至300G;
操作步骤
创建快照
找到需要扩容的云盘,创建快照,避免扩容出问题数据丢失,阿里云快照是收付费的,快照时长设置1天即可;操作比较简。
磁盘创建快照 创建快照配置截图(保留时间设置1天)在线扩容
点击扩容功能,方式选择在线扩容,交钱就行,不做详细介绍。
解决不生效问题
1、df -h查看现有情况
在线扩容后,查看服务器磁盘情况;通过df -h 能看到目前磁盘路径为 /dev/vda1 磁盘容量还是 200G;
如果是多云盘,会出来多个,一定要明确扩容的是哪个云盘;
#查看磁盘现状
df -h文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 197G 184G 5.6G 98% /
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 7.7G 748K 7.7G 1% /run
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
overlay 197G 184G 5.6G 98% /var/lib/docker/overlay2/61b342b49b8efe59629b11206ad0b770ad28bc62c1104b05b947310abbd2c466/merged
shm 64M 11M 54M 17% /var/lib/docker/containers/64b657cae9d5251b0718c9bfea95c9bc49383fa3b8339f756727ec0447a3d68b/mounts/shm
overlay 197G 184G 5.6G 98% /var/lib/docker/overlay2/8b5bf017eae8802d9c11976271ff0f233731621687c121cd2d53bb7df8ebae3a/merged
shm 64M 0 64M 0% /var/lib/docker/containers/298667b2eee65fc518cb31541fad37c363003779df36cdf1e054f79ae710e684/mounts/shm
overlay 197G 184G 5.6G 98% /var/lib/docker/overlay2/136fb7decbbbcb6ab4497f40990a8f7f87a7679a5ff7a21d0d5787a239322d62/merged
overlay 197G 184G 5.6G 98% /var/lib/docker/overlay2/74c9abaf132dd60aa68f41adaf3b651848b29cc115d14b3c44c7c2c19ba3727c/merged
shm 64M 0 64M 0% /var/lib/docker/containers/4f4cb7c42c96f469d543ab743e823456a3cf34af00fc32d8ff803c64204ffbfa/mounts/shm
overlay 197G 184G 5.6G 98% /var/lib/docker/overlay2/7f02d89300e876350ac1582d8c89f7194668de3237fb570ba2c5cb4c009ced18/merged
shm 64M 0 64M 0% /var/lib/docker/containers/10d863a46f5e9801ace51eb7a8a8b84ea159ac2855c71e870481e3198e8c1ada/mounts/shm
shm 64M 0 64M 0% /var/lib/docker/containers/d7d3b972747284c5e3861e72d10662e5aed3ffead84d66eaed34cb78641be979/mounts/shm
2、fdisk -l查看容量大小
通过 fdisk -l 查看分区322.1G,但有效容量为200G,还有100G空间未分配;
#查看扩容命令
fdisk -l磁盘 /dev/vda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b2d99
3、growpart安装
通过growpart工具可以将扩容的100G空间挂到/dev/vda1分区上;
执行growpart 提示如下图commond not found 说明未安装相关工具, 安装growpart参考下面在线安装、离线安装部分;
出现growpart如何使用的介绍,说明已经安装,可以跳过安装步骤章节进行磁盘空间分配;
growpart 已安装1)在线安装
yum install -y cloud-utils-growpart
2)离线安装
a)通过联网centos虚拟机下载rpm
# 下载到/app/soft/growpart目录
cd /app/soft/growpart/# 安装yum-utils工具包
sudo yum install yum-utils
yumdownloader cloud-utils-growpart
b)通过阿里云centos rpm包中心下载
访问 http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ ,查找growpart,找到离线包下载;
拷贝离线包到目标服务器/app/soft/growpart目录;
growpart工具包rpmc)通过repotrack下载离线包及其完整依赖
通过yumdownloader或阿里云centos rpm包中心下载都只能下载当前工具包,如果工具包依赖其他工具还需要再单独下载,在进行离线环境安装时避免反复下载依赖包,一般都一次性下载工具包及所有相关依赖包;
下载工具包及所有依赖包可通过repotrack命令实现,找一个能上网的centos7.x的虚拟机下载
sudo yum -y install yum-utils
#下载离线安装包到本地
cd /app/soft/growpart
repotrack cloud-utils-growpart
d)growpart离线安装
根据下载的内容是单个工具包,还是工具及其依赖包集合执行不同的安装命令
#离线安装(单个,具体版本可能有差异,以自己下载为准)
rpm -ivh cloud-utils-growpart-0.29-5.el7.noarch.rpm#工具及依赖包一起安装
#将工具包及依赖包解压到/app/soft/growpart 目录
cd /app/soft/growpart
rpm -Uvh --force --nodeps *.rpm
4、磁盘空间分配
growpart /dev/vda 1
/dev/vda 1 /dev/vda 和 1 之间有一个空格,挂接时一定要注意,保证路径正确,挂错了,就尴尬了,特别是有多个磁盘的情况下;
可通过df -h 命令查看具体磁盘挂载路径;
5、resize2fs 更新文件目录大小
resize2fs /dev/vda1
/dev/vda1 也要和上面的路径一致,更新后,再通过df -h 或者shell工具就可以看到磁盘已经扩容了。
扩容后的效果至此,完成阿里云在线扩容工作
文章来源:https://zhuanlan.zhihu.com/p/691022642