안녕하세요. Microsoft Korea Platform 팀입니다.

Windows Server 2012 R2에서 여러 가지 기능이 추가되었는데요. 그 중에서도 그 동안 Hyper-V에 추가되지 않았던 새로운 기능이 추가되어 이를 알려드립니다.(아마 알고 계신 분들도 계실텐데, 이 기능은 반드시 있었어야 하는 기능입니다.)

Hyper-V + Failover Cluster 구성이 늘어나면서 VM에 대한 Monitoring이 중요시 되어 가고 있습니다. 기존의 2008 에서는 Cluster에서 Monitoring 하는 대상이 VM의 상태와 Cluster에 등록된 Physical Network + Storage 였습니다.

이거면 다 된 거 아니냐고 생각하실 수도 있지만, 곰곰히 생각해보면 VM이 사용하는 Virtual machine의 Network이나 Virtual Switch가 문제가 생긴다면??

기존에는 이러한 이슈가 발생하더라도 VM의 Continuous Availability를 보장할 수 없었습니다.

대다수는 Physical Network이 아예 다 내려가서 Cluster의 Failover 조건을 만족하게 되고 해당 노드에서 Running 중인 모든 VM은 Live Migration을 통해서 다른 노드로 넘어가게 되겠죠.

즉, Virtual machine network과 Virtual Switch connectivity에 대한 Monitoring이 포함되어 있지 않았던 것입니다.

이 내용이 2012 R2가 발표되면서 추가되었는데요. 간단하게 알아보도록 하겠습니다.

일단 UI 상으로 VM의 속성에서 보실 수 있는 각 Virtual Network Adapter에 “Protected Network”이라는 옵션이 추가되었습니다.

clip_image001

위 그림에서 보시다시피, Network Adapater –> Adavanced Features로 가보시면, “Protected network” 이라는 신규 옵션을 확인하실 수 있습니다.

이 옵션이 각 Netowrk Adapater마다 있다는 것에 주목하실 필요가 있습니다.

즉, VM Network Adapater 중에서도 Cluster 서비스에서 Monitoring 되기를 원하는 Network Adapater를 고를 수 있다는 의미입니다.

아래 그림을 살펴보도록 하겠습니다.

 

clip_image001[6]

 

예를 들어서, VM이 Service 용도의 Network으로 하나의 Network Adapter를 사용하고 Backup 용도로 추가 Network Adapter를 사용하고 있을 때 일반적인 사용자라면 Backup 용도의 Network Adapter가 끊겼을 때 VM이 반대편 노드로 넘어가게 되길 원하지 않을 겁니다.

따라서, Service 용도의 Network Adapter의 속성에 있는 “Proected Network”에만 옵션을 Check하고 Backup 용도에는 Check 하지 않는 것입니다.

그렇게 되면, Service Network Adapter와 해당 Network Adapter가 연결되어 있는 Virtual Switch 간의 Connectivity를 모니터링 하기 때문에 Backup Network Adapter의 단절로 인한 이슈는 생기지 않게 됩니다.

 

위 내용을 Powershell로 확인하는 방법은 다음과 같습니다. 예를 들어, VM의 이름이 VM1이라고 할 때 다음과 같이 속성을 확인할 수 있습니다.

PS C:\Windows\system32> Get-ClusterGroup VM1 |Get-VM | Get-VMNetworkAdapter | FL VMName,SwitchName,MacAddress,ClusterMonitored

VMName           : VM1

SwitchName       : Corp

MacAddress       : 00155D867239

ClusterMonitored : True

 

VMName           : VM1

SwitchName       : Storage

MacAddress       : 00155D86723A

ClusterMonitored : True

 

VMName           : VM1

SwitchName       : Private

MacAddress       : 00155D86723B

ClusterMonitored : True

 

위 Network Adapter 중에서 Protected Network을 Uncheck 하고자 하면 다음 Powershell을 이용합니다.

주요 명령어는 Set-VmNetworkAdapter -NotMonitoredInCluster $True 입니다.

 

PS C:\Windows\system32> Get-ClusterGroup VM1 |Get-VM | Get-VMNetworkAdapter | Where-Object {$_.SwitchName -eq "Private"} | Set-VmNetworkAdapter -NotMonitoredInCluster $True

PS C:\Windows\system32> Get-ClusterGroup VM1 |Get-VM | Get-VMNetworkAdapter | FL VMName,SwitchName,MacAddress,ClusterMonitored

 

VMName           : VM1

SwitchName       : Corp

MacAddress       : 00155D867239

ClusterMonitored : True

 

VMName           : VM1

SwitchName       : Storage

MacAddress       : 00155D86723A

ClusterMonitored : True

 

VMName           : VM1

SwitchName       : Private

MacAddress       : 00155D86723B

ClusterMonitored : False