달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Windows Server 2012가 출시되면서 Hyper-V 네트워크 구성에 변화가 생겼습니다.
이전보다 유연하게 구성이 가능해졌다고 할 수 있겠는데요. 여러 블로그에도 구성에 대한 많은 글이 올라와 있지만 정리하는 차원에서 다시 한번 정리해 봅니다.

먼저, 기존 Windows Server 2008 R2까지의 Hyper-V 네트워크 구성을 보면 보통 이러한 구성이었습니다.
대략 4~6개 정도의 NIC를 장착한 후 Teaming 구성한 NIC를 가상 스위치로 구성해 가상 머신들이 사용하고, 나머지 인터페이스들을 관리 용도로 사용했었죠. 관리 용도라하면 도메인, 클러스터, 라이브 마이그레이션, 백업 등의 용도가 되겠습니다.
여기에 만약 스토리지가 iSCSI 방식이라면 네트워크 인터페이스가 더 늘어나게 되겠습니다. 그렇기 때문에, 보통 관리 용도의 네트워크를 합쳐서 사용했었던 것이 일반적이었습니다. 즉, 클러스터+라이브마이그레이션 등의 구성이 되겠습니다. 기존 버전(2008 R2)까지는 이렇게 밖에 구성할 수가 없었습니다. 이렇다보니 네트워크 구성도 복잡하고 케이블 수가 많이짐에 따라 관리도 어려운 것이 사실입니다.




그렇다면 Windows Server 2012 기반의 Hyper-V 구성에는 어떠한 다른 점이 있을까요?
Windows Server 2012에서는 10Gb NIC, Infiniband 지원 등 네트워크 관련된 여러 많은 기능들이 추가되었습니다. 또한, 가상 스위치와 관련해서 기존에는 가상 스위치에 관리용 인터페이스(가상 NIC)를 하나만 생성할 수 있었지만, 이제는 관리 용도의 인터페이스를 여러 개 생성할 수 있게 되었으며, QoS 기능을 통해 각각의 인터페이스 별로 네트워크 트래픽에 대한 관리(제한)가 가능해졌습니다.


그럼, 아래 구성들을 살펴 보겠습니다. 스토리지 연결은 제외하고 나머지 인터페이스들만 생각하시면 되겠습니다. Hyper-V 네트워크 구성은 네트워크에 대한 변경 작업이기 때문에 구성도에는 표시되어 있지 않지만, iLO와 같은 IP 기반 KVM 구성을 거의 필수적으로 해 두는 것이 좋습니다.


1. 2개의 10Gb 인터페이스와 1개 또는 2개의 1Gb 인터페이스, 네트워크 케이블 수 3 또는 4
Teaming 구성한 10Gb 인터페이스를 가상 스위치로 사용하고 관리 용도로는 별도의 1Gb 인터페이스를 사용하는 구성입니다. 관리용 인터페이스는 선택적으로 Teaming 구성을 할 수 있겠습니다. 관리용 인터페이스를 Teaming 구성하는 경우에는 기존 구성과 네트워크 케이블 수에는 차이가 없겠네요.



2. 4개의 10Gb 인터페이스, 네트워크 케이블 수 4
아주 부유한 구성지요. 10Gb 인터페이스를 2개씩 Teaming 구성하고 각각의 Teaming된 인터페이스를 가상 스위치와 관리용 인터페이스로 사용합니다.



3. 2개의 10Gb 인터페이스, 네트워크 케이블 수 2
만약, 10Gb 인프라로의 마이그레이션을 고려하시고 계시거나 이미 10Gb 인프라를 갖추고 계신 경우 가장 비용 효율적인 구성이 될 것으로 생각됩니다. 2개의 10Gb 인터페이스를 Teaming 구성해 가상 스위치로 사용하고, 여기서 관리용 인터페이스를 가상 NIC로 생성해 구성합니다.



기존의 구성 절차와의 차이점은 가상 스위치에 관리용 인터페이스를 추가하고, QoS 정책을 설정하는 내용이 추가된다는 것이 되겠습니다. 전체적인 구성 절차는 다음과 같습니다.


1. Hyper-V 역할 설치
서버 관리자 GUI를 통해 설치하셔도 되고, PowerShell을 사용한다면 다음 명령을 사용합니다. GUI로 설치하는 경우 가상 스위치는 생성하지 않습니다.
Add-WindowsFeature Hyper-V -IncludeManagementTools -Restart

2. 다중 경로 IO 설치
마찬가지로, 서버 관리자 GUI를 통해 설치하셔도 되고, PowerShell을 사용한다면 다음 명령을 사용합니다. 설치된 후에는 iSCSI 인터페이스에 IP 주소를 할당하고 mpiocpl 명령을 실행해 다중 경로 설정을 합니다.
Add-WindowsFeature Multipath-IO

3. NIC Teaming 구성
Teaming 모드는 네트워크 인프라 상황에 따라 달라질 수 있으나 일반적으로 팀 구성 모드는 SwitchIndependent, 부하 분산 모드(알고리즘)는 HyperVPort로 설정합니다. 한글판의 표시 이름은 '독립 전환', 'Hyper-V 포트' 입니다.


4. Virtual Switch 생성
PowerShell을 이용해 가상 스위치를 생성하고, 대역폭 설정 방법은 Weight로 설정합니다. 관리용 인터페이스는 아직 생성하지 않으며, 기본 최소 가중치(Weight)를 10 또는 20으로 설정합니다.
New-VMSwitch -Name <스위치 이름> -NetAdapterName <Teaming 인터페이스 이름> -AllowManagementOS $False -MinimumBandwidthMode Weight
Set-VMSwitch <스위치 이름> -DefaultFlowMinimumBandwidthWeight 10

5. 관리용 네트워크 어댑터(vNIC) 추가
Add-VMNetworkAdapter -ManagementOS -Name "Mgmt" -SwitchName <스위치 이름>
Add-VMNetworkAdapter -ManagementOS -Name "Cluster" -SwitchName <스위치 이름>
Add-VMNetworkAdapter -ManagementOS -Name "LM" -SwitchName <스위치 이름>


6. QoS 정책 설정(MinimumBandwidthWeight는 상대적인 값입니다. 값은 0에서 100 사이의 값을 입력할 수 있습니다.)
Set-VMNetworkAdapter -ManagementOS -Name "Mgmt" -MinimumBandwidthWeight 10
Set-VMNetworkAdapter -ManagementOS -Name "Cluster" -MinimumBandwidthWeight 20
Set-VMNetworkAdapter -ManagementOS -Name "LM" -MinimumBandwidthWeight 20

선택적으로 최대 사용 가능 대역폭을 제한할 수 있으며, bps로 입력합니다. 아래 예를 참고하세요.
Set-VMNetworkAdapter -ManagementOS -Name "LM" -MaximumBandwidth 1000000000
1000000000(1,000,000,000)을 입력하면 1Gb을 의미하며, 다들 아시다시피 125MB/sec을 의미압니다.

7. (Optional)관리 NIC VLAN 설정
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Mgmt" -Access -VlanId 100
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Cluster" -Access -VlanId 200
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "LM" -Access -VlanId 300

8. IP 주소 할당


:
Posted by 커널64