고가용성 구성
고가용성은 호스트 또는 하드웨어 장애 발생 시 VM 워크로드를 보호하려고 시도합니다.
이 문서에서는 고가용성을 구성하기 위해 수행해야 할 작업에 대해 설명합니다. 고가용성 개념, 요구 사항 및 예상 동작에 대한 자세한 내용은 고가용성을 참조하십시오.
1. 고가용성을 위해 풀 구성
풀이 고가용성과 호환되려면 특정 요구 사항을 충족해야 합니다.
-
풀이 동종이며, 3개 이상의 호스트를 포함하고, 모든 호스트가 온라인 상태인지 확인합니다. 자세한 내용은 풀 생성을 참조하십시오.
-
풀 관리 네트워크에 대해 전용으로 결합된 인터페이스를 설정하고 이 네트워크가 포트 694를 통해 UDP 트래픽을 허용하는지 확인합니다. 자세한 내용은 리소스 풀에서 NIC 본드 생성을 참조하십시오.
-
풀의 모든 호스트에 대해 고정 IP 주소를 구성합니다.
-
풀의 모든 호스트에 대해 공유 스토리지를 설정합니다. 자세한 내용은 SR 생성을 참조하십시오.
-
풀에 있는 하나의 공유 스토리지 저장소가 다음 요구 사항을 충족하는 iSCSI, NFS 또는 Fibre Channel LUN에 있는지 확인합니다.
- 크기가 4GB 이상입니다.
- 복원력 있는 스토리지 통신이 있습니다. iSCSI 및 Fibre Channel 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값을 다음 옵션 중 하나로 설정하십시오:- 풀이 과도하게 커밋되지 않은 경우, 풀의 다른 호스트에서 VM을 재시작하도록
restart을(를) 설정합니다. XenServer는 성공할 때까지 이 재시작을 재시도합니다. - 풀의 다른 호스트에서 VM을 재시작하기 위해 한 번 시도하도록
best-effort을(를) 설정합니다. XenServer는 모든 보호된 VM이 성공적으로 재시작된 후에만 이 시도를 수행합니다.
VM의
order값을 설정할 때, 가장 높은 우선순위의 VM이 가장 낮은 시작 순서를 갖도록 설정합니다. 이 설정의 기본값은 0이며, 이 시작 순서를 가진 VM이 먼저 시작됩니다.xe vm-param-set uuid=<vm_uuid> ha-restart-priority=<priority> order=<start_order> <!--NeedCopy-->대신 XenCenter를 사용하여 VM에서 이러한 설정을 구성할 수 있습니다. 자세한 내용은 시작 옵션을 참조하십시오.
- 풀이 과도하게 커밋되지 않은 경우, 풀의 다른 호스트에서 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=
이 명령은 시작 순서 설정을 유지합니다. 이 VM에 대한 고가용성을 다시 활성화하려면 ha-restart-priority 매개변수를 restart 또는 best-effort(적절하게)으로 설정하면 됩니다.
내부적으로 종료된 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을 종료하려면 먼저 고가용성 보호를 비활성화하십시오.