Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Contrail 백업 및 복원 등

요약  Contrail 등 데이터베이스를 백업하고 복원하는 방법을 알아보십시오.

릴리스 22.1에서 Contrail은 데이터를 기본 OpenShift 등 데이터베이스에 저장합니다. 릴리스 22.1에서 기본 등 데이터베이스를 백업하고 복원하면 Contrail 데이터를 암묵적으로 백업하고 복원할 수 있습니다.

Contrail은 릴리스 22.2부터 데이터를 자체적인 기타 데이터베이스에 저장합니다. 이 섹션에 있는 절차를 사용하여 Contrail 등 데이터베이스를 백업 및 복원합니다.

릴리스 22.2에서 Contrail 등 데이터베이스 백업

릴리스 22.2에서 이 예 절차를 사용하여 Contrail 등 데이터베이스를 백업합니다. 릴리스 22.2에서는 contrail 등 포드 자체에서 etcdctl 명령을 실행합니다.

  1. Contrail 등 포드 목록을 확인하세요.
    Contrail 등 포드 이름과 IP 주소를 유의하십시오. 다음 단계에서 이러한 이름과 IP 주소를 참조하십시오.
  2. 등 데이터베이스를 백업합니다.
    1. Contrail 등 포드 중 하나에 쉘을 넣습니다.
      예를 들어, 쉘(shell)을 포함하려는 등 포드는 어디에 contrail-etcd-xxx 있는가?
    2. 등 데이터베이스를 백업합니다.
      이 예는 데이터베이스를 /tmp/etcdbackup.db에 저장합니다. <etcd-pod-ip> 은(는) 은(는) 포드의 IP 주소이며 <etcd-port>, 은(는) 등에서 수신하는 포트입니다(기본값, 12379).
  3. 데이터베이스를 안전한 위치로 복사합니다.
    예를 들어, 데이터베이스를 백업한 등 포드는 어디에 contrail-etcd-xxx 있습니다.

릴리스 22.3에서 Contrail 등 데이터베이스 백업

릴리스 22.3의 이 예 절차를 사용하여 Contrail 등 데이터베이스를 백업합니다. 릴리스 22.3에서는 컨트롤 플레인 노드에서 etcdctl 명령을 실행합니다.

  1. 모든 컨트롤 플레인 노드에 etcdctl을 설치합니다.
    1. 컨트롤 플레인 노드 중 하나에 로그인합니다.
      예를 들어:
    2. 다운로드 등. 이 예는 /tmp 디렉터리로 다운로드됩니다.
    3. 실행 파일을 경로의 디렉터리(예: /usr/local/bin)로 언타르하고 이동합니다.
    4. 설치했는지 확인합니다.
    5. 모든 컨트롤 플레인 노드에서 반복합니다.
  2. Contrail 등 포드 목록을 확인하세요.
    Contrail 등 포드 이름, IP 주소 및 실행 중인 노드를 유의하십시오. 다음 몇 단계에서 이 정보가 필요합니다.
  3. 포드에서 컨트롤 플레인 노드로 등 인증서 및 키 파일을 복사합니다.
    이 단계에서 컨트롤 플레인 노드에서 kubectl을 실행합니다. 컨트롤 플레인 노드의 기본 위치( ~/.kube/config)에서 kubeconfig를 설정했다고 가정합니다.
    1. Contrail 등 포드(예: contrail-etcd-0)를 선택하고 해당 포드를 호스팅하는 컨트롤 플레인 노드에 로그인합니다.
    2. Contrail 등 포드의 인증서와 키 파일을 호스팅 컨트롤 플레인 노드로 복사합니다.
      이 예에서는 contrail 등 0 포드의 인증서와 키 파일을 이 노드의 로컬 파일로 복사합니다. 이렇게 하면 Contrail 등 0 포드의 인증서 및 키 파일을 이 컨트롤 플레인 노드의 현재 디렉터리에 있는 ca.crt, tls.crttls.key 로 복사합니다.
    3. 각 Contrail 등 포드에 대해 반복합니다.
  4. 컨트롤 플레인 노드 중 하나에서 등 데이터베이스를 백업합니다. 하나의 노드에서만 데이터베이스를 백업하면 됩니다.
    1. 컨트롤 플레인 노드 중 하나에 다시 로그인합니다.
    2. 등 데이터베이스를 백업합니다.
      이 예는 이 컨트롤 플레인 노드에서 데이터베이스를 /tmp/etcdbackup.db에 저장합니다. <etcd-pod-ip> 은(는) 이 노드에서 포드의 IP 주소이며 <etcd-port>, 은(는) 등에서 수신 중인 포트입니다(기본적으로 12379).
  5. 데이터베이스를 안전한 위치로 복사합니다.

릴리스 22.2에서 Contrail 등 데이터베이스 복원

릴리스 22.2의 이 예 절차를 사용하여 스냅샷에서 Contrail 등 데이터베이스를 복원합니다.
  1. 모든 Contrail 등 포드에 스냅샷을 복사합니다.
    다른 Contrail 등 포드에 대해 반복합니다.
  2. 스냅샷을 복원합니다.
    1. Contrail 등 포드 중 하나에 쉘을 넣습니다.
      예를 들어, 쉘(shell)을 포함하려는 등 포드는 어디에 contrail-etcd-xxx 있는가?
    2. 등 데이터베이스를 복원합니다.
      이는 포드에 .etcd directory를 생성합니다 <contrail-etcd-xxx>. 여기서 <contrail-etcd-xxx> 은(는) 현재 에 있는 Contrail 등 포드의 이름이며 <contrail-etcd-xxx-ip> 해당 포드의 IP 주소입니다. 및 <contrail-etcd-zzz><contrail-etcd-yyy>(는) 다른 Contrail 등 포드를 참조하십시오.
    3. 다른 Contrail 등 포드에 대해 반복하여 --name 각 Contrail 등 포드 이름과 IP 주소로 및 --initial-advertise-peer-urls 값을 대체합니다.
  3. Contrail 등 포드에서 저장된 등 데이터를 각 컨트롤 플레인 노드로 복사합니다.
    1. 컨트롤 플레인 노드 중 하나에 SSH를 통합합니다.
    2. Contrail 등 포드에서 저장된 contrail-etcd-xxx.etcd를 노드로 복사합니다.
      예를 들어, 에 로그인한 컨트롤 플레인 노드의 Contrail 등 포드 이름은 어디에 contrail-etcd-xxx 있습니다.
    3. 다른 컨트롤 플레인 노드에 대해 반복합니다.
  4. Contrail 등 포드를 중지합니다.
    이렇게 하면 복제본이 0으로 설정되며 이는 효과적으로 포드를 중지합니다.
  5. Contrail 등 데이터를 스냅샷의 데이터로 대체합니다.
    1. 컨트롤 플레인 노드 중 하나에 SSH를 통합합니다.
    2. 데이터를 대체합니다.
      은( contrail-etcd-xxx는) 에 로그인한 컨트롤 플레인 노드의 Contrail 등 포드 이름입니다.
    3. 다른 컨트롤 플레인 노드에 대해 반복합니다.
  6. Contrail 등 포드를 시작합니다.
    이렇게 하면 복제본이 3으로 설정되며, 꼬투리를 효과적으로 시작합니다.
  7. Contrail-System apiserver 및 Controller를 다시 시작합니다.
    모든 contrail-k8s-apiserver 및 contrail-k8s-controller pod를 삭제합니다. 이러한 포드는 자동으로 다시 시작됩니다.
  8. vrouters를 다시 시작합니다.
    모든 Contrail-vrouter-master 및 contrail-vrouter-nodes pod를 삭제합니다. 이러한 포드는 자동으로 다시 시작됩니다.
  9. 모든 pod가 실행 상태에 있는지 확인합니다.

릴리스 22.3에서 Contrail 등 데이터베이스 복원

릴리스 22.3의 이 예 절차를 사용하여 스냅샷에서 Contrail 등 데이터베이스를 복원합니다.
  1. 모든 컨트롤 플레인 노드에 복원하려는 스냅샷을 복사합니다.
    아래 단계는 모든 컨트롤 플레인 노드에서 /tmp/etcdbackup.db 에 대한 스냅샷을 복사한 것으로 가정합니다.
  2. 스냅샷을 복원합니다.
    1. 컨트롤 플레인 노드 중 하나에 로그인합니다. 이 예에서는 Contrail 등 0을 호스팅하는 컨트롤 플레인 노드에 로그인하고 있습니다.
    2. 등 데이터베이스를 이 컨트롤 플레인 노드의 Contrail 등 0 포드에 복원합니다.
      이렇게 하면 노드에 Contrail 등 0 등 디렉터 리를 생성합니다. 여기서 --name=contrail-etcd-0 이 명령이 데이터베이스를 Contrail 등 0으로 복원하도록 지정하고, --initial-cluster=... 클러스터에 있는 모든 Contrail 등 멤버를 나열하며 --initial-advertise-peer-urls=... , Contrail 등 0 포드가 수신하고 있는 IP 주소 및 포트 번호를 나타냅니다.
    3. 각 컨트롤 플레인 노드의 다른 Contrail 등 포드에 대해 반복하여 --name 해당 Contrail 등 포드 이름과 IP 주소로 및 --initial-advertise-peer-urls 값을 대체합니다.
  3. Contrail 등 포드를 중지합니다.
    이렇게 하면 복제본이 0으로 설정되며 이는 효과적으로 포드를 중지합니다.
  4. Contrail 등 데이터를 스냅샷의 데이터로 대체합니다.
    1. 컨트롤 플레인 노드 중 하나에 SSH를 통합합니다.
    2. 데이터를 대체합니다. 스냅샷은 Contrail 등<xxx> 디렉터리에 저장되어 있습니다.
      은( contrail-etcd-xxx는) 에 로그인한 컨트롤 플레인 노드의 Contrail 등 포드 이름입니다.
    3. 다른 컨트롤 플레인 노드에 대해 반복합니다.
  5. Contrail 등 포드를 시작합니다.
    이렇게 하면 복제본이 3으로 설정되며, 꼬투리를 효과적으로 시작합니다.
  6. Contrail-System apiserver 및 Controller를 다시 시작합니다.
    모든 contrail-k8s-apiserver 및 contrail-k8s-controller pod를 삭제합니다. 이러한 포드는 자동으로 다시 시작됩니다.
  7. vrouters를 다시 시작합니다.
    모든 Contrail-vrouter-master 및 contrail-vrouter-nodes pod를 삭제합니다. 이러한 포드는 자동으로 다시 시작됩니다.
  8. 모든 pod가 실행 상태에 있는지 확인합니다.