傲娇的佩奇
发布于 IP属地浙江省

【问题解决-牧云】集群版单台磁盘空间占用过高怎么办?

在某些环境上,会发现有个主机的磁盘使用量明显高于别的主机;极端的有见过其它的平均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 去触发一次这个全量备份任务,等待执行完成。之后再看看这个磁盘空间,应该就不会占用特别多了。

浏览 (18)
点赞 (3)
收藏
打赏
评论