VMware ESXiはSSHログインも可能で、独自のコマンドが多く実装されている。 今回は、そのうちの一つであるesxcfg-vmknicコマンドについて記述していく。
まずはヘルプの内容を記載する。
~ # esxcfg-vmknic -h
esxcfg-vmknic <options>
-a|--add Add a VMkernel NIC to the system,
requires IP parameters and
connection point(portgroup/dvs-name & dvport-id).
-d|--del Delete VMkernel NIC on the system
requires connection point(portgroup/dvs-name & dvport-id).
-e|--enable Enable the given NIC if disabled.
-D|--disable Disable the given NIC if enabled.
-p|--portgroup Setting portgroup as connection point.
-s|--dvs-name Setting DVSwitch name of the connection point.
This requires --dvport-id option to
be given in the same command.
-v|--dvport-id Setting DVPort ID of connection point.
This requires --dvs-name option to
be given in the same command.
-l|--list List VMkernel NICs.
-i|--ip <IP Spec> Where <IP Spec> can be one of the following...
<X.X.X.X> - to use static IPv4 address specified
DHCP - to enable IPv4 DHCP for address.
<X:X:X::/X> - to use static IPv6 address
DHCPV6 - to enable IPv6 DHCP for address.
AUTOCONF - to enable IPv6 Router advertised address.
-U|--unset-ip <IP Spec> Where <IP Spec> can be one of the following...
V4 - to unset IPv4 address.
<X:X:X::/X> - to remove the specified IPv6 address
DHCPV6 - to disable IPv6 DHCP address.
AUTOCONF - to disable IPv6 Router advertised flag.
-n|--netmask <X.X.X.X> The IP netmask for this VMkernel NIC.
Setting the IP netmask requires that the --ip
option be given in the same command.
-P|--peerdns Set peer dns. If set the system
will use the HostName, HostIPAddress
Domain returned by DHCP. Valid only for DHCP
-M|--mac-address <address> MAC address for the interface being created.
-m|--mtu MTU MTU for the interface being created.
Valid MTU values are 1280-9000
-6|--enable-ipv6 <true|false> Enable or disable IPv6 for next boot.
-r|--restore Restore VMkernel TCP/IP interfaces from
Configuration file (FOR INTERNAL USE ONLY).
-N|--netstack Netstack Instance
-h|--help Show this message.
Examples:
To add a vmknic to a portgroup
esxcfg-vmknic -a -i DHCP -p pgName
or
esxcfg-vmknic -a -i x.x.x.x -n 255.255.255.0 pgName
To delete a vmknic from a portgroup
esxcfg-vmknic -d -p pgName
or
esxcfg-vmknic -d pgName
これだけ見てもよくわからないと思うので、以下に説明を補足をしていく。
このコマンド「esxcfg-vmknic」は、ESXiの管理NIC(VMkernel Port)に関する情報の取得や管理NICの削除、追加を行えるコマンドだ。 そもそも、ESXiの管理NIC、VMkernel Portって何よ?と言われそうだし、言葉だけだとイメージが付きにくそうなので、以下に補足の図を作成してみた。
このコマンドで管理出来るのは、上の図でいうと「仮想NIC」。 vSphere Clientの構成タブのネットワークでは、「VMkernel Port」にあたる箇所について表示、削除、追加出来るコマンドということになる。
このコマンドについて、基本的な使い方を以下に記述していこうと思う。
管理NICの一覧を表示
オプション「-l」をつける事で、現在保有しているESXiの管理NICの一覧を表示できる。
esxcfg-vmknic -l
上記コマンドの実行例がこちら。実際に手元にインストールしたESXi 5.5上でコマンドを実行してみた。
~ # esxcfg-vmknic -l
Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk0 Management Network IPv4 192.168.0.190 255.255.255.0 192.168.0.255 00:15:17:16:ad:92 1500 65535 true STATIC
vmk0 Management Network IPv6 fe80::215:17ff:fe16:ad92 64 00:15:17:16:ad:92 1500 65535 true STATIC, PREFERRED
vmk0 Management Network IPv6 240f:7:61dc:1:215:17ff:fe16:ad92 64 00:15:17:16:ad:92 1500 65535 true AUTOCONF, PREFERRED
vmk1 VMkernel IPv4 169.254.230.31 255.255.0.0 169.254.255.255 00:50:56:69:47:90 1500 65535 true DHCP
vmk1 VMkernel IPv6 fe80::250:56ff:fe69:4790 64 00:50:56:69:47:90 1500 65535 true STATIC, PREFERRED
左からインターフェイス名、ポートグループ名、IPアドレスの種類(IPv4 or IPv6)、IPアドレス、サブネットマスク、ブロードキャストアドレス、MACアドレス、MTUの値、TSO MSS、有効・無効の状態、固定か自動払い出しIPかといったタイプとなっている。
管理NICを追加する
管理NICの追加については、以下のようにコマンドを実行する。
esxcfg-vmknic -a -i IPアドレス -n サブネットマスク -p ポートグループ名
なお、追加の時のみ「-M」オプションを使用する事でMACアドレスの指定が出来る。
esxcfg-vmknic -a -i IPアドレス -n サブネットマスク -M MACアドレス -p ポートグループ名
実際に使用したコマンドを以下に記載する。
esxcfg-vmknic -a -i 192.168.0.30 -n 255.255.255.0 -M 00:15:17:16:ad:93 -p VMkernel
管理NICを削除する
管理NICの削除については、以下のようにコマンドを実行する。
esxcfg-vmknic -d -p ポートグループ名
実際に使用したコマンドを以下に記載する。
esxcfg-vmknic -d -p VMkernel
既存の管理NICのIPアドレスを変更する
オプション「-i」でIPアドレスを変更出来る。その際、ポートグループの指定を行う必要があるため、「-p」オプションでポートグループを設定する。
DHCPで設定させる場合
esxcfg-vmknic -i DHCP -p ポートグループ名
固定IPアドレスで設定させる場合
esxcfg-vmknic -i IPアドレス -n サブネットマスク -p ポートグループ名
実際に設定したコマンドを以下に記載する。
esxcfg-vmknic -i 192.168.0.30 -n 255.255.255.0 -p VMkernel
以上が簡単な使用方法およびその実例となる。