virtualization/VMware

[VMware] vSphere 클러스터 서비스에 대해서

yueisu 2021. 1. 11. 10:38

vSphere 7.0 Update 1에서는 vSphere HA와 DRS에 관련된 변경점이 있었습니다. 7.0까지 vCenter Server가 담당했던 vSphere HA와 DRS를 제공하는 기능이 새롭게 추가되었습니다. 이것이 vSphere Cluster Services(vCLS)입니다.

 

아시다시피 복수의 ESXi 호스트를 묶어 클러스터 기능을 제공합니다. 클러스터의 기능 중에서도 고가용성(HA)과 리소스의 부하분산(DRS)은 vSphere에 의한 가상화의 장점을 최대한 이끌어내는 핵심 기능이라고 할 수 있죠. 이 중요한 기능이 vCenter Server의 정지와 더불어 동작하지 않게 되죠. (정확히 말하자면 vCenter Server가 정지해도 vSphere HA의 대상 가상 머신의 페일오버는 동작하지만 어드미션 컨트롤은 동작하지 않습니다)곤란하죠. 이렇게 vCenter Server의 정지에 의한 기능 정지를 막고 vSphere 클러스터의 가용성을 향상하기 위해 vCLS가 새롭게 추가된 거죠.

vCLS 기능은  에이전트 VM을 작성하여 vCenter Server 대신에  vSphere HA나 DRS의 기능을 제공합니다. vCenter Server 7.0 Update 1을 새롭게 도입을 하거나 7.0 Update 1로 업그레이드하면 유효화되어, 클러스터를 작성한 시점에 에이전트 VM이 자동적으로 디플로이 됩니다. 에이전트 VM은 vSphere HA나 DRS의 유효/무효와 관계없이 클러스터를 구성하는 ESXi 호스트 수에 의해 1 VM에서 최대 3 VM까지 디플로이 됩니다.

 

이전에 소개한 vSAN 네이티브 파일 서비스의 FSVM처럼 vSphere ESXi Agent Manager나 전용 vCLS 제어 플레인에 의해 관리됩니다. FSVM과 다른 점이라면 vSphere HA나 vMotion의 대상으로 이동이 가능한 점과 ”호스트와 클러스터” 인벤토리에는 표시되지 않는 점입니다.(”가상 머신과 템플릿”의 ”vCLS” 폴더에서는 확인을 할 수 있습니다)에이전트 VM은 시스템 VM으로 취급되기 때문에 백업이나 스냅숏 작성도 필요 없습니다.

 

위의 그림은 클러스터가 2개 있기 때문에 전부 6 VM이 표시되어있습니다.

에이전트 VM이 1 VM이라도 가동 중이라면 vSphere HA나 DRS는 동작하기 때문에 싱글 구성의 vCenter Server보다는 확실히 가용성이 향상되는 거죠. 반대로 모든 에이전트 VM이 정지하면 vCenter Server가 문제없이 가동 중이라도 vSphere HA나 DRS는 동작하지 않습니다.

에이전트 VM은 vCenter Server에 의해 관리되는 시스템 VM이기 때문에 일반적인 가상 머신과는 달리 전원 조작, 암호화, 리소스나 인벤토리 정보의 조작 등은 지원을 하지 않습니다. 평상시의 운용 시에는 그냥 내버려두면 됩니다만 유지보수 시에는 주의가 필요합니다.

 

우선 유지보수 등 클러스터 전체를 정지할 경우입니다. 클러스터 전체를 정지할 경우는 「Retreat 모드」 를모드」를 무효화하여 vCLS를 무효화할 필요가 있습니다. 현시점에서 이 방법이 vCLS를 무효화할 유일한 방법이라고 할 수 있습니다. 「Retreat 모드」를 무효화하므로써 vCLS가 무효화되어 에이전트 VM이 삭제됩니다. 만약 「Retreat 모드」 를 무효화하지 않고 클러스터를 정지하거나 에이전트 VM를 삭제하면 vSphere HA/DRS가 정상적으로 동작하지 않거나 새롭게 ESXi 호스트를 클러스터에 추가할 수 없는 등 심각한 문제가 발생할 수 있습니다.

「Retreat 모드」를 실행하기 위해서는 우선, 클러스터 ID를 확인합니다.

vCenter Server의 「상세 설정」에서 아래의 엔트리를 추가하여 파라미터로써 ”false”를 설정, 저장합니다.

config.vcls.clusters.domain-c<클러스터 ID>.enabled

 

설정 내용은 바로 반영되어 에이전트 VM이 정지, 삭제됩니다. 모든 에이전트 VM이 삭제된 후에 클러스터 전체를 정지할 수 있습니다.



유지보수가 끝난 뒤 클러스터 전체의 ESXi 호스트가 부트 되었다면...

 

vCenter Server의 「상세 설정」에서 이번에는 파라미터를 ”true”로 변경하여 저장합니다.

config.vcls.clusters.domain-c<ID番号>.enabled

 

vCLS가 유효화되면 EAM는 새롭게 에이전트 VM을 디플로이 합니다.

또 한 가지 주의점이 있습니다. 이미 vCLS가 유효화되어있는 클러스터의 ESXi 호스트를 다른 클러스터로 이동할 경우입니다. ESXi 호스트를 클러스터에서 연결 끊기, 인벤토리 삭제를 실행했을 경우, 새롭게 추가하는 클러스터에서 에이전트 VM의 충돌이 발생할 수 있습니다. 이미 vCLS가 유효화되어있는 클러스터의 ESXi 호스트를 다른 클러스터도 이동할 경우는 유지보수 모드로 변환 후 이동을 하거나 일단 스탠드얼론 호스트로 데이터 센터에 추가 후 클러스터에 참가할 필요가 있습니다.

여기까지 간단히 vCLS에 대해서 소개를 했습니다. 보다 상세한 정보를 확인하고 싶은 분들은 아래의 문서를 확인하세요. ;)