티스토리 뷰

카테고리 없음

ETCD 백업및 복구

미니대왕님 2023. 8. 24. 10:20

참고 URL : https://www.youtube.com/watch?v=u3xKCmnMTc0

 

1. etcd는 분산된 키-값 저장소로서 Kubernetes 클러스터와 같은 분산 시스템에서 중요한 역할
2. etcd 데이터의 백업 및 복구는 시스템의 안정성과 가용성을 보장하는 데 중요


주의: 데이터의 백업 및 복구는 신중하게 수행되어야 하며, 클러스터와 데이터의 특성에 따라 달라질 수 있습니다.
          먼저 클러스터에서의 백업 및 복구 전략을 신중히 고려하고 테스트해 보는 것이 좋습니다.

$  yum  install etcd
$ k create ns ccc
 service etcd status
 service etcd stop
$ ETCDCTL_API=3 etcdctl --endpoints=https://[127.0.0.1]:2379  --cacert=/etc/kubernetes/pki/etcd/ca.crt  --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key  snapshot save  /root/etcd-backup/democ
$ vi /etc/kubernetes/manifests/etcd.yaml

 service etcd start
$ path 변경

etcd 백업 방법:

  1. etcd 스냅샷 생성: etcdctl을 사용하여 etcd 데이터의 스냅샷을 생성합니다. 스냅샷 파일은 클러스터의 상태 및 데이터를 포함하게 됩니다.

  2. etcdctl snapshot save <snapshot-file-name>
    예)  $ ETCDCTL_API=3 etcdctl --endpoints=https://[127.0.0.1]:2379  --cacert=/etc/kubernetes/pki/etcd/ca.crt  --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key  snapshot save  /root/etcd-backup/democ

  3. 스냅샷 파일 저장: 생성된 스냅샷 파일을 안전한 장소에 저장합니다. 외부 백업 저장소나 안전한 네트워크 위치 등을 고려할 수 있습니다.

etcd 복구 방법:

  1. etcd 서비스 중지: 먼저 etcd 서비스를 중지합니다.
  2. 기존 데이터 백업: etcd 데이터 디렉토리를 백업하여 현재 데이터를 보존합니다. 기존 데이터를 손상시키지 않기 위해 중요합니다.
  3. 스냅샷 파일 복사: 백업된 스냅샷 파일을 복구하려는 노드로 복사합니다.
  4. etcd 복구: etcdctl을 사용하여 스냅샷 파일을 사용하여 etcd 데이터를 복구합니다.
    etcdctl snapshot restore <snapshot-file-name> \ --data-dir <etcd-data-directory>
    참조 :  https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
  5. etcd 서비스 시작: etcd 서비스를 다시 시작합니다. 복구된 데이터로 클러스터가 작동하게 됩니다.

 

참조 : ETCD 백업하기 전에 서비스 중지 방법!

#etcd 서비스를 중지하는 방법

$ systemctl status etcd
etcd 서비스 중지:
아래 명령을 사용하여 etcd 서비스를 중지합니다.

$ sudo systemctl stop etcd
init 시스템을 사용하는 경우
etcd 서비스 상태 확인:
아래 명령을 사용하여 현재 etcd 서비스의 상태를 확인합니다.

$ service etcd status
etcd 서비스 중지:
아래 명령을 사용하여 etcd 서비스를 중지합니다.

$ sudo service etcd stop
위의 방법은 주로 사용되는 방식이지만, 배포판이나 운영체제에 따라 다를 수 있습니다.
etcd 서비스를 중지하기 전에 백업이나 기타 안전 조치를 취하는 것을 잊지 마십시오.
서버 관리자 권한으로 명령을 실행해야 할 수도 있습니다.

만약 etcd 클러스터가 Kubernetes 클러스터와 함께 사용되는 경우에는 주의하여 진행해야 합니다.
클러스터의 가용성을 보장하기 위해 etcd의 중단 시점과 관련된 사항을 신중히 계획하고 진행하는
것이 중요합니다.

유의사항:

  • 백업 및 복구를 수행할 때 etcd 버전 및 환경에 따라 명령어나 절차가 다를 수 있습니다. 
    해당 버전의 공식 문서를 참조하는 것이 좋습니다.
  • 클러스터에서 백업된 스냅샷 파일은 보안에 유의하여 저장해야 합니다.
  • 백업은 정기적으로 수행되어야 하며, 데이터의 중요성에 따라 더 자주 백업하는 것이 좋습니다.
  • 복구 과정을 테스트해 보는 것이 중요합니다.
    * 실제 데이터가 손상되지 않도록 신중하게 절차를 따르세요.

이상의 안내는 기본적인 백업 및 복구 과정에 대한 것이며, 실제 환경에서는 더 복잡한 상황이 발생할 수 있습니다. 따라서 공식 etcd 문서와 해당 버전의 가이드라인을 참조하여 작업하는 것이 좋습니다.

이상 icurfer 님 의 영상자료를 통하여 직접 테스트해보았습니다. 

icurfer 님 감사합니다. 

댓글