4개의 NIC, 2개의 1gbps 및 2개의 10gbps가 있는 가상화 호스트(VSphere 또는 SCVVM일 수 있음)가 있습니다. 이 시스템은 고유한 이름(예: vSwitch0 및 vSwitch1)을 가진 두 개의 vSwitch에서 VM을 호스팅합니다. 하나는 1gbps NIC에 있고 다른 하나는 10gbps NIC에 있습니다.
이 VM은 가져오기 vm 정의 및 빈 가상 디스크를 생성하고, OS를 설치하고, 다른 소프트웨어를 설치하는 등의 긴 powershell 프로세스를 통해 자동으로 생성됩니다.
내 문제는 게스트 OS(Server 2012 R2)에서 네트워크 어댑터에 단순히 '이더넷 어댑터' 및 '이더넷 어댑터 1'이라는 레이블이 붙어 있다는 것입니다. 'vSwitch0' 또는 'vSwitch1'에 어느 것이 있는지 알 수 없습니다. 연결된 가상 스위치에 따라 매우 구체적인 IP를 가지려면 각 어댑터가 필요합니다.
어떤 아이디어가 있나요? 게스트 OS를 구성하는 powershell 스크립트에서 어떻게든 이를 구성해야 합니다.
미리 감사드립니다!
답변1
제가 생각할 수 있는 가장 쉬운 방법은 VM 구성에서 각 네트워크 어댑터의 MAC 주소를 추출하여 VM 내의 NIC와 비교하여 확인하는 것입니다.
꼭 그럴 필요는 없을 텐데세트MAC 주소 - 사용자 지정 주소를 지정하지 않으면 vSphere가 자동으로 MAC를 할당합니다. 할당은 이미 사용된 주소를 다시 할당하지 않도록 할 정도로 지능적이므로 충돌을 걱정할 필요가 없습니다. 그런 다음 VM 구성을 쿼리할 수 있습니다.~ 후에생성되었으며 이를 OS에 나타나는 NIC와 일치시킵니다. 예를 들어:
먼저 vSphere를 통해 VM 구성을 쿼리합니다.
- NIC AvSwitch0에 연결되어 있고 MAC 주소가 있습니다.
00:56:3f:00:21:12
- NIC BvSwitch1에 연결되어 있고 MAC 주소가 있습니다.
00:56:3f:12:32:4a
그런 다음 생성 후 게스트 OS 내에 있는 NIC를 쿼리합니다.
- 이더넷 어댑터MAC 주소가
00:56:3f:12:32:4a
있으므로NIC B그리고 에 붙어있다vSwitch1 - 이더넷 어댑터 1MAC 주소가
00:56:3f:00:21:12
있으므로NIC A그리고 에 붙어있다vSwitch0
프로그래밍 방식으로 이 작업을 수행할 수도 있지만 저는 vSphere PowerShell CLI에 능숙하지 않아 확실히 알 수 없습니다.
답변2
이중 홈 가상 머신에 대해 이 문제를 처리한 방법은 한 네트워크에 DHCP 서버가 있어서 DHCP 할당 IP 주소를 얻는 vNIC가 DHCP 서버가 있는 네트워크에 연결되어 있다는 것을 아는 것입니다. 자신에게 APIPA 주소를 할당하는 NIC는 다른 네트워크에 연결됩니다. 조잡하지만 작동합니다. 이 목적만을 위해 DHCP 서버를 설정하고 싶지 않을 수도 있지만 제 경우에는 DHCP 서버를 사용하므로 각 vNIC가 연결된 네트워크를 식별하는 데 사용할 수 있다는 점에서 운이 좋습니다.