XenServer

고가용성 구성

고가용성은 호스트 또는 하드웨어 장애 발생 시 VM 워크로드를 보호하려고 시도합니다.

이 문서에서는 고가용성을 구성하기 위해 수행해야 할 작업을 설명합니다. 고가용성 개념, 요구 사항 및 예상 동작에 대한 자세한 내용은 고가용성을 참조하십시오.

1. 고가용성을 위한 풀 구성

풀이 고가용성과 호환되려면 특정 요구 사항을 충족해야 합니다.

  1. 풀이 동종이며, 3개 이상의 호스트를 포함하고, 모든 호스트가 온라인 상태인지 확인합니다. 자세한 내용은 풀 생성을 참조하십시오.

  2. 풀 관리 네트워크를 위한 전용 본딩 인터페이스를 설정하고 이 네트워크가 포트 694를 통해 UDP 트래픽을 허용하는지 확인합니다. 자세한 내용은 리소스 풀에서 NIC 본드 생성을 참조하십시오.

  3. 풀의 모든 호스트에 대해 고정 IP 주소를 구성합니다.

  4. 풀의 모든 호스트에 대해 공유 스토리지를 설정합니다. 자세한 내용은 SR 생성을 참조하십시오.

  5. 풀에 있는 하나의 공유 스토리지 저장소가 다음 요구 사항을 충족하는 iSCSI, NFS 또는 Fibre Channel LUN에 있는지 확인합니다.

    • 크기가 4GB 이상입니다.
    • 탄력적인 스토리지 통신을 가집니다. iSCSI 및 Fibre Channel SR의 경우 멀티패싱을 구성합니다. NFS SR의 경우 탄력적인 본딩 네트워크를 스토리지 네트워크로 사용합니다.

    이 SR은 하트비트 SR로 사용됩니다.

2. 고가용성을 위한 VM 준비

고가용성으로 보호하려는 풀의 모든 VM에 대해 다음 단계를 완료합니다.

  1. VM이 민첩한지 확인하십시오:

    1. 가상 디스크가 공유 스토리지에 있는지 확인하십시오.

      디스크가 공유 스토리지에 없는 경우 다음 명령을 사용하여 이동하십시오:

      xe vm-copy uuid=<vm_uuid> new-name-label=<name_for_copy> sr-uuid=<uuid_of_sr>

      sr-uuid을(를) 풀 공유 스토리지의 UUID로 설정하십시오.

    2. VM이 로컬 DVD 드라이브에 연결되어 있지 않은지 확인하십시오.

      1. 다음을 입력하여 VM에 비어 있는 CD/DVD 드라이브가 없는지 확인하십시오:

        xe vbd-list type=CD empty=false vm-uuid=<vm_uuid>
        <!--NeedCopy-->
        

        연결된 드라이브가 있는 경우 해당 정보가 반환됩니다. 목록의 첫 번째 항목인 uuid(을)를 기록해 두십시오.

      2. VM의 CD/DVD 드라이브를 비우려면 다음을 입력하십시오:

        xe vbd-eject uuid=<uuid>
        <!--NeedCopy-->
        
    3. 가상 네트워크 인터페이스가 풀 전체 네트워크에 있는지 확인하십시오.

    4. VM이 라이브 마이그레이션 요구 사항을 충족하는지 확인하십시오. 자세한 내용은 마이그레이션 요구 사항을(를) 참조하십시오.

  2. 풀이 과도하게 커밋된 경우 어떤 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에서 이러한 설정을 구성할 수 있습니다. 자세한 내용은 시작 옵션을 참조하십시오.

3. XenServer® 풀에서 고가용성 활성화

XenCenter 또는 명령줄 인터페이스(CLI)를 사용하여 풀에서 고가용성을 활성화할 수 있습니다. XenCenter를 사용하여 고가용성을 활성화하는 방법에 대한 자세한 내용은 고가용성 활성화를 참조하십시오.

xe CLI를 사용하여 고가용성을 활성화하려면:

  1. 풀에서 고가용성을 활성화하고 선택적으로 시간 초과를 지정하려면 다음 명령을 실행하십시오:

    xe pool-ha-enable heartbeat-sr-uuids=<sr uuid> ha-config:timeout=<timeout_in_seconds>
    <!--NeedCopy-->
    

    이 명령으로 구성된 시간 초과는 이 고가용성 활성화에만 적용됩니다. 시간 초과를 지정하지 않으면 기본값은 60초입니다. 풀의 기본 시간 초과를 변경하려면 고가용성 시간 초과 구성을 참조하십시오.

  2. 다음 명령을 실행하여 풀의 모든 보호된 VM을 실행하기에 리소스가 부족해지기 전에 실패할 수 있는 최대 호스트 수를 계산하십시오:

    xe pool-ha-compute-max-host-failures-to-tolerate
    <!--NeedCopy-->
    

    반환된 숫자는 보호된 VM에 대한 활성 보장 손실 없이 현재 풀에서 발생할 수 있는 호스트 실패 수입니다. 이 값은 풀의 조건이 변경됨에 따라 변경될 수 있습니다.

  3. 이전 단계에서 제공된 값보다 작거나 같은 허용할 호스트 실패 수를 지정하십시오.

    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을 종료하려면 먼저 고가용성 보호를 비활성화하십시오.