Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Команда Connect-VIServer в PowerCLI: глибоке занурення або «куди ж я підключений?»

VMware PowerCLI - це дуже потужний інструмент управління, а все, що потрібно зробити для початку роботи з ним - це підключитися до сервера або серверів віртуальної інфраструктури, якими можуть бути сервер управління vCenter Server, Linux vCenter Server Appliance (vCSA) або ESXi-хост.

Відкривши нове вікно / консоль PowerCLI, ви побачите в заголовку вікна встановлену версію PowerCLI.

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Перша ваша команда буде Connect-VIServer. Залежно від вашої конфігурації PowerCLI, ви можете з однієї сесії підключитися одночасно до декількох серверів віртуальної інфраструктури.

За це відповідає настройка DefaultVIServerMode. яку можна дізнатися командою Get-PowerCLIConfiguration. за замовчуванням вона дорівнює Multiple. тобто дозволяє множинні підключення з однієї сесії.

Якщо з якоїсь причини у вас вона дорівнює Single. то це можна виправити за допомогою команди Set-PowerCLIConfiguration.

Незалежно від цього налаштування, ви завжди можете відкрити кілька вікон / консолей PowerCLI і з кожної підключитися до єдиного сервера, але, по-перше, це незручно, тримати багато відкритих консолей, а по-друге, вам все одно доведеться якось їх розрізняти (яка і куди підключена).

А що може бути важливіше, ніж інформація про серверах віртуальної інфраструктури, навпроти яких запускаються ваші команди!

Отже, все, що потрібно зробити, це просто запускати мою функцію після кожної зміни статусу підключення, тобто після кожного використання функцій підключення / відключення Connect-VIServer / Disconnect-VIServer. Як я вже говорив, функція дуже проста і навіть не має жодного параметра.

У заголовку вікна ви побачите ім'я сервера, ім'я продукту (vCenter або ESXi хост) і його версію. Все це буде укладено в квадратні дужки.

На наступному прикладі ми підключимося до ще одного сервера і після запуску Set-PowerCLITitle. ми побачимо обидва сервера в заголовку вікна.

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

На цьому прикладі ми бачимо, що функція Get-VM повертає нам 1049 ВМ. Але, якщо ми скористаємося параметром -Server. то ми побачимо, що 61 ВМ зареєстровані на сервері «**** 10» і 988 ВМ на «**** 00».

Звідси ми робимо дуже важливий висновок, що за замовчуванням всі команди PowerCLI запускаються навпаки всіх підключених серверів!

Тепер ми відключили від одного з vCenter і підключимося безпосередньо до ESXi хосту.

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Після запуску Set-PowerCLITitle ми ясно бачимо, що сервер «**** 00» це vCenter, а «**** 17» це ESXi хост. Зверніть увагу, що cmdlet Connect-VIServer має ще 3 імені (Aliases) - Get-ESX. Get-VC і Get-VIServer.

Не плутайте команди Get-ESX і Get-VMHost. перша служить для створення з'єднання, а друга для отримання інформації про об'єкт ESXi хоста.

Намагайтеся уникати прямого підключення до ESXi хосту без особливої ​​потреби, особливо одночасно з підключенням до сервера vCenter, де цей хост зареєстрований. В іншому випадку ви можете створити таку ситуацію:

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Привчіть себе не закривати вікно / консоль PowerCLI, заздалегідь не відключилися від всіх серверів. Перевірте себе за допомогою Set-PowerCLITitle.

Справа в тому, що при підключенні до сервера, на ньому виділяються певні ресурси під кожне підключення. Ці ресурси звільняються під потреби сервера тільки при «правильному» відключенні за допомогою Disconnect-VIServer або при рестарт сервісів сервера.

Просто закриваючи консоль PowerCLI, ви створюєте потенційну витік ресурсів сервера. За моїми оцінками, кожне з'єднання з сервером vCenter «з'їдає» від 100 до 150 МБ пам'яті, це не так уже й мало.

З приводу параметра -Server. який я неодноразово згадував - на жаль, не всі команди PowerCLI його підтримують. За допомогою наступного простого коду можна визначити, чи підтримує цікавить вас команда даний параметр:

Наступний код видасть вам все команди PowerCLI, що підтримують параметр -Server.

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Ми бачимо, що cmdlet Get-VM підтримує параметр -Server. а ось Add-DeployRule - немає.

З версії PowerCLI 5.5 до версії 6.0 Release 3 ситуація не сильно змінилася - як і раніше, більше 100 команд, а це 25-30%, не дозволяють вибрати цільової сервер.

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Віртуалізація - команда connect-viserver в powercli глибоке занурення або «куди ж я підключений»

Озброївшись цими знаннями і моєї функцією Set-PowerCLITitle. ви точно будете знати, де будуть виконуватися ваші PowerCLI-команди.

Так, зверніть увагу на дуже цікавий параметр -Menu команди Connect-VIServer. Він буде ефективний при повторних підключеннях.