我有 ESXi 5.1,集群中有许多主机。我想生成活动网卡及其 IP 地址的列表。生成此类列表最简单的工具是什么?
*我不是在寻找虚拟硬件,只是在寻找物理网络硬件。
答案1
我会使用 VMware vSphere PowerCLI。
它包含基于 Microsoft PowerShell 的 cmdlet 管理单元,用于自动化 vSphere 管理。
可以从这里下载https://my.vmware.com/web/vmware/details?downloadGroup=PCLI550&productId=353
下面是我编写的用于检索您想要的信息的示例 powershell 脚本。
要点是:
Get-VMHost
使用-Location
参数来查询特定的集群(如果你有多个集群,并且你想将查询限制为一个,这就是我的情况)Get-VMHostNetworkAdapter
使用-Physical
参数仅获取物理网卡。
$myVCenter = "vcenter.dom" #fqdn or ip of the VCenter Server
$myClusterName = "PROD" #Name of the ESXi cluster
$user = "username"
$pass = "password"
Connect-VIServer "$myVCenter" -User $user -Password "$pass"
$myvmhosts = Get-VMHost -Location $myClusterName | select Name
foreach($myvmhost in $myvmhosts)
{
Get-VMHostNetworkAdapter -Physical -VMHost $myvmhost.Name | select VMhost, Name, Mac, IP | format-table -autosize | Out-String
}
将产生以下输出:
VMHost Name Mac IP
------ ---- --- --
esxsrv1 vmnic0 d4:ae:52:9e:7f:ad
esxsrv1 vmnic1 d4:ae:52:9e:7f:af
esxsrv1 vmnic2 d4:ae:52:9e:7f:b1
esxsrv1 vmnic3 d4:ae:52:9e:7f:b3
esxsrv1 vmnic4 00:10:18:e4:80:24
esxsrv1 vmnic5 00:10:18:e4:80:25
esxsrv1 vmnic6 00:10:18:dc:12:e0
esxsrv1 vmnic7 00:10:18:dc:12:e2
VMHost Name Mac IP
------ ---- --- --
esxsrv2 vmnic0 d4:ae:52:98:29:6e
esxsrv2 vmnic1 d4:ae:52:98:29:70
esxsrv2 vmnic2 d4:ae:52:98:29:72
esxsrv2 vmnic3 d4:ae:52:98:29:74
esxsrv2 vmnic4 00:10:18:e4:86:6e
esxsrv2 vmnic5 00:10:18:e4:86:6f
esxsrv2 vmnic6 00:10:18:dc:20:20
esxsrv2 vmnic7 00:10:18:dc:20:22
对于集群中的每个 ESXi 服务器也是如此...
在我的 VMWare 架构中,物理 NIC 上没有 IP,但如果您有,它们就会显示出来。
另一个有用的工具是RV工具。无需编写脚本。安装该工具,启动并登录,您将获得所有信息,并具有过滤器和导出功能。
答案2
加载 PowerCLI,
连接到您的 Vcenter 服务器。
Connect-VIServer <servername>
然后运行
Get-VMHostNetworkAdapter
并列出了所有网卡及其 IP 地址的列表。
导出至 CSV
Get-VMHostAdapter | Export-Csv C:\list.csv