VPS扩容至50GB后存储使用率未降问题及存储排查咨询
VPS存储状态排查与管控方案
一、当前存储状态解读
先看你提供的df -h输出:
Filesystem Size Used Avail Use% Mounted on tmpfs 833M 1.9M 831M 1% /run /dev/sda1 29G 25G 4.1G 86% / tmpfs 4.1G 0 4.1G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda15 105M 6.1M 99M 6% /boot/efi overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/d91d2cdb11bba83a6cb763e8e8d1474466935efc7fc6a5c6e244473c3f7d4abf/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/3855868f555c118fbbbd10fe22d921ad08fc746f78f2a1e97614301d63a2cd80/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/1818aecc365ee3aa3f892fbbaa3a155d2dbacc6c185fcbc7ba5fd7bfb7fd3545/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/ead54eca740041d908bbd22f797511ea8e8797831248258cc39e78c035b7694b/merged tmpfs 833M 4.0K 833M 1% /run/user/0 overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/6be77edc9f670b93f76ee85d151d1d48b9b7f067234ba7d3a9ac5d0c4642aea6/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/410c022362208240b7bfb6958ca96ccd404a56566bd52eb95b2df5f0b63f38c0/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/ba40f77a29e78b056712cda937087d3ed57cdbd099e59e75e72faed06fb8e837/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/f06902a97c9085d196515c34809e65a14444c68058f377c5588e7e01c2e42b41/merged overlay 29G 25G 4.1G 86% /var/lib/docker/overlay2/d86b05e4c30cd7518a6e0cfc1a84cf521819f1aca0c38ef4cd7d6b4c393724c9/merged
/dev/sda1是系统主分区,当前仅分配了29G,已用25G,使用率86%——这就是升级50GB后使用率没明显下降的核心原因:服务商给你扩容了物理磁盘,但系统分区还没扩展到新的空间。- 所有
overlay条目都是Docker的容器/镜像挂载点,它们共享/dev/sda1的存储空间,不是额外占用,所以显示的容量和主分区完全一致。 /dev/sda15是EFI引导分区,仅占用105M,对整体存储影响可以忽略。
二、扩展分区到50GB的步骤
1. 确认物理磁盘总容量
先执行命令查看磁盘实际大小:
fdisk -l
输出里找/dev/sda的总容量,应该会显示50G左右,验证服务商确实给你扩容了磁盘。
2. 扩展系统分区与文件系统
如果你的VPS用的是Debian/Ubuntu这类系统,用growpart工具操作最简单:
- 先安装工具:
apt update && apt install -y cloud-guest-utils - 扩展
/dev/sda的第1个分区:growpart /dev/sda 1 - 最后扩展文件系统(针对ext4格式,大部分VPS默认用这个):
resize2fs /dev/sda1
执行完后再跑df -h,就能看到/dev/sda1的容量变成50G左右,剩余空间也会相应增加。
三、Pterodactyl+Docker环境的存储管控方法
1. 清理Docker冗余资源
Docker很容易积累未使用的镜像、容器、卷,定期清理能释放大量空间:
- 查看Docker空间占用明细:
docker system df - 清理所有未使用的资源(停止的容器、未被引用的镜像、卷等,确认无用后再执行):
docker system prune -a
2. 检查Pterodactyl服务器存储
Pterodactyl的服务器数据默认存在/var/lib/pterodactyl/volumes,可以用以下命令排查:
- 查看该目录总占用:
du -sh /var/lib/pterodactyl/volumes - 进入目录查看单个服务器的占用:
cd /var/lib/pterodactyl/volumes && du -sh * | sort -h
找到占用过大的服务器,清理里面的无用文件。
3. 系统层面的垃圾清理
- 清理APT缓存和无用依赖:
apt clean && apt autoremove -y - 查找大文件(大于1G):
find / -type f -size +1G 2>/dev/null | sort -h
列出后确认文件是否有用,比如旧日志、备份文件,无用则删除。
- 清理系统日志:
journalctl --vacuum-time=7d
保留最近7天的日志,更早的会被自动清理。
内容的提问来源于stack exchange,提问作者Leonarddoo Campione
相关产品推荐
相关产品推荐

