我有一个虚拟化主机(可以是VSphere或SCVVM),它有四个NIC,两个1 gbps和两个10 gbps。这台机器在两个vSwitches上托管一个VM,名称独特(如vSwitch0和vSwitch1),一个位于1 gbps网卡上,另一个位于10 gbps网卡上。
这个VM是通过一个长的powershell进程自动生成的,这个进程创建了导入vm定义&空虚拟磁盘、安装操作系统、安装其他软件等等。
我的问题是,在客户操作系统(Server 2012 R2)中,网络适配器被简单地标记为“以太网适配器”和“以太网适配器1”。我不知道哪个在'vSwitch0‘或’vSwitch1 1‘上。我需要每个适配器都有一个非常特定的IP,基于它连接到的虚拟交换机。
有什么想法吗?我需要在配置客户操作系统的powershell脚本中以某种方式配置它。
提前感谢!
发布于 2015-10-01 23:35:11
我能想到的最简单的方法是从VM配置中提取每个网络适配器的MAC地址,并根据VM中的NIC对其进行检查。
您不一定需要设置MAC地址-如果您不指定自定义的MAC地址,vSphere将自动为您分配MAC地址(分配的智能性足以知道不重新分配已经使用的地址,因此您不需要担心冲突)。然后,您可以在VM的配置创建之后查询它,并将其与出现在操作系统中的NIC进行匹配。例如:
首先,通过vSphere查询VM配置:
00:56:3f:00:21:1200:56:3f:12:32:4a。然后,在创建之后,查询来宾操作系统中的NIC:
00:56:3f:12:32:4a,因此是网卡B,并附加在vSwitch1上。00:56:3f:00:21:12,因此是NIC A,并附加到vSwitch0上您可能可以通过编程完成这一任务,但是我对vSphere PowerShell CLI还不够精通,无法肯定地知道。
发布于 2015-10-01 23:48:41
我处理双主虚拟机的方式是,我在一个网络上有一个DHCP服务器,因此我知道获得DHCP分配ip地址的vNIC连接到DHCP服务器所在的网络。为自己分配APIPA地址的NIC连接到另一个网络。很粗糙但很管用。您可能不想为此目的设置DHCP服务器,但在我的示例中,我使用DHCP服务器,所以我很幸运,因为我可以使用它来识别每个vNIC连接到的网络。
https://serverfault.com/questions/726153
复制相似问题