XenCenter

고가용성

XenServer 고가용성을 사용하면 기본 하드웨어 장애 또는 서버 손실이 발생할 경우 VM을 자동으로 다시 시작할 수 있습니다. 고가용성은 중요한 VM이 항상 리소스 풀에서 실행되도록 하는 것입니다. 고가용성을 사용하도록 설정하면 서버 중 하나에 오류가 발생하면 해당 VM이 동일한 풀의 다른 서버에서 다시 시작됩니다. 이 기능을 사용하면 시스템 또는 구성 요소 장애 발생 시 서비스 중단을 최소화하면서 필수 서비스를 복원할 수 있습니다.

풀 코디네이터 서버에 오류가 발생하면 XenServer 고가용성이 풀 코디네이터로 인계할 새 서버를 선택합니다. 풀의 모든 서버는 풀 코디네이터 서버가 될 수 있습니다. XenServer는 모든 노드에서 풀 데이터베이스를 지속적으로 복제합니다. 또한 추가적인 안전을 위해 데이터베이스를 하트비트 SR의 공유 스토리지에 백업합니다.

XenServer 고가용성에는 두 가지 주요 측면이 있습니다.

  • 서버 장애를 확실하게 감지
  • 신속한 복구를 가능하게 하는 고장 계획 계산

가용성을 위한 하트비트

서버 장애를 안정적으로 감지하는 것은 서버가 잠시 사라지는 것과 치명적인 장애를 원격으로 구별해야 하기 때문에 어렵습니다. 고가용성이 풀 코디네이터 서버가 고장난 것을 잘못 판단하고 새 풀 코디네이터를 선택하는 경우 원래 서버가 반환될 때 예기치 않은 결과가 발생할 수 있습니다. 마찬가지로 네트워크 문제로 인해 풀이 두 개의 동일한 반으로 분할되는 경우 절반만 공유 스토리지에 액세스하고 동시에 둘 다 액세스하지 않도록 해야 합니다. XenServer는 저장소 하트비트와 네트워크 하트비트라는 두 가지 메커니즘을 통해 이러한 모든 문제를 해결합니다.

풀에서 고가용성을 사용하도록 설정하는 경우 iSCSI, 파이버 채널 또는 NFS 스토리지 저장소를 하트비트 SR로 지정합니다. XenServer는 이 SR에 두 개의 작은 가상 디스크를 자동으로 만듭니다. 첫 번째 디스크는 리소스 풀의 모든 서버에서 공유 쿼럼 디스크로 사용됩니다. 각 서버는 공유 디스크에 고유한 블록을 할당하고 정기적으로 블록에 기록하여 활성 상태임을 표시합니다. 고가용성이 시작되면 모든 서버는 네트워크 및 스토리지 채널을 통해 데이터를 교환합니다. 이 작업은 두 채널을 통해 볼 수 있는 서버를 나타내고 작동 중인 I/O 경로와 작동하지 않는 서버를 보여 줍니다. 이 정보는 고정된 지점에 도달하고 풀의 모든 서버가 볼 수 있는 내용에 동의할 때까지 교환됩니다. 이 계약이 발생하면 고가용성이 활성화되고 풀이 보호됩니다. 이 고가용성 준비 프로세스는 더 큰 풀에 정착하는 데 몇 분 정도 걸릴 수 있지만 고가용성을 처음 사용하도록 설정하는 경우에만 필요합니다.

고가용성이 활성화된 후 각 서버는 정기적으로 스토리지 업데이트를 하트비트 가상 디스크에 기록하고 관리 인터페이스를 통해 네트워크 패킷을 씁니다. 네트워크 어댑터가 복원력을 위해 결합되어 있고 스토리지 인터페이스가 지원되는 곳에서 동적 다중 경로를 사용하고 있는지 확인합니다. 이 구성은 단일 어댑터 또는 배선 오류로 인해 가용성 문제가 발생하지 않도록 합니다.

자세한 내용은 다음을 참조하십시오.

서버 펜싱

고가용성에 대한 최악의 시나리오는 서버가 오프라인 상태인 것으로 간주되지만 여전히 공유 스토리지에 쓰고 있는 시나리오입니다. 이 시나리오로 인해 영구 데이터가 손상될 수 있습니다. XenServer는 서버 펜싱을 사용하여 이러한 상황을 방지합니다. 서버의 전원이 자동으로 꺼지고 풀의 공유 리소스에 액세스할 수 없도록 격리됩니다. 펜싱은 실패한 서버가 공유 디스크에 쓰는 것을 방지합니다. 이 동작은 보호된 가상 머신이 풀의 다른 서버로 이동될 때 자동화된 장애 조치(failover) 중에 저장된 데이터의 손상을 방지합니다.

