我的 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 架構中,我在實體網路卡上沒有 IP,但如果有的話它們將會顯示。
另一個有用的工具是房車工具。無需編寫腳本。安裝該工具,啟動它並登錄,您將獲得所有信息,包括過濾器和導出的可能性。
答案2
載入 PowerCLI,
連接到您的 Vcenter 伺服器。
Connect-VIServer <servername>
然後運行
Get-VMHostNetworkAdapter
並列出所有網路卡及其 IP 位址的清單。
匯出到 CSV
Get-VMHostAdapter | Export-Csv C:\list.csv