Kamis, 26 Desember 2024

ETCD Fixing - NoSpace

Bash Script Fixing ETCD No Space

#!/bin/bash

CA=/opt/apps/certificate/ca.pem

CRT=/opt/apps/certificate/postgres.pem

KEY=/opt/apps/certificate/postgres-key.pem

DATE=`date +%Y%m%d`

HOST_1=192.168.56.11

HOST_2=192.168.56.12

HOST_3=192.168.56.13

DIR=/opt/apps/etcd/backup/

 

echo "----------Start Backup ETCD----------"

etcdctl snapshot save /opt/apps/etcd/backup/${DATE}_etcd.db --endpoints=https://$HOST_1:2379 --cacert=$CA --cert=$CRT --key=$KEY

echo "----------End Backup ETCD----------"

 

 

 

echo "----------Start Compact ETCD----------"

#obtain the latest revision to compact

#REVISION=`etcdctl endpoint status --write-out=json --endpoints=https://$HOST_2:2379 --cacert=$CA --cert=$CRT --key=$KEY | egrep -o '"revision":[0-9]*' | egrep -o '[0-9]*'`

 

REVISION=`etcdctl endpoint status --write-out=json --endpoints=https://192.168.56.11:2379 --cacert=/opt/apps/certificate/ca.pem --cert=/opt/apps/certificate/postgres.pem --key=/opt/apps/certificate/postgres-key.pem | egrep -o '"revision":[0-9]*' | egrep -o '[0-9]*'`

 

#check etcd status snapshot

etcdutl --write-out=table snapshot status /opt/apps/etcd/backup/${DATE}_etcd.db

 

etcdctl compact $REVISION --endpoints=https://$HOST_1:2379 --cacert=$CA --cert=$CRT --key=$KEY

echo "----------End Compact Etcd----------"

 

 

 

echo "----------Start Fixing Error : NOSPACE----------"

#Defrag-Disarm

etcdctl --endpoints=https://192.168.56.11:2379,https://192.168.56.12:2379,https://192.168.56.13:2379 --cacert=$CA --cert=$CRT --key=$KEY --command-timeout=120s defrag

etcdctl --endpoints=https://192.168.56.11:2379,https://192.168.56.12:2379,https://192.168.56.13:2379 --cacert=$CA --cert=$CRT --key=$KEY --command-timeout=120s alarm disarm

echo "----------End Fixing Error : NOSPACE----------"

 

 

 

echo "----------Start remove OLD backup db ETCD----------"

#remove backup after 15 days

find ${DIR} -type f -iname "*.db" -mtime +14 -exec rm {} \;

echo "----------End remove OLD backup db ETCD----------"

 

Tidak ada komentar:

Posting Komentar