서버는 다음 중 어느 하나에 해당되지 않는 한 하트비트 오류가 발생할 경우 자체 차단(즉, 전원을 껐다가 다시 시작)합니다.

  • 스토리지 하트비트는 모든 서버에 존재하지만 네트워크가 분할되었습니다(이제 두 개의 서버 그룹이 있음). 이 경우 가장 큰 네트워크 파티션의 멤버인 모든 서버는 계속 실행되고 더 작은 네트워크 파티션의 서버는 자체 차단됩니다. 여기서는 네트워크 중단으로 인해 VM이 격리되었으며 네트워킹이 작동하는 서버에서 VM을 다시 시작해야 한다고 가정합니다. 네트워크 파티션의 크기가 같으면 안정적인 선택 기능에 따라 그 중 하나만 자체 펜싱됩니다.
  • 스토리지 하트비트는 사라지지만 네트워크 하트비트는 남아 있는 경우 서버는 네트워크를 통해 다른 모든 서버를 볼 수 있는지 확인합니다. 이 조건이 true인 경우 서버는 스토리지 하트비트 서버가 사라졌다는 가정 하에 계속 실행됩니다. 이 작업은 VM 안전을 손상시키지 않지만 네트워크 결함으로 인해 두 하트비트가 모두 사라졌음을 의미하므로 펜싱이 발생합니다.

실패에 대한 용량 계획

하트비트 시스템은 서버 장애에 대한 신뢰할 수 있는 알림을 제공하므로 고가용성의 두 번째 단계인 장애에 대한 용량 계획으로 이동합니다.

리소스 풀은 여러 서버(예: 32개)로 구성되며, 각 서버에는 잠재적으로 다른 양의 메모리와 다른 수의 실행 중인 VM이 있습니다. XenServer 고가용성은 서버 장애에 대해 수행할 작업을 계산하는 오류 계획을 동적으로 계산합니다. 이 실패 계획은 단일 서버 오류로 인해 다른 서버에서 VM을 다시 시작할 수 없게 되지 않도록 합니다(예: 다른 서버의 메모리 부족으로 인해). XenServer 고가용성은 단일 서버의 장애를 처리하는 것 외에도 풀에 있는 여러 서버의 손실을 처리할 수 있습니다. 예를 들어, 고가용성은 네트워크 파티션의 오류로 인해 전체 서버 그룹이 제거되는 경우를 처리할 수 있습니다.

수행된 작업을 계산하는 것 외에도 오류 계획은 풀에서 허용할 수 있는 서버 오류 수를 고려합니다. 풀에 대한 고가용성 계획을 계산할 때 고려해야 할 두 가지 중요한 사항이 있습니다.

  • 최대 고장 용량. 이 값은 리소스가 부족하여 풀에서 보호된 모든 VM을 실행하기 전에 실패할 수 있는 최대 서버 수입니다. 최대 장애 용량을 계산하기 위해 XenServer는 다음을 고려합니다.

    • 풀에 있는 VM의 다시 시작 우선 순위The restart priorities of the VMs in the pool
    • 풀에 있는 서버 수
    • 서버 CPU 및 메모리 용량
  • 서버 오류 제한입니다. 이 값을 고가용성 구성의 일부로 정의할 수 있으며, 이 구성은 계획 내의 풀에서 허용할 서버 오류 수를 지정합니다. 예를 들어 풀의 서버 장애 제한이 3인 경우 XenServer는 3개의 서버에 장애가 발생해도 보호된 모든 VM이 풀에서 계속 실행될 수 있도록 하는 페일오버 계획을 계산합니다. 서버 장애 제한을 최대 장애 용량보다 낮은 값으로 구성하여 풀이 과도하게 커밋될 가능성을 줄일 수 있습니다. 이 구성은 RBAC를 사용하도록 설정된 환경에서 유용할 수 있습니다. 예를 들어 이 설정을 사용하면 풀 운영자보다 권한이 낮은 RBAC 사용자가 고가용성 계획을 위반하지 않고 더 많은 VM을 온라인 상태로 가져올 수 있습니다. 자세한 내용은 고가용성 및 RBAC(역할 기반 액세스 제어)High availability and Role-Based Access Control (RBAC) 절.

최대 고장 용량 값이 서버 고장 한계에 지정된 값 아래로 떨어지면 시스템 경고가 생성됩니다.

오버 커밋 보호

풀에서 고가용성을 처음 사용하도록 설정하면 그때 사용 가능한 리소스를 기반으로 실패 계획이 계산됩니다. XenServer 고가용성은 풀에 영향을 줄 수 있는 이벤트(예: 새 VM 시작)에 대한 응답으로 새 오류 계획을 동적으로 계산합니다. 풀 전체의 리소스 부족으로 인해 새 계획을 계산할 수 없는 경우 풀이 오버 커밋됩니다. 리소스 부족의 예로는 사용 가능한 메모리가 충분하지 않거나 가상 디스크 및 네트워크의 변경으로 인해 어떤 VM이 어떤 서버에서 다시 시작될 수 있는지에 영향을 줄 수 있습니다.

