Skip navigation

Источник: LLDP support added in vSphere 5

LLDP-2.jpg

Более ранние версии vSphere поддерживали для стандартного и распределенного коммутатора только один CDP (Cisco Discovery Protocol) протокол. И вот, в vSphere 5.0, появилась поддержка LLDP протокола.


LLDP (Link Layer Discovery Protocol) - это очень похожий на Cisco CDP протокол. Основная цель двух протоколов - это помощь сетевому администратору в решении различных проблем. Данные протоколы предоставляют администратору подробную информацию о соседних (непосредственно подключенных) сетевых устройствах. Как правило, это соседние свичи, либо маршрутизаторы.


Например, чтобы увидеть текущую Neighbor Table (таблица о соседях) на каком-нибудь устройстве фирмы Cisco, вам нужно выполнить следующую команду:

show cdp neighbors

А вот для свичей, произведенных фирмой HP, команда будет другой:

show lldp info remote

Neighbor таблица строится на основе информации, которую свичи отправляют на все свои порты, как правило, два раза в минуту.


Протокол CDP, поддерживаемый в vSphere 4.x и принадлежащий компании Cisco, является всего лишь одним из многих протоколов подобного назначения. На рынке присутствует, по крайней мере, пять других поставщиков, у которых есть подобные протоколы. Соответственно, если у вас в сети присутствует разношерстное сетевое оборудование, то у вас могут возникнуть различные проблемы несовместимости протоколов между собой. LLDP призван решить эту проблему. На данный момент, HP в своих устройствах на протяжении уже длительного времени поддерживает протокол LLDP. Большинство устройств фирмы Cisco также поддерживают данный протокол. И, в будущем, количество производителей, которые будут включать поддержку протокола LLDP в свои устройства, будет расти, что значительно облегчит жизнь администраторам.


В vSphere 5 протокол LLDP поддерживается только для распределенных коммутаторов, которые становятся доступными, только если у вас есть лицензия Enterprise Plus. Отмечу также, что LLDP поддерживается только для распределенных коммутаторов пятой (5) версии. Для версий 4 и 4.1 поддержки нет.


Чтобы активировать поддержку протокола LLDP, вам нужно перейти в advanced settings и, в поле Type, выбрать "Link Layer Discovery Protocol":

lldp-enable2.png

Обратите внимание на то, что, по умолчанию, распределенный коммутатор будет только слушать "Listen", но не отправлять информацию о себе другим устройствам. Для того, чтобы dvSwitch начал отправлять информацию о себе другим устройствам, нужно изменить "Listen" на "Both". Это поможет сетевым администраторам быстрее решать возможные проблемы, связанные с сетью.

lldp-listen-2.png

Источник: Major Enhancements in esxcli for vSphere 5


Команда esxcli в VMware vSphere 5 претерпела значительное обновление по сравнению с версией VMware vSphere 4.1, в которой было только 6 основных namespaces и 43 команды.


 

NamespaceDescription
corestorageVMware core storage commands
networkVMware networking commands
nmpVMware Native Multipath Plugin (NMP) This is the VMware default implementation of the Pluggable Storage Architecture
swiscsiVMware iSCSI commands
vaaiVaai Namespace containing vaai code
vmsLimited Operations on Virtual Machines


С последним релизом vSphere 5, esxcli теперь включает в общей сложности 10 namespaces и 251 команду! Некоторые пространства имен (англ. namespaces), из vSphere 4.1, такие как corestorage, теперь располагаются под новым пространством имен storage, который содержит в себе и другие пространства имен, имеющие отношение к storage стеку.


 

NamespaceDescription
esxcliCommands that operate on the esxcli system itself allowing users to get additional information
fcoeVMware FCOE commands
hardwareVMKernel hardware properties and commands for configuring hardware
iscsiVMware iSCSI commands
licenseOperations pertaining to the licensing of vmware and third party modules on the ESX host. These operations currently only include updating third party module licenses
networkOperations that pertain to the maintenance of networking on an ESX host. This includes a wide variety of commands to manipulate virtual networking components (vswitch, portgroup, etc) as well as local host IP, DNS and general hsot networking settings
softwareManage the ESXi software image and packages
storageVMware storage commands
systemVMKernel system properties and commands for configuring properties of the kernel core system
vmA small number of operations that allow a user to Control Virtual Machine operations


Для получения полного списка доступных команд esxcli в VMware vSphere 5 вы можете выполнить следующую команду:

# esxcli esxcli command list

