디스크 장애나 다른 심각한 문제가 발생한 경우 명령줄 인터페이스를 사용하여 VMware Integrated OpenStack 배포의 개별 노드를 복구할 수 있습니다.

VMware Integrated OpenStack 노드를 복구하면 새로 배포된 노드의 상태로 전환됩니다.

사전 요구 사항

  • 모든 데이터베이스 노드를 복구하려면 OpenStack 데이터베이스의 백업이 있어야 합니다. Swift 노드를 복구하려면 Swift 링 백업이 있어야 합니다. 배포 백업 항목을 참조하십시오.

  • 데이터스토어에 원래 노드와 복구된 노드를 동시에 포함하기에 충분한 공간이 있는지 확인합니다. 복구 프로세스가 원래 노드를 삭제하지만 두 노드 모두를 위한 공간이 일시적으로 필요합니다. 이 문제를 방지하려면 복구하기 전에 기존 노드의 전원을 끄고 삭제하면 됩니다.

프로시저

  1. OpenStack 관리 서버viouser로 로그인합니다.
  2. 노드 또는 역할별로 OpenStack 노드를 복구합니다.

    배포에 있는 노드를 표시하려면 viocli show 명령을 사용합니다. VM 이름역할 열에 표시된 값은 노드를 복구하는 데 사용될 수 있습니다.

    1. 비데이터베이스 노드를 복구하려면 다음 명령을 실행합니다.
      sudo viocli recover {-n node1... | -r role1... [-n node1...]} 

      옵션

      설명

      -n

      복구할 노드의 이름을 입력합니다.

      -r

      복구할 역할의 이름을 입력합니다. 지정된 역할에 할당된 모든 노드가 복구됩니다. 이 매개 변수 외에 -n을 지정하면 지정된 역할 외부의 단일 노드를 복구할 수 있습니다.

    2. 데이터베이스 노드를 복구하려면 다음 명령을 실행합니다.
      sudo viocli recover {-n node1... | -r role} -dn backup-name -nfs nfs-host:/backup-folder

      옵션

      설명

      -n

      복구할 데이터베이스 노드의 이름을 입력합니다. HA 배포의 경우 DB 노드를 지정하고 컴팩트 또는 매우 작음 배포의 경우 ControlPlane 노드를 지정할 수 있습니다.

      -r

      HA 배포의 경우 DB를 지정하고 컴팩트 또는 매우 작음 배포의 경우 ControlPlane을 지정합니다. 모든 데이터베이스 노드가 복구됩니다.

      -dn

      OpenStack 데이터베이스 백업이 포함된 폴더를 입력합니다.

      OpenStack 데이터베이스 백업 폴더는 vio_os_db_yyyymmddhhmmss 형식입니다.

      -nfs

      백업이 위치한 NFS 호스트 및 디렉토리를 remote-host:/remote-dir 형식으로 지정합니다.

    3. Swift 노드를 복구하려면 다음 명령을 실행합니다.
      sudo viocli recover -n node-name -dn backup-name -nfs nfs-host:/backup-folder

      옵션

      설명

      -n

      단일 Swift 노드의 이름을 입력합니다.

      -dn

      Swift 링 백업이 포함된 폴더를 입력합니다.

      Swift 백업 폴더는 vio_swift_ring_yyyymmddhhmmss 형식입니다.

      -nfs

      백업이 위치한 NFS 호스트 및 디렉토리를 remote-host:/remote-dir 형식으로 지정합니다.

      중요:

      Swift 노드는 역할별로 또는 일괄적으로 복구할 수 없습니다. 데이터 손실을 방지하려면 복구된 노드가 작동하는지 확인하고 복구된 노드에 대한 데이터 복제가 완료되었는지 확인한 후에 다른 Swift 노드를 복구합니다.

결과

복구 프로세스에는 몇 분이 소요될 수 있습니다. vSphere Client에서 OpenStack 배포를 확인하면 노드의 상태를 확인할 수 있습니다.