ESXi6 LLDP使用方法 のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ESXi6 LLDP使用方法 へ行く。
- 1 (2016-10-07 (金) 01:33:02)
- 2 (2016-10-07 (金) 01:58:23)
- 3 (2016-10-10 (月) 13:42:52)
目次
概要 †
ESXi 6.0のLLDPサポート状況は以下となっている。
vSwitch | CDPのみサポート |
dvSwitch | LLDP/CDPをサポート |
vmnic | LLDPをサポート |
vmnicのLLDP有効化 †
概要 †
GUI画面にはLLDPに関する項目は無く、有効化にはSSHにてリモートログインを行った上でvsishコマンドで手動設定を行う。
設定手順 †
設定はvSwitch単位で行い、vmnicとの接続性があるポートに対してのみ行う。
ポート番号を確認 †
- コマンド書式
vsish -e ls /net/portsets/[vSwitch Num]/ports
- サンプル
vsish -e ls /net/portsets/vSwitch0/ports
- 出力結果
33554433/ 33554434/ 33554435/ 33554436/ 33554437/ 33554438/
vmnicとの接続ポート確認 †
- コマンド書式
vsish -e get /net/portsets/[vSwitch Num]/ports/[Port Num]/status
- サンプル
vsish -e get /net/portsets/vSwitch0/ports/33554434/status
- 出力結果
port { port index:2 portCfg: dvPortId: clientName:vmnic2 clientType:port types: 4 -> Physical NIC clientSubType:port types: 0 -> NONE world leader:0 flags:port flags: 0x1010c043 -> IN_USE ENABLED UPLINK DISPATCH_STATS_IN DISPATCH_STATS_OUT DISPATCH_STATS CONNECTED LLDP_ENABLED TUNNEL_ENDPOINT Impl customized blocked flags:0x00000000 Passthru status:: 0x1 -> WRONG_VNIC fixed Hw Id:00:1f:29:57:70:b0: ethFRP:frame routing { requested:filter { flags:0x00000000 unicastAddr:00:00:00:00:00:00: numMulticastAddresses:0 multicastAddresses: LADRF:[0]: 0x0 [1]: 0x0 } accepted:filter { flags:0x00000000 unicastAddr:00:00:00:00:00:00: numMulticastAddresses:0 multicastAddresses: LADRF:[0]: 0x0 [1]: 0x0 } } filter supported features:features: 0 -> NONE filter properties:properties: 0 -> NONE rx mode:properties: 0 -> INLINE tune mode:Tuning mode: 0 -> default }
clientName:欄にvmnic名が表示されているポートでのみLLDPを有効化することができる。
LLDPの設定確認 †
- コマンド
vsish -e get /net/portsets/[vSwitch Num]/ports/[Port Num]/lldp/enable
- サンプル
vsish -e get /net/portsets/vSwitch0/ports/33554434/lldp/enable
- 出力結果
0 LLDPが無効 1 LLDPが有効
LLDPの有効化 †
- コマンド
vsish -e set /net/portsets/[vSwitch Num]/ports/[Port Num]/lldp/enable 1
- サンプル
vsish -e set /net/portsets/vSwitch0/ports/33554434/lldp/enable 1
設定スクリプト †
下記サイトにて公開されているスクリプトを使用することでvSwitch単位でLLDPの有効/無効を設定できる。
使用方法 †
- コマンド書式(有効化)
esxi_lldp_control.sh [vSwitch Num] 1
- コマンド書式(無効化)
esxi_lldp_control.sh [vSwitch Num] 0
- サンプル(有効化)
# esxi_lldp_control.sh vSwitch0 1 Port: 33554433 port index:1 clientName:Management clientType:port types: 0 -> NONE portCfg: Trying to change LLDP state to 1.. ERROR: changing LLDP state failed ------------------------------ Port: 33554434 port index:2 clientName:vmnic2 clientType:port types: 4 -> Physical NIC portCfg: Trying to change LLDP state to 1.. LLDP state successfully changed ------------------------------
ソース †
- esxi_lldp_control.sh
#!/bin/sh # Enable/Disable LLDP on vSwitch ports on VMWare ESXi # Tested with ESXi 6.0.0 3620759 # Doesn't need vCenter, only SSH access to the ESXi machine # (c) Pekka "raspi" Jarvinen 2016 http://raspi.fi/ SWITCH=$1 OPERATION=$2 if [ "$SWITCH" = "" ] || [ "$OPERATION" = "" ]; then echo "Enable/disable LLDP on vSwitch" echo "" echo "USAGE:" echo "$0 <vSwitch> <operation>" echo "Examples: " echo "Enable LLDP: $0 vSwitch0 1" echo "Disable LLDP: $0 vSwitch0 0" exit 1 fi case "$OPERATION" in 0) ;; 1) ;; *) echo "Invalid operation: $OPERATION"; exit 1 ;; esac for PORT in `vsish -e ls /net/portsets/$SWITCH/ports | sed 's/\/$//'` do echo "Port: $PORT" DATA=`vsish -e get /net/portsets/$SWITCH/ports/$PORT/status` echo "$DATA" | grep -i "port index:" echo "$DATA" | grep -i "clientName:" echo "$DATA" | grep -i "clientType:" echo "$DATA" | grep -i "portCfg:" echo " Trying to change LLDP state to $OPERATION.." vsish -e set /net/portsets/$SWITCH/ports/$PORT/lldp/enable $OPERATION &> /dev/null LLDPSTATE=`vsish -e get /net/portsets/$SWITCH/ports/$PORT/lldp/enable` if [ "$LLDPSTATE" = "$OPERATION" ]; then echo " LLDP state successfully changed" else echo " ERROR: changing LLDP state failed" fi echo "------------------------------" echo "" done