Как создать виртуальную машину VMware с помощью PowerCLI.

Как создать виртуальную машину VMware с помощью PowerCLI.

Недавно мне на глаза попалась книга по автоматизации задач обслуживания инфраструктуры VMware. Книга очень занимательная, и, не смотря на то, что написана она еще во времена актуальности Vsphere 4.1, почти все написанное легко применить и сегодня. Давайте познакомимся с выдержками из этой книги, посвященными развертыванию виртуальных машин VMware с помощью PowerCLI.

Читайте как создать или развернуть виртуальную машину из шаблона с помощью клиента Vsphere.

В этой статье описывается как создать виртуальную машину c помощью PowerCLI . О том, как развернуть похожим способом виртуальную машину из шаблона или с помощью клонирования, читайте здесь

О массовом развертывании виртуальных машин написано в этой статье.

Как создать виртуальную машину VMware с помощью PowerCLI.

«Итак, вы создали свою среду vSphere. Хосты загружены, хранилище выделено, и vCenter Server готов к работе. Теперь пришло время создать несколько виртуальных машин. В этой главе мы начнем с базового фона командлета PowerCLI New-VM. Мы рассмотрим различные методы создания новых виртуальных машин. Затем мы углубимся в API vSphere, где исследуем передовые методы и приемы. Мы расскажем о пользовательских атрибутах и их использовании, а также рассмотрим установку VMware Tools.

Используйте командлет New-VM

Командлет New-VM используется для добавления, создания, клонирования или регистрации новой виртуальной машины (VM). Он вырос за последние четыре версии PowerCLI и является довольно мощным. Однако он не завершен, и есть некоторые вещи, которые нельзя сделать в PowerCLI. Нам нравится сравнивать использование командлетов PowerCLI с говорением на иностранном языке. По большей части вы говорите все то же самое, но вы говорите их в другом порядке. Если графический интерфейс vSphere является вашим родным языком, будьте готовы сделать что-то не в порядке.

Командлет New-VM обеспечивает высокоуровневую абстракцию всего процесса создания виртуальной машины. В результате этой абстракции New-VM использует некоторые значения по умолчанию. Если явно не указано иное, командлет New-VM всегда будет создавать виртуальную машину со спецификациями, перечисленными в таблице 5.1.

Таблица 5.1 PowerCLI New-VM default values

Parameter Default value
DiskMB 4096
DiskStorageFormat Thick
GuestId winXPProGuest
MemoryMB 256
NumCpu 1
Version 7

NOTE: Based on VMware vSphere PowerCLI 4.1 build 264274

 

Когда командлет может выполнять одну или несколько функций, PowerShell группирует параметры для каждой функции в набор параметров. Командлет New-VM включает четыре набора параметров или четыре отдельные функции:

 NewVM

 Template

 RegisterVm

 CloneVm

Каждый набор параметров представляет собой группу параметров, которые выполняют определенную функцию. Вы не можете смешивать и сопоставлять параметры из разных наборов параметров. Для ясности и поскольку они выполняют четыре отдельные функции, мы рассмотрим каждый из этих наборов параметров в отдельности.

Итак, как PowerCLI выбирает, какой набор параметров использовать? Каждый набор параметров имеет как минимум один уникальный параметр. Набор параметров по умолчанию принимается до тех пор, пока PowerCLI не найдет тот уникальный параметр, который отличает текущее приложение от настроенного по умолчанию. В случае командлета New-VM набор параметров NewVM предполагается до тех пор, пока не будет найден параметр, используемый в другом месте.

Независимо от набора параметров есть два обязательных параметра: Name и VMHost. При подключении напрямую к хосту vSphere PowerCLI принимает параметр VMHost. Это означает, что когда вы подключены напрямую к хосту vSphere, создать новую виртуальную машину так же просто, как New-VM —Name VM01.

Хотя это и хорошая демонстрация, но в реальном мире она не очень полезна. Тем не менее, полезно понять, почему это работает. PowerCLI выводит как VMHost, так и набор параметров. Затем он принял оставшийся обязательный параметр Name и создал новую виртуальную машину, используя значения по умолчанию, указанные в таблице 5.1. Мы делаем эту точку, потому что PowerCLI и его базовый движок PowerShell делают все возможное, чтобы «помочь» вам; В 99,9% случаев предположение верно, но имейте в виду, что без явных указаний PowerCLI всегда будет использовать эти значения по умолчанию.

Creating a New Virtual Machine

