디스크 장애나 다른 심각한 문제가 발생한 경우 명령줄 인터페이스를 사용하여 VMware Integrated OpenStack 배포의 개별 노드를 복구할 수 있습니다.
VMware Integrated OpenStack 노드를 복구하면 새로 배포된 노드의 상태로 전환됩니다.
사전 요구 사항
모든 데이터베이스 노드를 복구하려면 OpenStack 데이터베이스의 백업이 있어야 합니다. Swift 노드를 복구하려면 Swift 링 백업이 있어야 합니다. 배포 백업 항목을 참조하십시오.
데이터스토어에 원래 노드와 복구된 노드를 동시에 포함하기에 충분한 공간이 있는지 확인합니다. 복구 프로세스가 원래 노드를 삭제하지만 두 노드 모두를 위한 공간이 일시적으로 필요합니다. 이 문제를 방지하려면 복구하기 전에 기존 노드의 전원을 끄고 삭제하면 됩니다.
프로시저
- OpenStack 관리 서버에
viouser
로 로그인합니다.
- 노드 또는 역할별로 OpenStack 노드를 복구합니다.
배포에 있는 노드를 표시하려면 viocli show 명령을 사용합니다. VM 이름 및 역할 열에 표시된 값은 노드를 복구하는 데 사용될 수 있습니다.
- 비데이터베이스 노드를 복구하려면 다음 명령을 실행합니다.
sudo viocli recover {-n node1... | -r role1... [-n node1...]}
옵션 |
설명 |
-n |
복구할 노드의 이름을 입력합니다. |
-r |
복구할 역할의 이름을 입력합니다. 지정된 역할에 할당된 모든 노드가 복구됩니다. 이 매개 변수 외에 -n을 지정하면 지정된 역할 외부의 단일 노드를 복구할 수 있습니다. |
- 데이터베이스 노드를 복구하려면 다음 명령을 실행합니다.
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 형식으로 지정합니다. |
- 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 배포를 확인하면 노드의 상태를 확인할 수 있습니다.