【问题解决-牧云】集群版单台磁盘空间占用过高怎么办?
在某些环境上,会发现有个主机的磁盘使用量明显高于别的主机;极端的有见过其它的平均20%,但是某台近80%的情况。以下是给出的相对应解决方案。
现象
在某些环境上,会发现有个主机的磁盘使用量明显高于别的主机;极端的有见过其它的平均 20%,但是某台近 80% 的情况。
# ansible -i ansible/inventory/default.ini all -m shell -a "df -Th |head -n8 |grep k3s"
172.29.192.205 | CHANGED | rc=0 >>
/dev/vdb xfs 200G 26G 175G 13% /var/lib/rancher/k3s
172.29.192.208 | CHANGED | rc=0 >>
/dev/vdb xfs 200G 33G 168G 17% /var/lib/rancher/k3s
172.29.192.207 | CHANGED | rc=0 >>
/dev/vdb xfs 200G 39G 162G 20% /var/lib/rancher/k3s
172.29.192.206 | CHANGED | rc=0 >>
/dev/vdb xfs 200G 58G 143G 29% /var/lib/rancher/k3s
可以看到 172.29.192.206 节点的磁盘占用要高很多,可以远程到那台磁盘空间比较高的主机上查看
排查
看看哪个 PVC 占用比较多,一般都是 pvc-xxxxxxxx-default_postgresql-ha-repo1,因为它存储了数据库的归档和备份
# cd /var/lib/rancher/k3s/storage
# du -sh -hd1
4.5G ./pvc-f42d7fad-831e-4229-80e9-867974fa7f0e_scooter_export-minio-2
2.8G ./pvc-47ea5500-be5d-43a7-a022-ef60d7c466e1_cattle-monitoring-system_prometheus-rancher-monitoring-prometheus-db-prometheus-rancher-monitoring-prometheus-0
15G ./pvc-b3c1ecbb-4b7e-4586-b91d-de0fa925b2ea_default_postgresql-ha-repo1
1.1G ./pvc-ebf1255d-2c84-4cf0-8c91-000ad7223790_default_data0-cloudwalker-minio-ss-0-0
367M ./pvc-bbbe60bb-9d25-4c03-9893-5979824637df_default_pd-tikv-cluster-pd-1
8.0K ./pvc-39255434-baef-451f-b370-21c57da9f96e_default_data-cloudwalker-nsq-nsqd-0
91M ./pvc-517cdc52-c2b8-4494-986b-bf3dc8b387df_default_redis-data-cloudwalker-redis-node-1
5.8G ./pvc-feef0745-d828-43fe-b96e-ed6609e200d9_default_tikv-tikv-cluster-tikv-0
29G .
# cd pvc-b3c1ecbb-4b7e-4586-b91d-de0fa925b2ea_default_postgresql-ha-repo1
# du -hd1
15G ./archive
8.6M ./backup
15G .
可以看到是 PostgreSQL 的归档日志目录占了很多空间
处理
# k9s
# :postgrescluster
# e
按照老师给的模板修改,计划任务的时间可以按照需求改,右边是改好的版本
改好之后,cronjob 里面应有一个每天 3:20 执行的全量备份任务
# k9s
# :cronjob
使用 t 去触发一次这个全量备份任务,等待执行完成。之后再看看这个磁盘空间,应该就不会占用特别多了。