4.2 vSphere High Availability
vSphere HA는 가상 머신과 해당 가상 머신이 상주하는 호스트를 클러스터로 풀링하여 가상 머신에 고가용성을 제공합니다. 클러스터의 호스트가 모니터링되고 장애가 발생하면 장애가 발생한 호스트의 가상 머신이 대체 호스트에서 다시 시작됩니다.
vSphere 클러스터에서 vSphere HA를 사용하도록 설정하면 클러스터의 호스트 중 하나가 기본 호스트로 선출됩니다. 다른 모든 호스트는 각각 보조 호스트로 간주되며 원래 주 호스트를 사용할 수 없게 되는 경우 주 호스트가 될 수 있습니다. 기본 호스트는 여러 기능 중에서도 클러스터의 모든 가상 머신과 호스트의 상태를 모니터링하는 역할을 담당합니다. 이 지식을 vCenter에 전달하고 이 지식을 사용하여 클러스터에서 호스트에 장애가 발생할 경우 적절한 대응을 결정합니다.
vSphere HA는 매우 성숙된 기술로, vSphere 고가용성의 핵심 기능으로 자리 잡았습니다. 활성화된 경우 vSphere HA는 가상 머신의 호스트를 사용할 수 없게 되는 경우 보호된 가상 머신에 대한 연속성을 제공하고, 이전에 장애가 발생한 호스트에 있던 영향을 받은 가상 머신을 생존 호스트에서 다시 시작하는 역할을 합니다.
vSphere HA는 VM 및 해당 운영 체제의 상태에 대한 내성적인 통찰력을 제공하지만 애플리케이션 수준의 HA 솔루션이 아니라는 점에 유의해야 합니다. vSphere HA는 VM 내의 애플리케이션이 아니라 VM을 보호합니다. VM의 하트비트를 감지할 수 있고 작동 중인 것으로 판단되는 한, VM 내부의 애플리케이션이 어떤 이유로든 충돌하거나 액세스할 수 없게 되더라도 vSphere HA는 개입하지 않습니다.
vSphere HA는 WSFC, AG 및 FCI를 보완하며 이를 방해하지 않습니다. 예를 들어 호스트에 장애가 발생하여 실패한 VM이 다른 호스트에서 즉시 다시 시작되도록 함으로써 vSphere HA는 애플리케이션 중단 시간을 줄이고 애플리케이션의 기본 고가용성을 개선하는 데 도움이 됩니다.
설명을 위해 2노드 WSFC-AG 구성의 가상 머신 중 하나가 호스트 A에 있는 시나리오를 예로 들어 보겠습니다. 정상 상태에서는 모든 것이 정상적으로 작동하며 사용 가능합니다. SQL Server는 행복합니다. VM-A가 현재 중요한 데이터베이스의 기본 노드라고 가정해 보겠습니다. 그런데 한밤중에 호스트 A에 장애가 발생하여 VM-A도 함께 다운됩니다. 물론 WSFC가 응답하여 클러스터된 리소스를 두 번째 노드로 이동하고 AG가 제 역할을 수행하여 허용 가능한 시간 내에 데이터베이스에 액세스할 수 있도록 합니다.
하지만 VM-A가 다운되었기 때문에 SQL Server 인프라는 이제 가용성이 저하되고 고가용성이 아닌 단일 노드 상태로 운영되고 있습니다. vSphere HA가 없으면 VM-A는 관리자가 개입할 때까지 다운된 상태로 유지됩니다. vSphere HA를 사용하면 호스트 A가 여전히 다운된 상태에서 다른 호스트에서 VM-A의 전원이 즉시 켜집니다. 1~2분 이내에 VM-A가 WSFC 클러스터에 다시 합류하고 HA 안정성이 복원됩니다. 물론 이 시점에서는 더 이상 기본 노드가 아니지만(WSFC에서 자동 페일백을 구성하지 않은 경우), 고가용성 관점에서 보면 이는 중요하지 않습니다.
일부 고객은 SQL Server 워크로드에 “충분한” 고가용성을 제공하기 위해 vSphere HA를 사용할 수 있는지에 대해 문의해 왔습니다. 이러한 문의는 주로 비용 고려 사항(추가 노드에 필요한 추가 라이센스 비용, WSFC 및 SQL 클러스터링, 추가 스토리지(AG용) 등)에 의해 발생합니다. VMware의 입장은 이러한 선택은 주로 고객 및 비즈니스 소유자의 SLA 및 리소스 가용성 기대치에 따라 결정되어야 한다는 것입니다. 서비스 및 액세스의 짧은 중단이 허용되는 경우 vSphere HA는 SQL Server에 대한 충분한 보호 및 가용성을 제공하지만, SQL Server를 담당하는 담당자가 중단 후 데이터베이스가 정상인지 확인해야 한다는 주의 사항이 있습니다.
또한 기본 Windows/SQL Server HA 옵션 없이 vSphere HA를 사용하다가 SQL Server VM을 사용할 수 없게 되면 다른 호스트에서 VM을 온라인 상태로 전환하는 동안 애플리케이션과 최종 사용자는 SQL Server를 사용할 수 없다는 사실을 알게 된다는 점을 강조하는 것이 중요합니다. SQL Server의 기본 제공 가용성 기능과의 한 가지 차이점은 FCI 또는 AG에 액세스하는 애플리케이션을 적절하게 코딩하면 복원력 및/또는 클러스터를 인식하도록 만들 수 있다는 점이며, vSphere HA에 해당하는 API는 없습니다. 이 시점에서 연결이 허용되기 전에 DBA가 인스턴스와 해당 데이터베이스에 문제가 없는지 확인하는 것이 좋습니다. vSphere HA는 물리적 호스트가 사용되는 것처럼 중지 및 시작되므로 SQL Server는 표준 복구 메커니즘을 거치게 됩니다.