问题:

早上过来发现有磁盘占用报警需要处理下,正好是我们项目一个新服的机器,通过df -h命令发现系统盘占用已经达到80%多了,

想了平时我们系统盘都是买的200个G的,新服才没开多久,不可能一下子就要满了,最后发现整个系统盘分区只有40个G


排查:

1,通过执行lsblk命令发现/dev/vda块确实有200个G

记一次阿里云镜像问题(暂未想到更好的方法)_系统盘

阿里云控制台上查看云盘确实是200G


2,后面想到最近新区创建用了新的镜像,拿新镜像创建一个实例,实例系统盘选择200G,但是创建好后确实是系统盘只有40G


确认问题是镜像问题后,解决方案


解决:

1,阿里云帮助文档:扩容分区和文件系统(Linux) (aliyun.com)

通过命令确认待扩容云盘及其分区信息

fdisk -lu /dev/vda

记一次阿里云镜像问题(暂未想到更好的方法)_文件系统_02

通过Disk label type值为dos表示MBR分区

通过命令确认待扩容云盘文件系统

df -TH

记一次阿里云镜像问题(暂未想到更好的方法)_系统盘_03

文件系统是ext4的


通过分区信息和文件系统类型信息找到扩容分区和文件系统的命令

type growpart || yum install -y cloud-utils-growpart
LC_ALL=en_US.UTF-8 growpart /dev/vda 1
resize2fs /dev/vda1

记一次阿里云镜像问题(暂未想到更好的方法)_文件系统_04


2,拿之前用新镜像创建的测试实例上执行上面的命令,发现对磁盘原有资源没有影响,执行完成后实现了分区扩容


3,询问云商购买ecs SDK中有没有对分区做调整的参数,他们说没有,所以我将上面那3条命令写进服务器初始化脚本中去了


4,对报警的那台机器执行上面的扩容命令,问题解决


思考:

1,为什么我用系统盘是40G的实例做的自定义新镜像,我再拿这个新镜像去创建实例,实例系统盘选择200G,但是实例创建完成后,最后分区只给40G呢

2,有没有更好的解决方法,我们在创建ecs的时候就将分区给到200G呢

如果有知道的小伙伴可以告知。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6