고가용성 다시 시작 우선 순위는 풀이 과도하게 커밋될 때 시작할 VM을 결정하는 데 사용됩니다. 보호하려는 VM에 대한 다시 시작 우선 순위를 구성할 때 HA 구성 대화 상자 또는 HA 구성 마법사를 사용하면 풀의 최대 실패 용량이 동적으로 다시 계산됩니다. 이 정보를 통해 비즈니스 요구 사항에 따라 VM 다시 시작 우선 순위의 다양한 조합을 시도할 수 있습니다. 최대 장애 용량이 풀의 중요한 VM에 필요한 보호 수준에 적합한지 확인할 수 있습니다.

VM을 시작하거나 다시 시작하려고 할 때 해당 작업으로 인해 풀이 오버 커밋되면 XenCenter에 경고가 표시됩니다. 구성된 경우 이메일 주소로 메시지를 보낼 수도 있습니다. 작업을 취소하거나 계속 진행할 수 있는 옵션이 제공되어 풀이 과도하게 커밋됩니다.

HA 사용 풀 작업

고가용성을 위한 가장 좋은 방법은 고가용성을 사용하도록 설정되어 있는 동안 풀의 구성을 변경하지 않는 것입니다. 대신, 근처에 인간 관리자가 없을 때 문제 발생 시 서버를 다시 시작하는 “오전 2시 보호”를 위한 것입니다. 소프트웨어 업데이트 적용과 같이 풀에서 구성을 적극적으로 변경하는 경우 이러한 변경 중에 고가용성을 사용하지 않도록 설정합니다.

  • XenCenter에서 보호된 VM을 종료하려고 하면 XenCenter는 오류 계획에서 VM을 제거한 다음 종료하는 옵션을 제공합니다. 이 옵션을 사용하면 실수로 VM을 종료해도 다운타임이 발생하지 않지만 실제로 원하는 경우 보호된 VM을 중지할 수 있습니다.
  • 고가용성을 사용하도록 설정한 경우 서버를 재부팅해야 하는 경우 XenCenter는 자동으로 VM 다시 시작 우선 순위를 사용하여 이 재부팅이 풀 실패 계획을 무효화하는지 여부를 확인합니다. 계획에 영향을 주지 않으면 서버가 정상적으로 종료됩니다. 계획을 위반했지만 최대 장애 용량이 1보다 큰 경우 XenCenter는 풀의 서버 장애 제한을 1로 낮추는 옵션을 제공합니다. 이 작업은 풀의 전반적인 복원력을 줄이지만 항상 하나 이상의 서버 오류가 허용되도록 합니다. 서버가 다시 작동하면 계획이 자동으로 다시 계산되고 필요한 경우 원래 서버 오류 제한이 복원됩니다.
  • 를 사용하여 소프트웨어 업데이트를 설치하는 경우 업데이트 설치 마법사에서 다음을 선택하여 풀에서 고가용성을 비활성화해야 합니다. HA 끄기. 업데이트를 설치한 후 고가용성을 다시 사용하도록 설정할 수 있습니다. 고가용성을 비활성화하지 않으면 업데이트가 진행되지 않습니다. 업데이트가 설치되는 동안 풀을 수동으로 모니터링하여 서버 오류로 인해 풀 작동이 중단되지 않도록 합니다.
  • 고가용성을 사용하도록 설정하면 VM을 다시 시작하는 계획을 손상시킬 수 있는 일부 작업(예: 풀에서 서버 제거)이 비활성화될 수 있습니다. 이러한 작업을 수행하려면 고가용성을 일시적으로 사용하지 않도록 설정하거나 계속하기 전에 보호된 VM을 종료할 수 있습니다.

고가용성 및 RBAC(역할 기반 액세스 제어)High availability and role-based access control (RBAC)

RBAC(역할 기반 액세스 제어)가 구현된 XenServer 환경에서는 모든 사용자가 풀의 고가용성 구성 설정을 변경할 수 있는 것은 아닙니다. 예를 들어 VM 운영자에게는 HA 지원 풀의 페일오버 용량을 조정할 수 있는 충분한 권한이 없습니다. VM을 시작할 때 허용되는 최대 서버 장애 수가 현재 값보다 낮은 값으로 줄어들면 VM 운영자는 VM을 시작할 수 없습니다. 풀 관리자 또는 풀 운영자 수준 사용자만 허용되는 서버 오류 수를 구성할 수 있습니다.

이 경우 풀 관리자 또는 풀 운영자는 서버 오류 제한을 허용되는 최대 실패 수보다 낮은 숫자로 설정할 수 있습니다. 이 설정은 여유 용량을 생성하므로 권한이 적은 사용자가 새 VM을 시작할 수 있습니다. 실패 계획을 위협하지 않고 풀의 장애 조치(failover) 용량을 줄입니다.

관련 설명서

Xen서버 8

Citrix Hypervisor 8.2 누적 업데이트 1

고가용성