Основной целью esxcli является предоставление централизованного, удобного и легкого доступа к управлению хостами ESXi, как локально, в пределах ESXi Shell, так и удаленно, с помощью vCLI или vMA. С выходом vSphere 5.0 большинство функций команд esxcfg-*/vicfg-* были перенесены в esxcli. В недалеком будущем esxcli приобретет полный набор функций, и команды esxcfg-*/vicfg-* попросту устареют и будут удалены. В том числе, устареют и будут удалены утилиты esxupdate и vihostupdate.


Новая версия esxcli для удаленного управления совместима как с ESXi 5, так и с ESX(i) 4.1 хостами. При подключении к хосту VMware ESXi с использованием esxcli, хост автоматически выдаcт список поддерживаемых namespaces. Новые namespaces, реализованные в ESXi 5, не будут доступны на хосте 4.1, но при этом прежние namespaces (4.1) будут доступны. В последней версии esxcli, vSphere API по прежнему скрыт. Поэтому, для того чтобы получить доступ к esxcli (имеется в виду из скриптов), вам по-прежнему нужно использовать локальный (local) esxcli, либо vCLI, vMA или PowerCLI's esxcli командлеты для удаленного использования.


Синтаксис esxcli очень прост для понимания:

esxcli01.png

Чтобы получить более подробную информацию о пространстве имен, вам просто нужно указать опцию --help после нужного вам пространства имен. На диаграмме ниже наглядно показано, как с помощью опции --help можно получить справочную информацию. В данном случае мы получаем список дополнительных namespaces для пространства имен "network".

esxcli1.png

Для того, чтобы получить более детальную информацию о пространстве имен "firewall" можно также воспользоваться опцией --help.

esxcli2.png

Теперь, когда у нас есть список команд (для фаервола см. скриншот выше), мы можем попробовать выполнить какую-либо из них. Пусть этой командой будет "get".

esxcli3.png

Как вы уже могли догадаться, команда "get" выдает текущий статус межсетевого экрана (firewall). В основном, многие команды интуитивно понятны. Вы увидите, что большинство esxcli namespaces поддерживают команды get, set и list. Другой приятной вещью в esxcli является совместимый результирующий вывод. Это относится как к локальному, так и к удаленному применению. Теперь скрипты писать будет проще.


Вы так же имеете возможность контролировать тип вывода, который генерирует команда esxcli. В качестве типа вы можете выбрать: XML, CSV или ключ-значение (key-value). Чтобы esxcli начала выдавать результат своей работы в нужном нам формате, необходимо в параметре --formatter указать соответствующий тип. Пара xml и ключ-значение работает для всех пространств имен, а csv не для всех, но для большинства.


Итак, для примера давайте выполним предыдущую команду (esxcli network firewall get), только на этот раз изменим тип результирующего вывода на пару ключ-значение.

# esxcli --formatter=keyvalue network firewall get
 
Firewall.DefaultAction.string=DROP
Firewall.Enabled.boolean=false
Firewall.Loaded.boolean=true

В дополнение к типу формата вы можете отображать только определенные, нужные вам столбы, используя для этого --format-param.


Вот пример того, как выглядит список Standard vSwitches без форматирования:

# esxcli network vswitch standard list

vSwitch0
Name: vSwitch0
Class: etherswitch
Num Ports: 128
Used Ports: 6
Configured Ports: 128
MTU: 1500
CDP Status: listen
Beacon Enabled: false
Beacon Interval: 1
Beacon Threshold: 3
Beacon Required By:
Uplinks: vmnic1, vmnic0
Portgroups: ESXSecretAgentNetwork, VM Network, vmk2, vmk1,
Management Network

vSwitch1
Name: vSwitch1
Class: etherswitch
Num Ports: 128
Used Ports: 3
Configured Ports: 128
MTU: 1500
CDP Status: listen
Beacon Enabled: false
Beacon Interval: 1
Beacon Threshold: 3
Beacon Required By:
Uplinks: vmnic2
Portgroups: VMkernel

Вот этот же пример, но на этот раз отображается только: Имя, Количество Портов, MTU, CDP и Порт-группа. Это достигается за счет использования formatter и format-param параметров:

# esxcli --formatter=csv --format-param=fields="Name,Num Ports,MTU,CDP,
Portgroups" network vswitch standard list

Name,NumPorts,MTU,Portgroups,
vSwitch0,128,1500,"ESXSecretAgentNetwork,VM Network,vmk2,vmk1,
Management Network,",
vSwitch1,128,1500,"VMkernel,",

Для получения дополнительной информации вы можете обратиться к официальному документу:

Также вы можете прочитать предыдущий мой пост на эту же тему New Command-Line Interface.