3.5.2. etcd 데이터 복원
정적 포드에서 etcd를 복원하기 전에 다음을 수행하십시오.
etcdctl
바이너리가 사용 가능해야 합니다. 컨테이너화된 설치에서는rhel7/etcd
컨테이너를 사용할 수 있어야 합니다.다음 명령을 실행하여 etcd 패키지로
etcdctl
바이너리를 설치할 수 있습니다.yum install etcd
# yum install etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 패키지에서는 systemd 서비스도 설치합니다. etcd가 정적 포드에서 실행될 때 systemd 서비스로 실행되지 않도록 서비스를 비활성화하고 마스킹하십시오. 서비스를 비활성화하고 마스킹함으로써 실수로 서비스를 시작하는 일이 없게 하고 시스템을 재부팅할 때 서비스가 자동으로 다시 시작되지 않게 할 수 있습니다.
systemctl disable etcd.service
# systemctl disable etcd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl mask etcd.service
# systemctl mask etcd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
정적 포드에서 etcd를 복원하려면 다음을 수행하십시오.
포드가 실행 중이면 포드 매니페스트 YAML 파일을 다른 디렉터리로 이동하여 etcd 포드를 중지하십시오.
mkdir -p /etc/origin/node/pods-stopped
# mkdir -p /etc/origin/node/pods-stopped
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mv /etc/origin/node/pods/etcd.yaml /etc/origin/node/pods-stopped
# mv /etc/origin/node/pods/etcd.yaml /etc/origin/node/pods-stopped
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 데이터를 모두 이동합니다.
mv /var/lib/etcd /var/lib/etcd.old
# mv /var/lib/etcd /var/lib/etcd.old
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포드를 복원할 노드에서 etcdctl을 사용하여 데이터를 다시 생성합니다.
etcd 스냅샷을 etcd 포드의 마운트 경로로 복원하십시오.
export ETCDCTL_API=3
# export ETCDCTL_API=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 백업 etcd.conf 파일에서 클러스터에 적절한 값을 가져옵니다.
데이터 디렉터리에서 필요한 권한 및 selinux 컨텍스트를 설정하십시오.
restorecon -RvF /var/lib/etcd/
# restorecon -RvF /var/lib/etcd/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포드 매니페스트 YAML 파일을 필요한 디렉터리로 이동하여 etcd 포드를 다시 시작하십시오.
mv /etc/origin/node/pods-stopped/etcd.yaml /etc/origin/node/pods/
# mv /etc/origin/node/pods-stopped/etcd.yaml /etc/origin/node/pods/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow