top of page

Cloud9 的磁盘空余容量处理

  • 2天前
  • 讀畢需時 2 分鐘

为调试而执行测试Run时,显示了以下消息。

No space left on device

明明不久前才刚扩展过EBS卷,为什么!?于是,

首先确认了整个卷的使用状况。确认卷的使用状况执行df命令。

确认卷的使用状况

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        484M     0  484M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  464K  491M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       35G   34G    0G  99% /
tmpfs            99M     0   99M   0% /run/user/1000

文件系统 /dev/xvda1 已使用99%,处于没有空余容量的状态。扩展EBS即可解决,但这里先通过删除不需要的文件与临时文件来应对。

确认容量较大的文件

用以下命令检索500MB以上的文件。判断日志文件群比较可疑,确认 /var/log 的内容。

find /var/log -size +500M | xargs ls -l | sort -rn

删除 journal 日志

journal文件相当大,因此把journal的文件大小最大值写入journald.conf进行设置

$ sudo vi /etc/systemd/journald.conf
SystemMaxFileSize=300M

仅改写conf文件不会生效,所以重启服务,并删除journalctl的日志

$ sudo systemctl restart systemd-journald
$ sudo journalctl --vacuum-size=300M

用df命令确认卷,虽然稍有好转,但空余空间仍然不多。

清理 Yum 缓存

用以下命令也确认 /var 之下目录的容量。

$ sudo du -sh /var/*

/var/cache 使用了约700MB,因此尝试清理缓存。可能积存了yum或APT等使用的大容量包文件。用以下命令清理yum的缓存。

$ sudo yum clean all

该命令会在保留必要文件的前提下清理缓存,因此比用rm命令等删除更安全。

经此处理缓存文件也变小了,但容量仍然不足。

删除未使用的 docker 资源

$ sudo du -sh /var/*

确认后可以发现,/var/lib/ 占用了很大的容量。不过,去动名字里带lib的目录还是有点犹豫。

$ sudo du -sh /var/lib/*

确认 /var/lib 内部,可以发现 /var/lib/docker 的容量占绝对大头。该文件中存放着docker的容器、卷、镜像等对象。

在Cloud9中执行测试时,只要再次容器化即可,因此用以下命令删除已经停止的容器。

$ docker system prune -a
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] 

・所有已停止的容器

・所有未被至少一个容器使用的网络

・所有没有关联至少一个容器的镜像

・所有构建缓存

会被删除,是否继续?——会出现这样的警告。

要继续请输入「y」并回车

会显示被删除的镜像,最后如下显示删除后可用的容量。

Total reclaimed space: 22.108GB

再次确认卷的使用状况

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        484M     0  484M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  520K  491M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       35G  7.3G   28G  21% /
tmpfs            99M     0   99M   0% /run/user/1000
tmpfs            99M     0   99M   0% /run/user/0

顺利确保了空余容量,测试Run也可以执行了。

 
 
 

留言


© Copyright ROBIN planning LLC.

bottom of page