virtualization/nutanix

[Nuatnix] AHV의 어피니티 정책에 대해서

yueisu 2018. 5. 6. 18:24


오늘은 Nutanix AHV의 어피니티 정책에 대해서 간단히 소개를 할까 합니다.


Nutanix AOS에서 지원을 하고 있는 어피니티 정책은 다음의 2 종류가 있습니다.

  • VM-Host Affinity Policy
  • VM-VM Anti−Affinity Policy

 

●VM-Host Affinity Policy

가상머신을 특정의 호스트상에서만 가동하도록 제한을 하는 정책입니다. 이 정책을 설정하면 가상머신은 특정 호스트상에서만 가동을 하게 됩니다. 

이 정책은 Prism에서 가상머신 단위로 설정을 할 수 있습니다. 설정하고자하는 가상머신의 [Update] [Set Affinity]로부터 가동할 호스트를 선택하기만 하면 됩니다.

 

이 정책을 이용할 경우, 한 가지 주위가 필요한 점이 있습니다. 이 정책이 설정된 가상머신은 VMHA(VM Hight Availability)나 ADS(Acroplois Dynamic Scheduling)의 영향을 받지않습니다. 따라서 가상머신이 가동중인 호스트에 장애가 발생하여도 페일오버되지 않으며 ADS에 의한 라이브 마이그레이션도 동작을 하지않습니다. 때문에 정책 설정시에는 호스트 장애 대책으로 2 이상의 호스트를 지정하는 것을 추천하고 있습니다.

이 정책이 설정된 가상머신의 클론을 작성하였을 경우, 정책은 해재됩니다만, DR 등에 의한 스냅숏의 복원의 경우는 정책이 유지됩니다.


참고로 이 정책을 설정후에는 라이브 마이그레이션의 대상 호스트가 정책 설정시 선택한 호스트만 표시가 됩니다.(다른 호스트로의 라이브 마이그레이션 실행 자체를 원천봉쇄하고 있습니다. 흐흐)

 

●VM-VM Anti−Affinity Policy

특정 가상머신을 같은 호스트에서 가동하지 않도록 하는 정책입니다. 이 정책은 Prism에서는 설정을 할 수 없고 aCLI에서 설정을 할 필요가 있습니다.

 

nutanix@NTNX-1XXXXX2-A-CVM:192.168.1.51:~$ acli

① Acropolis CLI를 시작합니다.

 

<acropolis> vm_group.create AffinityGroup01
AffinityGroup01: complete

② 우선 VM 그룹을 만듭니다.

 

<acropolis> vm_group.add_vms AffinityGroup01 vm_list=v-vom01,v-central01
v-central01: complete
v-vom01: complete

③ 작성한 VM 그룹에 가상머신을 추가합니다.

 

<acropolis> vm_group.list_vms AffinityGroup01
VM name VM UUID
v-central01 c63eddf4-bc58-4256-b9e7-5d723a7943a8
v-vom01 d9f7d6df-3d7b-49d8-92ef-48dbb048de27

④ 제대로 VM 그룹에 가상머신이 추가되었는지 확인을 합니다.

 

<acropolis>
<acropolis> vm_group.antiaffinity_set AffinityGroup01
AffinityGroup01: complete

VM 그룹에 대해 안티-어피니티 룰을 유효화합니다.


정책 설정후에는 정책을 위반(수동으로 가상머신을 라이브 마이그레이션)했더라도 잠시후 자동적으로 정책이 적용됩니다. 🙂

 

이 정책은 VM-Host Affinity Policy과는 달리 ADS나 VMHA의 영향을 받습니다.


참고로 이 정책과는 반대의 특정 가상머신을 동일한 호스트상에서 가동토록하는 VM-VM Affinity Policy은 현(AOS 5.7)에서도 지원을 하지않고 있습니다.