How to Install VMware PowerCLI
VMware PowerCLI used to be a standalone software to install up until version 6.5 R1. You need to uninstall any such version from your system prior to installing the latest version. You can uninstall it like any installed software in “Programs and Features“.
The installation procedure will be slightly different with regards to whether the machine you are installing it on has internet access or not. We will cover both scenarios.
Machine with Internet Access
Installing
The installation procedure has been simplified since the modules have been added to the PowerShell Gallery on version 6.5.1 in April 2017 and is now straightforward.
Open a PowerShell prompt and install the modules using:
Install-Module VMware.PowerCLI -Scope CurrentUser |
The modules will be automatically downloaded and stored in the correct folder. Note that you can use the -Scope parameter to make the PowerCLI modules available to AllUsers.
Updating
Although it will work, it is recommended to avoid using the Update-Module cmdlet to update PowerCLI as it will not remove any files rendered obsolete by the new version. Therefore,
Uninstall the existing version using:
Get-module VMware.* -listAvailable | Uninstall-Module -Force |
Next, install the new version by following the install procedure outlined previously
Machine with no Internet access
Installing
If your system does not have Internet access you need to download PowerCLI as a zip file from the VMware website or with the “Save-Module” cmdlet and copy the content into the modules folder of the offline system. Unlike many of the VMware products, you don’t need to be logged in to download PowerCLI.
- Head over to VMware code and select the latest version of PowerCLI
- Download the zip file
Download PowerCLI online to install it on offline systems
Transfer the file to your offline machine and copy all the folders present in the zip to your PowerShell Modules folder. Again, choose the location accordingly to make it available to everyone or to yourself only:
Current User | %USERPROFILE%\Documents\WindowsPowerShell\Modules |
All Users | C:\Program Files\WindowsPowerShell\Modules |
Updating
To update PowerCLI, delete the existing PowerCLI module folders and follow the procedure outlined above.
Execution policy
Execution policies are a security mechanism that determines if files can be loaded in PowerShell such as config files, modules, scripts… You can find your current execution policy by running:
Get-ExecutionPolicy |
You may need to change the default execution policy to be able run scripts you wrote. Unless a GPO changed the default setting, you won’t need to if you are on a Windows Server OS. However, it is required for Windows client OS (i.e. Windows 10) as the default is set to Restricted, you will need to change it to RemoteSigned with the following command:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned |
Some highly secured environments may require that all the scripts (even those written in-house) are digitally signed by the enterprise PKI. This means the execution policy must be set to AllSigned if not already done via GPO. In which case you will have to digitally sign your scripts prior to running them.
Экспорт результатов с использованием различных форматов
Согласитесь, что метод построения отчетов и вывод результатов, рассмотренный ранее,
не совсем удобен. Особенно если эти результаты необходимо предоставить какой-либо
команде для анализа. Работать с таким нечитабельным набором текста достаточно сложно.
Для придания отчетам красивого вида с возможностью сохранить результаты локально,
используется экспорт данных с выбором соответствующего формата. Это может быть файл
txt, csv, xml или html. Предлагаем сравнить вывод результатов отчета в каждом из озвученных форматов.
Примеры форматов экспорта
Формат TXT
Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | Out-File c:myPowerCLIReport.txt
Формат CSV
Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | Export-Csv c:myPowerCLIReport.csv -NoTypeInformation
Формат XML
(Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | ConvertTo-Xml -NoTypeInformation).Save("c:myPowerCLIReport.xml")
Формат HTML
Get-VM | Select Name, NumCPU, MemoryMB, PowerState, VMHost | ConvertTo-Html | Set-Content "c:myPowerCLIReport.html"
Начальная настройка VMware ESXI 6.5
После успешной установки ESXI 6.5, у вас после перезагрузки появится вот такое черное окно, в котором у вас будет два возможных варианта развития событий:
- В левом нижнем углу, будет подсказка нажать клавишу F2, для настройки VMware ESXI 6.5
- В правом нижнем углу, будет подсказка, как выключить или перезагрузить хост виртуализации
Обратите внимание, что если у вас в локальной сети присутствует сервер DHCP, то вы получите от него IP-адрес и можете сразу попробовать подключиться к веб-консоли, если его не получили, то делаем все в ручную, хотя я всегда советую настраивать статику и отключать все лишнее , прямо из данного интерфейса
заходим в режим «Customize SystemView Logs», у вас появится окно авторизации, где вы указываете логин root и пароль, который задавали при установке ESXI 6.5.
У вас откроется окно «System Customization». На первом пункте «Configure Password», вы можете поменять пароль от root.
Вы указываете один раз старый пароль и два раза новый.
Переходим к пункту меню «Configure Management Network», тут производится настройка сети управления у ESXI 6.5, справа вы можете так же получить информацию, о IPv-4 адресах. Переходим в данный пункт.
Пункт «Network Adapters», покажет вам ваши сетевые интерфейсы, переходим в него
В моем примере их два, один активный, второй нет, если вы его хотите активировать, то выберите его и нажмите клавишу пробел, на против него появится крестик
Обратите внимание, выделенные сети будут отданы под сеть управления. В идеале для нее лучше назначать минимум два адаптера, для отказоустойчивости. Тут же вы найдете и mac-адреса
Тут же вы найдете и mac-адреса.
Следующим этапом настройки ESXI 6.5, будет пункт меню «VLAN (options)», отвечающий за указание в каком сегменте VLAN у вас располагается ваш сетевой интерфейс, если у вас их нет, то тут стоит оставить все по умолчанию. Обычно с помощью VLAN и отделяют сеть управления от остальных.
Задается он просто, числом от 1 до 4095
Далее настройка EXI 6.5, позволяет вам в пункте «IPv4 Configuration», изменить ip-адрес на статический или вообще отключить сетевой интерфейс.
На выбор будет три пункта:
- Disable IPv4 configuration for management network — выключить сетевой интерфейс в сети управления
- Use dynamic IPv4 address and network configuration — по сути использовать DHCP сервер, для автоматического получения адреса, выставлено по умолчанию
- Set static IPv4 address network configuration — настройка статического адреса, все активации происходят, через кнопку Enter.
То же самое вы можете выполнить и по отношению к интерфейсу IPv6.
Далее переходим к настройке DNS серверов, через пункт «DNS Configuration»
Тут будет два пункта:
- Obtain DNS server address and hostname automatically- автоматическое получение DNS серверов из DHCP
- Use the following DNS server address and hostname — использовать заданные DNS сервера, ручная настройка.
В пункте «Custom DNS Suffixes», можно задать доменный суффикс.
В моем примере, это root.pyatilistnk.org.
Выходя из настроек сети ESXI 6.5, необходимо будет сохранить настройки и перезапустить сеть управления.
Отдельно можно перезапустить сеть управления из пункта «Restart Management Network»
Выглядит это вот так, вы соглашаетесь с рестартом.
В итоге сеть управления ESXI 6.5 будет выключена и заново включена.
В момент настройки VMware ESXI 6.5 у вас есть возможность из «System Customization», произвести сетевые тесты, на предмет доступности DNS или шлюза, сделать это можно из пункта «Test Management Network».
Проверяются пинги до нужных адресов и разрешение DNS имен.
Вот так вот выглядят результаты тестирования, тут сразу можно увидеть, есть ли проблемы с DNS или маршрутизацией.
Если вы допустили какие-либо ошибки в момент настройки или работы хоста виртуализации, и не знаете как все восстановить, то можно сбросить сетевые настройки на те, что были по умолчанию и быстро потом все перенастроить, так как появится доступ к сети управления. Делается, это все из меню «Network Restore Options».
Зачем зря тратить своё время?
Во всех серверах есть USB порты, в 90% серверов есть внутренние USB порты, куда будет проблематично добраться даже шаловливым ручкам. Вот в такой порт мы и вставим нашу флешку для ESXi. Сам гипервизор обращается к флешке только в момент загрузки. После этого он загружается в память и уже там может работать годами, не нагружая USB накопитель до следующего своего запуска. В случае такой реализации мы получаем удобство, заключающееся в том, что диски на гипервизоре могут хоть взрываться, это не повлияет на работу самого гипервизора, а следовательно в случае какой-либо аварии его будет проще диагностировать или отправить удаленно того же секретаря, чья работа сведется лишь к тому, чтобы бездумно вставить резервный диск в слот с мигающей лампочкой.
Установка VMware ESXi
Приступим к делу.
Скачиваем дистрибутив ESXi с сайта VMware (требуется регистрация), где сразу же регистрируем бесплатный ключ для использования как Freeware-продукта — лишним в хозяйстве не будет. Без ключей ESXi работает в полнофункциональном режиме как коммерческая версия 60 дней — после, в отсутствии ключа до первой перезагрузки. Пишем образ на CD — на момент написания текста, для загрузки доступна версия 6 гипервизора ESXi.
После того, как вы определились с выбором режима работы хоста (RAID, Sata AHCI) с жестким диском, выставляем нужное в настройках BIOS и загружаем сервер с установочного CD-диска. В моем случае использован стандартный эконом-вариант поставки сервера, потому привод был использован внешний через USB.
Рис. 01
Запускаем установщик
Рис. 02
Рис. 03
Принимаем условия лицензии
Рис. 04
Рис. 05
Выбираем диск (массив) для установки
Рис. 06
Раскладку клавиатуры
Рис. 07
Уставливаем пароль для пользователя root
Рис. 08
Рис. 09
Еще раз подтверждаем переразметку жесткого диска (старые данные на диске будут уничтожены!)
Рис. 10
2017: Версии 6.5.1 и 6.5.2
14 августа 2017 года компания VMware сообщила о выпуске версии фреймворка PowerCLI 6.5.2.
Изменения и дополнения
-
Параметр InventoryLocation.
-
Использование ISO из Content Library.
-
Модернизация экспериментальных возможностей
- Set-HardDisk -ZeroOut. Этот параметр можно использовать для заполнения диска нулями при прямом обращении к хосту ESXi.
- New-HardDisk -AdvancedSetting. Этот параметр используется для ассоциации правил Storage Distributed Resource Scheduler (SDRS).
- New-VM -AdvancedSetting. Аналогично предыдущему пункту — нужен для правил SDRS.
- Install-VMHostPatch. Этот командлет экспериментальный.
Изменения в PowerCLI 6.5.1
- Автозагрузка модулей PowerShell.
- Теперь после логина и выполнения запроса к командлету автоматически подгружаются все необходимые модули.
- Обновленные командлеты для групп кластеров DRS и правил VM/Host.
-
Добавленные командлеты
- Get-DRSClusterGroup
- New-DRSClusterGroup
- Set-DRSClusterGroup
- Remove-DRSClusterGroup
- Get-DRSVMHostRule
- New-DRSVMHostRule
- Set-DRSVMHostRule
- Remove-DRSVMHostRule
-
Модуль VMware.VimAutomation.Srm для управления SRM.
- Обновления API
Для работы с внешними продуктами модернизированы модули vR Ops (vRealize Operations) и Horizon (для работы с Horizon View 7.1 API).
-
Командлеты для iSCSI vSAN
- Появились командлеты для управления инициаторами и таргетами iSCSI:
- Get-VsanIscsiInitiatorGroup
- New-VsanIscsiInitiatorGroup
- Set-VsanIscsiInitiatorGroup
- Remove-VsanIscsiInitiatorGroup
- Get-VsanIscsiTarget
- New-VsanIscsiTarget
- Set-VsanIscsiTarget
- Remove-VsanIscsiTarget
- Get-VsanIscsiInitiatorGroupTargetAssociation
- New-VsanIscsiInitiatorGroupTargetAssociation
- Remove-VsanIscsiInitiatorGroupTargetAssociation
- Get-VsanIscsiLun
- New-VsanIscsiLun
- Set-VsanIscsiLun
- Remove-VsanIscsiLun
- Get-VsanStat
- Start-VsanDiskFormatUpdate
- Get-VSANView
- Появились командлеты для управления инициаторами и таргетами iSCSI:
Также модуль Storage получил командлеты для механизма storage policy based management (SPBM):
- Start-SpbmReplicationPromote
- Start-SpbmReplicationTestFailover
- Stop-SpbmReplicationTestFailover
Управление при помощи PowerShell
Какие бы аргументы ни приводили сторонники GUI, но при управлении большим количеством систем лучше командной строки средства нет. Используя скрипты, можно автоматизировать большую часть рутинных задач, не прописанных в GUI. Разработчики VMware предлагают дополнение к PowerShell — PowerCLI (vmware.com/go/powercli). После установки будет доступен ряд командлетов, основные из которых — Connect-VIServer, Get-VM и Get-VICommand. Порядок работы с ними не отличается от других командлетов PowerShell. Для тех, кому лень писать скрипты самостоятельно, предложен рекордер макросов VMware Project Onyx (blogs.vmware.com/vipowershell/2009/11/project-onyx-ishere.html), умеющий генерить PowerShell-скрипты, записывая действия пользователя в VMware vSphere Client.
Информация по работе с PowerCLI доступна в блоге blogs.vmware.com/vipowershell.
Installing & Upgrading PowerCLI
You might have thought that this would be a one sentence section – Install-Module (with -Scope as required to install for all users if running elevated) – but there are some gotchas that I will put here to help save people time and frustration if they hit the issues.
Recent versions of PowerCLI have caused this error:
This is because the certificate provider VMware used to sign the modules has changed and PowerShell does not seem to cater for this. This can be fixed by using Uninstall-Module or deleting the folders for the VMware modules e.g. in «$env:ProgramFiles\WindowsPowerShell\Modules»
If you already have the Microsoft Hyper-V PowerShell module installed, you will get this error:
Using -AllowClobber will not overwrite the Hyper-V, so it can still be used, but you need to be careful that you execute the correct cmdlets such as Get-VM. This can be done in several ways:
- Remove-Module -Name Hyper-V -ErrorAction SilentlyContinue
- VMware.VimAutomation.Core\Get-VM (module qualification)
- «Import-Module -prefix vmware_» and run Connect-VMware_viserver, Get-VMware_vm and so on
If you need to install the modules on a non-Internet connected machine, copy the module folders from a machine which is connected and has already installed the required modules.
Get in the scripting mindset
Here I wanted to touch base on a less technical approach to PowerCLI. Whether it is VMware PowerCLI or some other framework, scripting is not something you learn overnight. Like most learning processes, it takes time, it is a trial-and-error path and you need to make mistakes, fix them and start over to get better.
Don’t feel bad about taking time to script
An unspoken truth that is regularly verified among our peers is that some IT managers only value work that can be quantified like closing tickets or deploying VMs and RUN is a great example of that. Spending time working on scripts may be seen differently by the less hands-on people who could think you are not doing “real work”. As one wise man used to say: “You are never thanked for the problems you don’t have”.
It may be the admin’s role to explain that spending time learning, testing and writing scripts is an investment both in yourself and in the company. Sure, it may take a few days or even weeks of brainstorming to understand how to interact with such and such in VMware PowerCLI.
Automation will free up time from RUN tasks to work on BUILD projects
But this won’t be a problem if you can demonstrate that the time you spent doing it will free up valuable hours over the course of (a) year(s) during which you can work on projects, other automation topics or even those pesky RUN tasks that will always require a human being behind the keyboard. The diagram above is an attempt at depicting the effects of implementing automation in your processes.
Identify the actions you perform often
Automation is all about improving efficiency and saving time. At the end of the day, you could probably automate just about anything as long as you can throw in enough man-hours. However, the point is: Automating a task should save you time in the long run, not the opposite.
For instance, it makes very little sense to spend 2 weeks automating a task that takes a day or two a year. Although you will have learned some things in the process, the return on invested time will be very poor. Instead, try and identify tasks on which you spend a significant amount of time.
All of this to say that, even though an automation project may sound cool and appealing, you should always review it before starting.
Challenge your own ideas
Starting an automation project isn’t always easy. We often start with a specific goal in mind and start writing code in order to get there as quickly as possible. Some very experienced professionals will get it right the first time, however, it isn’t the case for most of us. I found myself that it is unusual that I get it spot-on on the first go.
When I finish a PowerCLI automation project or even a function, I try and challenge myself to find what I could do better and cleaner. For instance:
- Can I reduce it in size to optimize the code tidiness? with a cleaner loop maybe?
- Can I turn repetitive occurrences into a function?
- Can/Should I parameterize some of the variables?
- Can I simplify it to make it more flexible and render it functional in various environments?
- Where should I add comments so I understand it 6 months down the line?
Keep challenging your own scripts to improve them
Now, the quality of a script is a subjective concept. While we recommend going through a few passes of improvement, it will also depend on how much time you can spend on it. At the end of the day, if it works, fulfils its purpose and you’re happy with it, it’s as good a script as any.
Создание виртуальной машины
Настало время установить первую виртуальную машину. Выполним небольшую подготовку.
Для загрузки установочных образов будущих ОС виртуальных гостевых систем я использовал файловый менеджер с поддержкой протокола SCP – WinSCP. Соединяемся с нашим гипервизором.
Рис. 22
И переходим на сервере в каталог с файловым хранилищем datastore1 используя тот путь, что упоминался чуть выше. Там создаем подкаталог для хранения файлов ISO.
В другой панели открываем каталог где хранятся ваши файлы с образами и загружаем нужное на сервер.
Рис. 23
Возвращаемся к окну vSphere Client и выбираем в меню File – New – Virtual Machine создание новой виртуальной машины:
Рис. 24
После чего проходим по нескольким простым шагам
Рис. 25
Задаем имя новой ВМ
Рис. 26
Выбираем хранилище (в нашем примере оно одно единственное)
Рис. 27
Выбираем тип предполагаемой системы
Рис. 28
Настройки сетевых адартеров. Тут можно все оставить по-умолчанию — не забудьте проконтролировать наличие галки на чекбоксе Connect at Power On.
Рис. 29
Настройка диска для ВМ. Не считая размера виртуального диска, также можно оставить начальные настройки.
Рис. 30
Рис. 31
Следующим шагом рекомендую избавиться от виртуального устройства Floppy. Не могу назвать точных причин, но в случае установки из образа ISO и наличии данного «дисковода» система не может найти ново-установленную ОС до той поры, пока не будет удален Floppy. В моем случае явной необходимости в данном устройстве не было и я его без сожаления убрал из ВМ.
Рис. 32
Теперь выберем для устройства CD/DVD источник данных — «диск», с которого будет загружаться наша ВМ при приоритете CD/DVD (при установке ОС):
Рис. 33
Идем по знакомому нам уже пути и выберем нужный образ ISO:
Рис. 34
Рис. 35
Рис. 36
Не забываем включить автовключение CD-привода при старте ВМ:
Рис. 37
Обозначим объем ОЗУ выделяемой для ВМ :
Рис. 38
Сохраняем все изменения.
Все готово к первому старту — даем нужную команду:
Рис. 39
На вкладке Console принимаемся за процесс установки новой ОС…
Рис. 40
Рис. 41
Описывать весь процесс инталляции Centos здесь не считаю необходимым ввиду избыточности данных по основной теме текста. Наш результат на этот раз уже достигнут.
Рис. 42
Не забудьте перед истечением пробного периода ввести свой ключ для бесплатной версии ESXi: Configuration – Licensed Features – ESX Server License Type – Edit .
В следующем материале будет рассмотрено развертывание гипервизора от другого популярного разработчика — Microsoft Hyper-V 2012 R2.
Удачи!
Basic PowerCLI Commands to Manage VMware vSphere and VMs
You can get a list of cmdlets in PowerCLI modules as follows (over 2200 commands are available):
To disable VMware Customer Experience Improvement Program (CEIP) notification:
To connect to vCenter Server or an ESXi host:
If you are using a self-signed SSL certificate for your vCenter Server, PowerCLI will block the connection:
Connect-VIServer Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you'd like to connect once or to add a permanent exception for this server. Additional Information: Could not establish trust relationship for the SSL/TLS secure channel with authority.
To ignore self-signed certificates:
To display a list of virtual machines registered on your ESXi (or vCenter) server:
To show powered off VMs only:
To start a virtual machine:
To restart a VM correctly (using VMware tools agent):
To shut down a VM:
To display a list of snapshots for a VM:
To move a running VM to another host using VMotion, the Move-VM command is used. For example, you want to move all VMs from mun-esxi1 to mun-esxi2:
To create a new virtual machine, use the New-VM cmdlet:
Use the cmdlet in order to change virtual machine settings.
Using PowerCLI cmdlets, you can interact with a guest operating system of your virtual machines. To do it, VMware Tools must be installed in the VM. You can update VMware Tools as shown below:
Using Invoke-VMS, you can run a script or program in a guest Windows OS:
To copy a file to all VMs, run this command:
The module contains cmdlets to manage clusters, datacenters, datastores, and ESXi hosts:
To display a list of ESXi hosts in a cluster:
Put a specific ESXi host into maintenance mode:
To connect an iSCSI LUN to an ESXi host and create a VMFS datastore on it:
Tip. PowerCLI works in a read-only mode with the free VMware vSphere Hypervisor. This means that you can use commands to view host and VM settings, but you cannot change them.
Проверка загрузки процессора хоста (Host CPU Saturation).
- Выберите хост, перейдите на вкладку Performance, там переключитесь в режим «Advanced» и выберите объект «CPU»;
- Оцените текущую загрузку в MHz (Usage);
- Превышает ли средняя загрузка 75% или пиковая — 90%? Если да, возможно, вам не хватает процессорных ресурсов хоста. Проверьте CPU Ready у ВМ этого хоста как показано ниже. Если средняя загрузка ЦП не превышает 75%, перейдите к следующему блоку…
Проверка CPU Ready:
- Если вы решаете проблему производительности определенной ВМ, начните с нее. В противном случае выберите хост, перейдите на вкладку Virtual Machines, отсортируйте список по столбцу Host CPU — MHz и проверьте одну-две ВМ из начала списка;
- Для измерения CPU Ready выберите ВМ, перейдите на вкладку Performance, выберите режим Advanced и переключитесь в обзор «CPU» (если вы решаете проблему производительности определенной ВМ, начните с нее);
- Оцените значение Ready для всех «объектов» виртуальной машины. Отдельным «объектом» является каждый виртуальный процессор ВМ. Вам будет необходимо изменить свойства графика «Chart Options…» для отображения этого графика;
- Среднее или максимальное значение Ready для любого виртуального процессора превышает 2000мс? Если да, то у вас наблюдается нехватка процессорных ресурсов хоста.
Схему анализа данного раздела также можно посмотреть на следующем рисунке:
2018: PowerCLI 11.1.0
В конце декабря 2018 года компания VMware выпустила обновление своего консольного фреймворка для управления виртуальной инфраструктурой — PowerCLI 11.1.0.
В этом обновлении:
1. Улучшения Site Recovery Manager Module.
Теперь средствами модуля VMware.VimAutomation.SRM для PowerCLI обеспечивается мультиплатформенная поддержка в плане управления инфраструктурой Site Recovery Manager. Этот модуль можно использовать с PowerShell Core на платформах MacOS и Linux. Он стал одним из специализированных модулей, сконвертированных на другие платформы. Также теперь поддерживается последняя версия Site Recovery Manager 8.1.
2. Обновления Storage Module.
В модуле Storage (VMware.VimAutomation.Storage) было сделано несколько исправлений ошибок и улучшений. Теперь командлет Get-VsanDisk выводит диск vSAN, где находится Witness Component. Также для командлета Start-SpbmReplicationTestFailover больше не нужен параметр VvolId.
1.а) на Win7\2008 только PowerCLI
На современных ОС от Майкрософт PowerShell (в тексте иногда будет сокращаться как posh) уже установлен.
Поэтому сразу идем на http://vmware.com/go/powercli и загружаем последнюю версию PowerCLI.
Перед установкой запускаем posh и разрешаем выполнение неподписанных скриптов вот такой командой Set-ExecutionPolicyRemoteSigned
илиSet-ExecutionPolicyUnrestricted
Первое более правильно с точки зрения формальной безопасности, второе – слегка более комфортно. Я в своей НЕ производственной среде использую второй вариант.
А теперь устанавливаем PowerCLI. Next, Next, Finish.
Finding VMs Attached to a Virtual Network with PowerCLI
While attempting to narrow down the scope of an issue, you may wonder which VMs are connected to which networks. To figure that out, you can use the command. Let’s learn about this cmdlet in this PowerCLI tutorial.
A port group is essentially a virtual network. To display all port groups, run without any parameters. You should then see a listing of all virtual port groups present in your vSphere environment.
Get-VirtualPortGroup
To find all of the VMs inside of that port group (DPortGroup in my case), you can run the below script. Be sure to replace the value DPortGroup with the name of your Virtual Port Group.
In this one-liner, we are getting a list of all virtual machines that exist in this vCenter appliance, and then filtering with the cmdlet to get only those VMs with a network name that matches our Port Group.
Getting VMs with only a specific port group
With this output, you’ll be able to define what machines are connected and configured for each network.
When asked to locate and analyze which VMs are connected to a particular network in VMware you will now be empowered to provide a PowerCLI reporting solution to this question.
Finding VMs Attached to a Virtual Network with PowerCLI
While attempting to narrow down the scope of an issue, you may wonder which VMs are connected to which networks. To figure that out, you can use the command. Let’s learn about this cmdlet in this PowerCLI tutorial.
A port group is essentially a virtual network. To display all port groups, run without any parameters. You should then see a listing of all virtual port groups present in your vSphere environment.
Get-VirtualPortGroup
To find all of the VMs inside of that port group (DPortGroup in my case), you can run the below script. Be sure to replace the value DPortGroup with the name of your Virtual Port Group.
In this one-liner, we are getting a list of all virtual machines that exist in this vCenter appliance, and then filtering with the cmdlet to get only those VMs with a network name that matches our Port Group.
Getting VMs with only a specific port group
With this output, you’ll be able to define what machines are connected and configured for each network.
When asked to locate and analyze which VMs are connected to a particular network in VMware you will now be empowered to provide a PowerCLI reporting solution to this question.
Как подключить общий диск в VMware ESXI 6.5 и выше
Предположим, что общее внешнее хранилище (подключенное к каждому хосту ESXi с использованием iSCSI или Fibre Channel SAN) уже представлено всем хостам VMWare ESXi, на которых запущены виртуальные машины, которым вы хотите добавить общий виртуальный диск. На обеих виртуальных машинах вам нужно добавить новый контроллер SCSI. Объясню для чего нужно добавлять новый SCSI Controller. Когда вы создаете новую виртуальную машину ESXI у вас по умолчанию уже будет один LSI Logic SAS контроллер (SCSI Controller), но он работает во первых в режиме SCSI Bus Sharing «None», то есть не работает с общими дисками VMDK, это можно поправить при выключенной машине, но VMWare не рекомендует совмещать при работе обычных дисков и Multi-Writer VMDK дисков на одном LSI Logic SAS контроллере.
Поэтому нам первым делом необходимо в свойствах виртуальной машины добавить новый SCSI Controller.
Если посмотреть подсказку у LSI Logic SAS контроллера, то вы увидите три его режима:
- None — для работы с не кластерными Multi-Writer дисками
- Physical — виртуальные диски могут быть общими для виртуальной машины и физическим сервером
- Virtual — для работы с общим диском для нескольких виртуальных машин
Хочу отметить, что к одному LSI Logic SAS контроллеру можно одновременно подключить до 16 виртуальных дисков
Делается это через пункт «New Device» и нажатии кнопки Add, для SCSI Controller.
Далее у нового, добавленного контроллера вы в пункте «SCSI Bus Sharing» выберите тип «Virtual». Можете сохранить конфигурацию виртуальной машины, через нажатие кнопки «Ок»
Далее на первой машине, где мы только что добавили новый контроллер, вам нужно создать новый виртуальный диск, делается это так же, через пункт «New Device»
Откройте параметры нового виртуального диска. Для того, чтобы сделать его общим между виртуальными машинами VMware ESXI, вам необходимо выставить соответствующие настройки:
Далее я для своего удобства, хочу чтобы общие диски лежали в отдельной папке, а так как они по умолчанию создаются в папке с виртуальной машиной да и еще имеют имя дисков, как имя машины_цифра, я бы такое хотел поправить. Для этого я в конфигурации виртуальной машины удаляю все созданные диски, но я не ставлю галку «Delete files from datastore», то есть по сути на датасторе они остаются.
Данное действие не обязательное, вы его можете пропустить и просто сохранить настройки, после чего переходить к настройке второй виртуалки, об этом чуть ниже
Далее я иду на датастор на котором находится виртуальная машина с общими дисками (Datastore — Browse Files).
Нахожу нужные мне Multi-Writer диски. Создаю новую папку
И перемещаю в новую папку общие диски, хочу отметить, что вы их можете переместить на любой общий между хостами ESXI датастор.
Я делаю «Move to» на тот же латасторе, но в новую папку. Этим я добьюсь, что буду видеть явным образом общие кластерные диски.
Так как я диски до этого удалил, для удобства, то мне их нужно заново добавить. Если вы до этого не удаляли, то сделайте эти действия только для второй виртуальной машины. Открываем настройки виртуальной машины и нажимаем добавить новое устройство, выбираем пункт «Existing Hard Disk», это у нас выбор существующего общего кластерного диска.
Указываем на каком датасторе у нас лежит Multi-Writer диск и выбираем нужный VMDK, в моем случае их семь.
Выставляем нужные параметры:
- Disk Provisioning — «Thick provision Eager zeroed thick disks»
- Sharing — «Multi-Writer»
- Disk Mode — «Independent Persistent»
- Virtual Device Node — выберите наш новый LSI Logic SAS контроллер, работающий в режиме «SCSI Bus Sharing Virtual»
Если такой диск не один, то добавляем все за один раз для экономии времени. Проделываем такое добавление общих дисков на всех виртуальных машинах, где планируется использовать Multi-Writer.
Далее уже в операционной системе Windows Server, зайдя в оснастку «Управление дисками» вы обнаружите ваши диски. Остается их только разметить в GPT формат и отдать под кластер.
Требования к Vmware vmotion
Ниже представлена картинка с основными требованиями к данной технологии
- Минимум гигабитная сеть, желательно выделенная — Настройте каждый хост как минимум с одним сетевым интерфейсом для трафика vMotion. Чтобы обеспечить безопасную передачу данных, сеть vMotion должна быть безопасной сетью, доступной только доверенным сторонам. Дополнительная пропускная способность значительно улучшает производительность vMotion. Когда вы переносите виртуальную машину с помощью vMotion без использования общего хранилища, содержимое виртуального диска также передается по сети.
- Совместимость процессоров
- Доступ по сети — Для миграции с помощью vMotion требуются правильно настроенные сетевые интерфейсы на исходном и целевом хостах.
- vSphere 6.5 и более поздние версии позволяют шифровать сетевой трафик с помощью vMotion. Зашифрованный vMotion зависит от конфигурации хоста или от совместимости между исходным и целевым хостами.
- На каждом хосте настройте группу портов VMkernel для vMotion
- Чтобы трафик vMotion маршрутизировался через IP-подсети, включите стек vMotion TCP/IP на узле
Дополнительно — https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-3B41119A-1276-404B-8BFB-A32409052449.html