服务器磁盘空间清理
云平台运行过程中会生成日志,产生临时文件。在用户使用云平台过程中,会上传镜像,会在虚拟机内读写文件导致虚拟磁盘大小逐步增长。随着云平台的长期运行,这些因素会导致服务器磁盘空间不足。本文介绍常见的磁盘空间不足的原因以及处理办法。
定位磁盘空间占用原因
解决服务器磁盘空间不足的根本是定位磁盘空间占用的原因。为此需要定位占用空间大的主要目录。一般是通过 du 命令从根目录开始逐级执行,定位主要占用磁盘空间的目录。通过分析目录的归属,进一步定位磁盘占用的主要原因。
du -sh *
计算节点
本节罗列出常见的计算节点可能占用磁盘空间的情况。下文中配置参数主要是host服务的配置参数,有限通过kubectl -n onecloud edit configmaps default-host查看,如果不存在,则在该服务器的 /etc/yunion/host.conf 查看。
本地磁盘回收站
计算节点默认开启本地磁盘回收站,删除的磁盘文件会先挪到磁盘回收站,待删除的磁盘文件占用存储空间。可以直接用rm -fr该目录下的文件来腾出磁盘空间。
位置: $local_image_path/recycle_bin
本地磁盘回收站会自动清理,也可以通过配置关闭。以下是磁盘回收站的开关配置以及自动清理配置。
| 配置项 | 默认值 | 说明 |
|---|---|---|
| recycle_diskfile | true | 是否开启磁盘回收站 |
| always_recycle_diskfile | true | 是否所有可能删除磁盘文件的情况都保留磁盘到回收站目录。如果为false,则不保留非显示删除的磁盘文件,如迁移成功后的源宿主机上的磁盘文件,更换系统盘后的原系统盘文件 |
| recycle_diskfile_keep_days | 28 | 被删除本地磁盘文件挪到回收站后的保留时间,以天为单位,默认28天 |
本地磁盘快照
计算阶段的本地磁盘快照也存储在对应的本地磁盘目录下,也会占用存储空间。需要注意的是,删除本地磁盘快照并不会立即回收快照占用的空间,而是由该节点的host异步回收。host服务会周期性检查本地快照,如果发现一个快照被删除,则会将该快照内容向下合并到快照链的顶部文件,然后才会删除该快照文件。该目录下文件不建议手动清理。
位置:$local_image_path/snapshots
本地磁盘备份的临时目录
做磁盘备份时,会将备份过程的临时寄文件保存在如下位置。在确认无正在进行的磁盘备份操作时,可以清理该目录下的文件腾出空间。
位置:$local_backup_temp_path