Удивительно, но PowerCLI не часто используется для создания новых виртуальных машин. Каким-то образом сообщество в целом упустило огромное преимущество, которое PowerCLI предлагает на этой арене. Если ваша организация использует корпоративные системы обеспечения, такие как Microsoft System Center Configuration Manager (SCCM) или HP Business Service Automation (HP-BSA), вы можете воспользоваться автоматизацией создания новой виртуальной машины. Даже если вы используете базовый инструмент установки операционной системы, такой как Windows Deployment Services, Symantec Ghost, Linux KickStart или Solaris JumpStart, вы все равно выиграете, если будете уверены, что базовое виртуальное оборудование всегда одинаково!

Еще:  Ошибка: Unable to connect to the MKS: Could not connect to pipe

Как вы можете создать виртуальную машину? Ну, как правило, вы решаете любую проблему в PowerCLI, начиная с утверждения или вопроса. Например: «Я хочу создать виртуальную машину REHL5 с жестким диском 10 ГБ с тонким предоставлением и 1 ГБ оперативной памяти. Я хочу смонтировать ISO в datastore0, и сеть должна быть в VLAN 22». Теперь вы просто разбираете его на командлеты, как показано в листинге 5.1.

Listing 5.1 Cmdlets to create a New-VM

 

Первое, что вы заметите, это то, что для выполнения этой задачи нам пришлось использовать несколько командлетов. Хотя принято считать, что все это можно выполнить с помощью одного командлета, это не относится к PowerCLI. Это связано с тем, что каждый командлет отвечает только за одну небольшую задачу или функцию. Поэтому нам нужно объединить много командлетов в конвейер, чтобы выполнить всю задачу. Например, командлет New-VM создаст только пустое оборудование. Все, что за этим — как подключение CD — должно быть сделано после того, как виртуальная машина была создана.

Возможно, вы заметили довольно загадочный -GuestId. Вы можете найти список действительных идентификаторов гостей в справке New-VM. К сожалению, список, расположенный в справке, не так легко прочитать. Вы всегда можете проверить документацию vSphere API – посетите www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/ index.html  и проверьте Enumerated Types ➢ VirtualMachineGuestOsIdentifier. Но если вы хотите хранить данные в PowerShell, где вы можете ими манипулировать, используйте функцию в листинге 5.2, чтобы запросить vCenter Server о поддерживаемых операционных системах и соответствующих гостевых идентификаторах.

Листинг 5.2. Запрос vCenter Server для операционных систем и гостевых идентификаторов

Еще:  Как скопировать файл в виртуальную машину VMware.

При запуске функция Get-VMGuestId возвращает коллекцию всех поддерживаемых гостевых объектов. Затем вы можете отфильтровать указанную коллекцию с помощью Where-Object и отправить ее в файл, на принтер, в CSV – на ваш выбор. Мы предлагаем направить вывод в Out-GridView. Командлет Out-GridView был создан для подобных ситуаций. Он позволяет вам фильтровать, сортировать и разбираться в больших наборах данных, как показано на рисунке 5.1.

Как создать виртуальную машину VMware с помощью PowerCLI.

А как насчет более сложной виртуальной машины — скажем, SQL Server? Давайте создадим виртуальную машину Windows Server 2008 R2 со следующими спецификациями:

  4 виртуальных ЦП

  8 ГБ ОЗУ

  Жесткий диск с 40 ГБ ОС с тонким предоставлением

  Жесткий диск толщиной 100 ГБ и 10 ГБ

  Два сетевых адаптера VMXNET3 на VLAN 22 и VLAN 100

Эта новая виртуальная машина должна быть размещена в пуле ресурсов SQL на кластере PROD01. В листинге 5.3 показано, как выполнить эту задачу.

Листинг 5.3. Создание сложной виртуальной машины

 

Листинг 5.3 немного сложнее, чем предыдущий, но его все же легко понять. К сожалению, это примерно так далеко, как PowerCLI может изначально пойти. Если вы хотите добавить паравиртуальный контроллер SCSI для ваших дисков с данными, вы должны обратиться к API.»

Описание командлета New-VM на сайте Vmware: https://www.vmware.com/support/developer/PowerCLI/PowerCLI41/html/New-VM.html

Вот такая получилась «коротенькая» статейка о том, как создать виртуальную машину VMware с помощью PowerCLI.)) О том как с ее же помощью развернуть виртуальную машину из шаблона или с помощью клонирования существующей смотрите в следующих статьях. 

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх