고가용성 구성
고가용성은 호스트 또는 하드웨어 장애 발생 시 VM 작업 부하를 보호하려고 시도합니다.
이 문서에서는 고가용성을 구성하기 위해 수행해야 하는 작업을 설명합니다. 고가용성 개념, 요구 사항 및 예상 동작에 대한 자세한 내용은 고가용성을 참조하세요.
1. 고가용성을 위해 풀을 구성하세요
풀이 고가용성과 호환되려면 다음과 같은 특정 요구 사항을 충족해야 합니다.
-
풀이 동질적이고, 3개 이상의 호스트가 있으며, 모든 호스트가 온라인 상태인지 확인하세요. 자세한 내용은 풀 만들기를 참조하세요.
-
풀 관리 네트워크에 대한 전용 본딩 인터페이스를 설정하고 이 네트워크가 포트 694를 통한 UDP 트래픽을 허용하는지 확인합니다. 자세한 내용은 리소스 풀에 NIC 본드 만들기를 참조하세요.
-
풀에 있는 모든 호스트에 대해 정적 IP 주소를 구성합니다.
-
풀에 있는 모든 호스트를 위한 공유 스토리지를 설정합니다. 자세한 내용은 SR 만들기를 참조하세요.
-
풀의 공유 스토리지 리포지토리 중 하나가 다음 요구 사항을 충족하는 iSCSI, NFS 또는 파이버 채널 LUN에 있는지 확인하세요.
- 크기가 4GB 이상입니다.
- 탄력적인 스토리지 통신을 갖추고 있습니다. iSCSI 및 파이버 채널 SR의 경우 다중 경로를 구성합니다. NFS SR의 경우 복원력이 뛰어난 본딩 네트워크를 스토리지 네트워크로 사용하세요.
이 SR은 하트비트 SR로 사용됩니다.
2. 고가용성을 위해 VM 준비
고가용성으로 보호하려는 풀의 모든 VM에 대해 다음 단계를 완료하세요.
-
VM이 민첩한지 확인하세요.
-
가상 디스크가 공유 스토리지에 있는지 확인하세요.
디스크가 공유 저장소에 없으면 다음 명령을 사용하여 디스크를 이동합니다.
xe vm-copy uuid=<vm_uuid> new-name-label=<name_for_copy> sr-uuid=<uuid_of_sr>sr-uuid를 풀 공유 저장소의 UUID로 설정합니다. -
VM이 로컬 DVD 드라이브에 연결되어 있지 않은지 확인하세요.
-
다음을 입력하여 VM에 빈 CD/DVD 드라이브가 없는지 확인하세요.
xe vbd-list type=CD empty=false vm-uuid=<vm_uuid> <!--NeedCopy-->연결된 드라이브가 있는 경우 해당 정보를 반환합니다. 참고:
UUID (우이이드)- 목록의 첫 번째 항목입니다. -
VM의 CD/DVD 드라이브를 비우려면 다음을 입력하세요.
xe vbd-eject uuid=<uuid> <!--NeedCopy-->
-
-
가상 네트워크 인터페이스가 풀 전체 네트워크에 있는지 확인하세요.
-
VM이 라이브 마이그레이션 요구 사항을 충족하는지 확인하세요. 자세한 내용은 마이그레이션 요구 사항을 참조하세요.
-
-
풀이 과도하게 커밋되었을 때 어떤 VM에 가장 높은 재시작 우선 순위가 부여되는지 결정하는 우선 순위 집합을 지정합니다.
ha-restart-priority의 값을 다음 옵션 중 하나로 설정합니다.-
restart을 입력하면 풀이 과도하게 커밋되지 않은 경우 풀의 다른 호스트에서 VM이 다시 시작됩니다. XenServer는 성공할 때까지 이 재시작을 다시 시도합니다. -
최선의 노력풀의 다른 호스트에서 VM을 다시 시작하려는 단일 시도를 합니다. XenServer는 모든 보호된 VM이 성공적으로 다시 시작된 후에만 이러한 시도를 수행합니다.
VM의
순서에 대한 값을 설정할 때, 가장 높은 우선순위의 VM이 가장 낮은 시작 순서를 갖도록 설정합니다. 이 설정의 기본값은 0이며 이 시작 순서를 가진 VM이 먼저 시작됩니다.xe vm-param-set uuid=<vm_uuid> ha-restart-priority=<priority> order=<start_order> <!--NeedCopy-->대신 XenCenter를 사용하여 VM에서 이러한 설정을 구성할 수 있습니다. 자세한 내용은 시작 옵션을 참조하세요.
-
3. XenServer 풀에서 고가용성 활성화
XenCenter나 명령줄 인터페이스(CLI)를 사용하여 풀에서 고가용성을 활성화할 수 있습니다. XenCenter를 사용하여 고가용성을 활성화하는 방법에 대한 자세한 내용은 고가용성 활성화를 참조하세요.
xe CLI를 사용하여 고가용성을 활성화하려면:
-
풀에서 고가용성을 활성화하고 선택적으로 시간 초과를 지정하려면 다음 명령을 실행합니다.
xe pool-ha-enable heartbeat-sr-uuids=<sr uuid> ha-config:timeout=<timeout_in_seconds> <!--NeedCopy-->이 명령으로 구성된 시간 초과는 고가용성 활성화에만 적용됩니다. 시간 제한을 지정하지 않으면 기본값은 60초입니다. 풀의 기본 시간 초과를 변경하려면 고가용성 시간 초과 구성을 참조하세요.
-
다음 명령을 실행하여 풀에 있는 모든 보호된 VM을 실행할 리소스가 부족해지기 전에 실패할 수 있는 최대 호스트 수를 계산합니다.
xe pool-ha-compute-max-host-failures-to-tolerate <!--NeedCopy-->반환되는 숫자는 보호된 VM의 활성 상태 보장을 잃지 않고 현재 풀에서 발생할 수 있는 호스트 장애의 수입니다. 이 값은 풀의 조건이 변경됨에 따라 변경될 수 있습니다.
-
이전 단계에서 지정한 값보다 작거나 같은 허용할 호스트 장애 수를 지정합니다.
xe pool-param-set ha-host-failures-to-tolerate=<failure_value> uuid=<pool uuid> <!--NeedCopy-->허용할 수 있는 실패 횟수에 따라 경고가 전송되는 시기가 결정됩니다. 시스템은 풀 상태가 변경되면 장애 조치 계획을 다시 계산합니다. 이 계산을 사용하면 풀 용량을 식별하고 보호된 VM의 활성 상태 보장을 잃지 않고 얼마나 많은 실패가 발생할 수 있는지 파악할 수 있습니다. 이 계산된 값이 지정된 값 아래로 떨어지면 시스템 경고가 생성됩니다.
고가용성 시간 초과 구성
타임아웃은 풀에 있는 호스트가 네트워킹이나 스토리지에 액세스할 수 없는 기간입니다. XenServer 호스트가 제한 시간 내에 네트워킹이나 스토리지에 액세스하지 못하는 경우 자체 펜싱을 수행하고 다시 시작할 수 있습니다. 기본 시간 초과는 60초입니다. 하지만 풀에 대한 기본 고가용성 시간 초과를 설정하여 이 값을 변경할 수 있습니다.
xe pool-param-set uuid=<pool uuid> other-config:default_ha_timeout=<timeout in seconds>
<!--NeedCopy-->
xe CLI 대신 XenCenter를 사용하여 고가용성을 활성화하는 경우에도 이 기본값이 적용됩니다.
VM에서 고가용성 보호 제거
VM에 대한 고가용성 기능을 비활성화하려면 다음 명령을 사용합니다.
xe vm-param-set uuid=<vm_uuid> ha-restart-priority=
이 명령은 시작 순서 설정을 유지합니다. ha-restart-priority 매개변수를 restart 또는 best-effort 로 적절히 설정하여 이 VM에 대해 고가용성을 다시 활성화할 수 있습니다.
정상적으로 종료된 VM에 대한 재시작 동작을 구성합니다
VM이 HA로 보호되는 경우 기본적으로 종료될 때마다 다시 시작됩니다. 이 동작에는 게스트 운영 체제 내에서 VM을 정상적으로 종료한 후 다시 시작하는 것이 포함됩니다.
이 동작을 변경하여 HA 지원 풀의 VM이 충돌하거나 실행 중인 호스트에 오류가 발생하거나 펜싱된 경우에만 다시 시작되도록 할 수 있으며, 정상적으로 종료된 경우 VM이 종료된 상태로 유지되도록 할 수 있습니다.
HA 보호 VM이 정상적인 종료 후 자동으로 재부팅되지 않도록 구성하려면 ha-reboot-vm-on-internal-shutdown 값을 false로 설정합니다.
xe pool-param-set uuid=<pool_uuid> ha-reboot-vm-on-internal-shutdown=false
HA 보호 VM이 정상적인 종료 후 자동으로 재부팅되도록 구성하려면 ha-reboot-vm-on-internal-shutdown 값을 true로 설정합니다.
xe pool-param-set uuid=<pool_uuid> ha-reboot-vm-on-internal-shutdown=true
접근할 수 없는 호스트 복구
어떤 이유로 호스트가 고가용성 상태 파일에 액세스할 수 없는 경우 호스트에 접근할 수 없게 될 수 있습니다. XenServer 설치를 복구하려면 호스트에서 host-emergency-ha-disable 명령을 사용하여 고가용성을 비활성화해야 할 수 있습니다.
xe host-emergency-ha-disable --force
<!--NeedCopy-->
호스트가 풀 코디네이터인 경우 고가용성이 비활성화된 상태로 정상적으로 시작됩니다. 풀 멤버가 다시 연결되고 고가용성이 자동으로 비활성화됩니다. 호스트가 풀 멤버이고 풀 코디네이터에게 연락할 수 없는 경우 다음 작업 중 하나를 수행해야 할 수 있습니다.
-
호스트를 풀 코디네이터로 재부팅하도록 강제합니다(
xe pool-emergency-transition-to-master)xe pool-emergency-transition-to-master uuid=<host uuid> <!--NeedCopy--> -
호스트에게 새로운 풀 코디네이터가 있는 위치를 알려주세요 (
xe pool-emergency-reset-master):xe pool-emergency-reset-master master-address=<new pool coordinator hostname> <!--NeedCopy-->
모든 호스트가 성공적으로 다시 시작되면 고가용성을 다시 활성화합니다.
xe pool-ha-enable heartbeat-sr-uuid=<sr uuid>
<!--NeedCopy-->
고가용성이 활성화된 경우 호스트 종료
호스트를 종료하거나 재부팅할 때는 고가용성 메커니즘이 호스트에 장애가 발생했다고 가정하지 않도록 특별히 주의하세요. 고가용성이 활성화된 경우 호스트를 정상적으로 종료하려면 호스트를 비활성화하고, 호스트를 대피시킨 다음 마지막으로 XenCenter나 CLI를 사용하여 호스트를 종료합니다. 고가용성이 활성화된 환경에서 호스트를 종료하려면 다음 명령을 실행하세요.
xe host-disable host=<host name>
xe host-evacuate uuid=<host uuid>
xe host-shutdown host=<host name>
<!--NeedCopy-->
고가용성으로 보호되는 VM 종료
VM이 고가용성 계획에 따라 보호되고 자동으로 다시 시작되도록 설정된 경우 이 보호 기능이 활성화되어 있는 동안에는 종료할 수 없습니다. VM을 종료하려면 먼저 고가용성 보호 기능을 비활성화한 다음 CLI 명령을 실행합니다.
xe vm-param-set uuid=<vm_uuid> ha-restart-priority=
xe vm-shutdown uuid=<vm_uuid>
<!--NeedCopy-->
XenCenter에서는 보호된 VM의 종료 버튼을 선택하면 보호 기능을 자동으로 비활성화할 수 있는 대화 상자를 제공합니다.
메모:
게스트 내에서 VM을 종료하고 VM이 보호되는 경우, 고가용성 장애 조건에서 자동으로 다시 시작됩니다. 자동 재시작 기능은 운영자 오류로 인해 보호된 VM이 실수로 종료되는 것을 방지하는 데 도움이 됩니다. 이 VM을 종료하려면 먼저 고가용성 보호 기능을 비활성화하세요.