云联信息:云硬盘扩容,别等磁盘满了才动手
一、先分清系统盘和数据盘
系统盘装着操作系统,扩容后要扩展分区才能用上;数据盘挂载在指定目录,扩容相对独立。两种盘的操作步骤不同,搞错了可能导致系统起不来。动手前先确认要扩的是哪一块。
二、扩容分在线和离线两种
多数云平台支持在线扩容,也就是不关机直接增大容量,但增大之后还要在系统里扩展分区和文件系统,否则看到的还是原来的大小。离线扩容需要关机,风险更高但兼容性好。生产环境优先选在线方式。
三、文件系统不同命令不同
ext4用resize2fs,xfs用xfs_growfs,前者可以在线扩展,后者通常要求先卸载。执行前用df -T确认文件系统类型,别凭印象操作。命令敲错一次,数据可能就找不回来了。
四、扩容前必须做快照
任何涉及磁盘的操作之前,先打一个快照。快照几分钟就能完成,出问题时能整体回滚。这个动作看起来多余,实际救过很多人的命。
五、分区表也要扩展
云硬盘扩容后,分区表还是原来的大小。用growpart扩展分区,再扩展文件系统。两步都做完,df才能看到新增容量。只做一步是最常见的失误。
六、容量规划要看增长曲线
不要等使用率到百分之九十才扩容。按最近三个月的增长斜率预估,留出至少一个月的余量。频繁扩容不仅麻烦,扩容过程中的风险也更高。
七、日志和备份最占空间
磁盘莫名变满,先查日志目录和备份目录。日志没有轮转策略,几个月就能吃掉几十G。配置logrotate,设置保留天数,比不停扩容更根本。
快照不能替代备份
快照依赖云盘,云盘本身出问题快照也可能受影响。重要数据还是要做独立备份。快照适合做短期的回滚点,备份才是长期的数据保护。
扩容后的验证
扩容完成用df看一眼容量,再写入一个测试文件确认可写。这两步做完才算完成。只看了控制台显示的数字,实际文件系统没扩展的情况很常见。
清理比扩容更省
扩容之前先看看有没有可清理的内容:旧日志、临时文件、重复的备份。清出几十G空间,往往比扩容更划算,也不需要停机。
扩容不是性能优化
磁盘满了扩容只是解决容量问题,如果业务写入量持续增长,光靠扩容量迟早还会满。真正该做的是找出写入量大的是什么:是日志没有轮转、是临时文件没有清理、还是业务本身在写无用的数据。找到源头,容量压力才会真正缓解。
监控要盯增长率
只看使用率容易误判,一个刚用了一半但每周增长百分之十的盘,比一个用了八成但半年没变的盘更危险。给磁盘使用率配上增长趋势告警,提前两周收到提醒,处理起来就很从容。
多盘场景要注意挂载顺序
服务器挂载多块盘时,设备名可能因为重启或者增删盘发生变化,导致挂载错位置。用UUID挂载而不是设备名,能避免这类问题,特别是在做过扩容或者迁移的机器上。
容量之外还有inode
磁盘显示还有空间,但写文件报错说空间不足,很可能是inode用完了。大量小文件是主因,比如缓存目录、邮件队列。df -i看一眼inode使用率,能省下很多排查时间。
云联信息【资深云服务专家微信:cloud7591】一般会先梳理现有架构图,把公网入口、数据流向和依赖关系画清楚,再谈优化。
