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

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


一、临时解决方案:清理磁盘空间

  1. 清理无用文件

    • 删除不必要的日志文件:
      sudo rm /var/log/*.log
      sudo rm /var/log/*/*.gz
    • 清理 yum/apt 缓存:
      • CentOS/RHEL:
        sudo yum clean all
      • Ubuntu/Debian:
        sudo apt-get clean
  2. 卸载不需要的软件包

    sudo yum remove 软件名    # CentOS
    sudo apt-get remove 软件名 # Ubuntu
  3. 查看大文件或目录占用情况

    du -sh /* | sort -hr | head -10

    找出占用空间最大的目录,针对性处理。

  4. 清空临时文件

    sudo rm -rf /tmp/*
  5. 限制日志大小(使用 logrotate)
    修改 /etc/logrotate.conf 或对应服务的日志配置,避免日志无限增长。


二、长期解决方案:扩容系统盘

⚠️ 注意:扩容前务必备份重要数据!

方法1:在线扩容(推荐)

适用于支持在线扩容的实例规格和镜像(如 CentOS 7.6+、Ubuntu 18.04+ 等)。

步骤如下:

  1. 登录阿里云控制台

    • 进入 ECS 控制台
    • 找到目标实例 → 停止实例(部分情况下可热扩容,但建议停机更安全)
  2. 修改系统盘大小

    • 在实例详情页点击「更多」→「磁盘和镜像」→「更换系统盘」
    • 或直接在「云盘」页面选择系统盘 → 「扩容」
    • 输入更大的容量(例如从 40GB 扩到 80GB),付费后确认。
  3. 启动实例并登录服务器

  4. 扩展分区和文件系统

    • 查看当前磁盘大小:
      df -h
      lsblk
    • 如果是 GPT 分区且使用了 LVM,操作较复杂;如果是普通 MBR 主分区,可使用 growpart 和 resize2fs(ext4)或 xfs_growfs(xfs)。

    示例(ext4 文件系统):

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

    如果是 XFS 文件系统:

    sudo xfs_growfs /
  5. 验证扩容结果:

    df -h

方法2:更换系统盘(重建方式)

如果无法在线扩容,可以选择更换系统盘:

  1. 在 ECS 控制台 → 实例 → 更换系统盘
  2. 可选择原有镜像或新镜像,并设置更大的系统盘容量
  3. 启动后重新部署应用(注意:原系统盘数据将丢失,需提前备份)

✅ 优点:可换更大系统盘 + 升级操作系统
❌ 缺点:需要重装环境,适合初期阶段


三、预防措施

  1. 初始选型时预留足够空间

    • 建议系统盘至少 60–100GB,尤其是要安装数据库、Docker 镜像等。
  2. 将数据存储到数据盘

    • 单独挂载数据盘用于存放网站文件、数据库、日志等。
    • 示例挂载点:/data, /home, /var/lib/mysql
  3. 定期监控磁盘使用

    • 使用云监控或脚本定时检查磁盘使用率。

四、常见问题

问题 解决方案
扩容后 df 显示没变大 忘记执行 growpart 和 resize2fs/xfs_growfs
不支持在线扩容 检查实例规格和操作系统是否支持,或停机扩容
分区表类型不支持 使用 fdisk -l 查看,GPT 推荐使用 parted 工具

✅ 总结建议流程:

  1. 先清理临时文件释放空间(应急)
  2. 备份关键数据
  3. 在控制台扩容系统盘
  4. 登录服务器扩展分区和文件系统
  5. 验证 df -h 是否生效

如需具体命令帮助,请提供你的:

  • 操作系统(如 CentOS 7)
  • 文件系统类型(df -T 查看)
  • 当前分区结构(lsblk 输出)

我可以为你生成精准的扩容命令。

未经允许不得转载:CLOUD技术博 » 阿里云服务器系统盘不够用怎么办?