走啊走
加油

阿里云服务器系统盘不够用怎么办?

服务器价格表

当阿里云服务器(ECS)的系统盘空间不足时,可以采取以下几种方法来解决:


一、排查和清理磁盘空间(推荐优先尝试)

  1. 登录服务器查看磁盘使用情况

    df -h

    查看各分区使用率,确认是否真的空间不足。

  2. 查找大文件或占用空间较多的目录

    du -sh /* 2>/dev/null | sort -hr | head -10

    或进入根目录后:

    du -sh * | sort -hr
  3. 常见可清理内容

    • 日志文件/var/log/ 目录下的日志(如 messages, secure, nginx/access.log 等)
      # 清空大日志(谨慎操作)
      > /var/log/messages
      # 或使用 logrotate 管理日志轮转
    • 临时文件/tmp//var/tmp/
    • 缓存文件
      • YUM 缓存(CentOS/RHEL):
        yum clean all
      • APT 缓存(Ubuntu/Debian):
        apt-get clean
    • 旧内核或无用软件包
      • CentOS:
        package-cleanup --oldkernels --count=1
      • Ubuntu:
        apt autoremove --purge
  4. 检查是否有僵尸进程占用已删除文件

    lsof +L1

    如果有输出,说明某些进程仍在占用已被删除的大文件,重启对应服务或进程即可释放空间。


二、扩容系统盘(适用于长期使用)

⚠️ 注意:系统盘扩容需要停机操作,建议提前备份数据并做好快照。

操作步骤:

  1. 创建系统盘快照(重要!)

    • 登录 阿里云控制台
    • 找到目标实例 → 磁盘 → 创建快照
  2. 停止 ECS 实例

    • 在控制台中“停止”实例(不能是“强制停止”)
  3. 扩容系统盘

    • 进入实例详情 → “本实例磁盘” → 选择系统盘 → “更多” → “修改配置(变更云盘)”
    • 调整系统盘大小(例如从 40GB 改为 80GB)
    • 确认费用并提交
  4. 启动实例并扩展分区和文件系统

    • 启动实例后,登录系统,执行以下命令扩展分区(以 Linux 为例):

    查看当前磁盘大小:

    fdisk -l

    使用 growpart 扩展分区(如果未安装,先安装)

    yum install cloud-utils-growpart -y    # CentOS
    apt install cloud-guest-utils -y       # Ubuntu

    扩展分区(假设系统盘是 /dev/vda,分区是 /dev/vda1)

    growpart /dev/vda 1

    扩展文件系统

    • 对于 ext4:
      resize2fs /dev/vda1
    • 对于 xfs:
      xfs_growfs /
  5. 验证扩容结果

    df -h

    查看根分区是否已扩容成功。


三、其他优化建议

  • 迁移数据到数据盘
    • 购买一块新的数据盘挂载到 /data/home 等目录
    • 将网站、数据库、日志等迁移到数据盘
  • 使用对象存储(OSS)
    • 静态资源(图片、视频、日志归档)上传到 OSS,节省本地空间
  • 定期维护脚本
    • 设置定时任务(crontab)自动清理日志和缓存

总结

方法 优点 缺点
清理磁盘 快速、免费 治标不治本
扩容系统盘 根本解决 需停机、可能收费
增加数据盘 灵活扩展 成本增加

建议流程
先清理 → 再做快照 → 扩容系统盘 → 扩展文件系统 → 长期规划数据分离


如有具体操作系统(如 CentOS 7、Ubuntu 20.04)或错误提示,可提供更详细指导。