Если вы счастливый обладатель коммутаторов Cisco, то функция Get-VMHostCDP выдаст вам всю необходимую информацию о настройках сети с помощью протокола CDP (Cisco Discovery Protocol).
Get-VMHostCDP
Информацию, предоставляемую CDP протоколом для одного сетевого адаптера ESXi хоста, можно получить в GUI.
Функция Get-VMHostCDP из моего PowerCLI Vi-Module модуля может предоставлять CDP информацию для всех сетевых адаптеров любого количества ESXi хостов, плюс некоторую важную информацию о самом хосте. По умолчанию функция возвращает только самые необходимые, на мой взгляд, свойства.
PS C:\> Get-VMHost | Get-VMHostCDP
Это можно изменить с помощью параметра -CdpOnly. В таком случае будут возвращены только порты, на которых активен CDP. Если при использовании этого параметра функция ничего не возвращает, значит CDP протокол на коммутаторе или на порту деактивирован. Читайте дальше, чтобы узнать, как активировать CDP протокол.
PS C:\> Get-VMHost | Get-VMHostCDP –CdpOnly
Чтобы вернуть все или только интересующие вас свойства, используйте Select-Object командлет.
Обратите внимание, что когда вы передаёте методу GetVlan() список VLAN, разделённых запятой, то необходимо добавить ещё одни скобки GetVlan((20,30,40)), чтобы список воспринимался как один аргумент.
Метод GetAllVlan()
Этот метод даёт VLAN-на-порт вид. Он разворачивает свойство Vlan оригинального объекта. Метод GetAllVlan() будет особенно полезен для нахождения отличий в конфигурациях портов в пределах одного HA/DRS кластера.
Несмотря на то, что по умолчанию CDP включен на устройствах Cisco, может случиться так, что по какой-либо причине он был выключен на вашем коммутаторе. Для восполнения этого пробела я решил добавить в статью короткую инструкцию о том, как активировать CDP.
Итак, подключитесь к вашему коммутатору, войдите в Enable режим, чтобы посмотреть глобальный CDP статус. Почему глобальный? Дело в том, что CDP должен быть активирован на двух уровнях: на уровне всего коммутатора и в дополнение разрешён на порту/портах.
SW>ena
SW#sh cdp
Войдите в Global Configuration режим и активируйте CDP.
SW#conf t
SW(config)#cdp run
Проверьте состояние CDP на интересующем вас порту или сразу на всех портах.
SW(config)#do sh cdp int e0/1 SW(config)#do sh cdp int
Войдите в Interface Configuration режим, выбрав один порт, либо группу портов, куда подключены ваши ESXi хосты или вообще все порты коммутатора, и разрешите на них CDP.
SW(config)#int f0/1
SW(config)#int range g0/1-10, e1/1-4
SW(config)#int range g0/1-24
SW(config-if-range)#cdp ena
Для сохранения изменений не забудьте скопировать текущую конфигурацию в стартовую.
SW(config-if-range)#do copy run start
На этом всё. Теперь нет ни одной причины получить пустой вывод при использовании -CdpOnly параметра.
Эпилог
CDP - это очень действенная и мощная добавка, призванная помочь VMware администраторам разобраться в проблемах настроек сети. Особенно это будет полезно в крупных организациях где сетевые инженеры и системные администраторы работают в разных подразделениях.
Не забудьте просмотреть примеры и справку по функции.