クラスタ内に多数のホストがある ESXi 5.1 を使用しています。アクティブな NIC とその IP アドレスのリストを生成したいと思います。このようなリストを生成する最も簡単なツールは何ですか?
*仮想ハードウェアではなく、物理ネットワーク ハードウェアのみを探しています。
答え1
VMware vSphere PowerCLI を使用します。
vSphere 管理を自動化するための Microsoft PowerShell に基づくコマンドレットのスナップインが含まれています。
ここからダウンロードできますhttps://my.vmware.com/web/vmware/details?downloadGroup=PCLI550&productId=353
以下は、必要な情報を取得するために私が書いたサンプルの PowerShell スクリプトです。
主なポイントは次のとおりです。
Get-VMHost
特定のクラスターをクエリするためのパラメータ付き-Location
(クラスターが複数あり、クエリを 1 つだけに制限したい場合、これが私のケースです)Get-VMHostNetworkAdapter
パラメータを使用し-Physical
て物理 NIC のみを取得します。
$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 がありませんが、物理 NIC がある場合は表示されます。
もう一つの便利なツールはRVツールスクリプトを書く必要はありません。ツールをインストールして起動し、ログインすると、フィルターやエクスポート機能を備えたすべての情報が表示されます。
答え2
PowerCLIを起動し、
Vcenter サーバーに接続します。
Connect-VIServer <servername>
そして実行する
Get-VMHostNetworkAdapter
すべての NIC とその IP アドレスのリストが表示されます。
CSVにエクスポートするには
Get-VMHostAdapter | Export-Csv C:\list.csv