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

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


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

在扩容前,建议先检查是否可以通过清理释放空间:

1. 查看磁盘使用情况

df -h

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

2. 查找大文件或目录

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

找出占用空间较大的目录。

3. 清理常见垃圾文件

  • 清理系统日志

    # 清空日志(谨慎操作)
    > /var/log/messages
    > /var/log/secure
    # 或使用 journalctl 清理(systemd 系统)
    journalctl --vacuum-time=7d  # 保留最近7天日志
  • 清理 YUM 缓存(CentOS/RHEL)

    yum clean all
  • 清理 APT 缓存(Ubuntu/Debian)

    apt-get clean
  • 删除无用软件包或缓存

    yum autoremove    # CentOS
    apt-get autoremove # Ubuntu
  • 清理临时文件

    rm -rf /tmp/*
  • 检查 Docker 容器日志或镜像(如使用 Docker)

    docker system prune -a

二、扩容系统盘(根本解决方案)

如果清理后仍不够用,可对系统盘进行扩容。

⚠️ 注意:必须提前创建快照备份数据!

步骤如下:

1. 登录阿里云控制台
  • 进入 ECS 控制台
  • 找到目标实例 → 停止实例(部分配置变更需关机)
2. 扩容云盘
  • 在实例详情页 → 「本实例云盘」→ 找到系统盘 → 点击「更多」→ 「变更云盘容量」
  • 输入更大的容量(如从 40GB 扩到 60GB)
  • 确认支付差价并提交
3. 启动实例并扩容文件系统

扩容云盘只是“物理”扩容,还需在操作系统内扩展分区和文件系统。

对于 Linux 系统(以 ext4/xfs 为例):
  1. 检查磁盘大小是否已更新:

    fdisk -l

    查看 /dev/vda(或 /dev/xvda)是否显示新容量。

  2. 扩展分区(若使用 GPT 分区表,建议使用 growpart):

    # 安装工具(如未安装)
    yum install cloud-utils-growpart -y   # CentOS
    apt-get install cloud-guest-utils     # Ubuntu
    
    # 扩展分区(假设是 /dev/vda1)
    growpart /dev/vda 1
  3. 扩展文件系统:

    • 如果是 ext4 文件系统:
      resize2fs /dev/vda1
    • 如果是 xfs 文件系统:
      xfs_growfs /
  4. 验证结果:

    df -h

    查看系统盘是否已扩容成功。


三、其他优化建议

  1. 迁移数据到数据盘

    • 购买一块新的数据盘,将日志、应用、数据库等迁移到数据盘。
    • 系统盘只保留系统文件,避免再次爆满。
  2. 挂载 OSS 存储

    • 使用 ossfs 将阿里云 OSS 挂载为本地目录,存放静态资源或日志。
  3. 设置日志轮转(logrotate)

    • 防止日志无限增长:
      # 编辑配置
      vi /etc/logrotate.d/myapp

四、预防措施

  • 初始购买时选择足够大的系统盘(建议至少 50GB 起步)。
  • 定期监控磁盘使用(可通过云监控设置告警)。
  • 使用脚本定期清理缓存和日志。

✅ 总结:

方法 是否推荐 说明
清理无用文件 ✅ 推荐优先尝试 快速释放空间
扩容系统盘 ✅ 根本解决 需停机+操作文件系统
添加数据盘 ✅ 长期推荐 更好分离系统与业务数据

如有需要,可提供具体系统版本和磁盘信息,我可以给出更详细的命令指导。

未经允许不得转载:云计算HECS » 阿里云服务器系统盘不够用怎么办?