Изменение параметров оборудования виртуальной машины через интерфейс командной строки

Для настройки виртуального оборудования, предоставленного машине из коммандной строки используется приложение prlctl. Данное приложение установлено на каждом сервере гипервизоре и поддерживает администрирование виртуальных машин локального сервера или удаленного.

  • Для управления машинами локального сервера команда запускается без параметров prlctl <command> <VM Name> [<options>], где:
    • <command> - оператор;
    • <VM Name> - имя виртуальной машины;
    • <options> - опциональные параметры оператора;
  • Для работы на удаленном сервере в качестве параметров к команде добавляется строка авторизации prlctl <command> <VM Name> [<options>] --login [<user>[:<passwd>]@]<server>], где:
    • <user> - имя пользователя;
    • <passwd> - пароль;
    • <server> - адрес сервера;

Для изменения параметров виртуальной машины и виртуального оборудования машины используется команда prlctl set.

Общие параметры

Команда prlctl set может быть использована для изменений общих параметров виртуальной машины, таких как:

  • процессорное время и число потоков;
  • объем и параметры оперативной памяти;
  • порядок загрузки BIOS;
  • объем видеопамяти.

Перечень доступных опций команды, используемых для изменения общих параметров виртуальной машиын приведен ниже:

prlctl set <VM_name> 	[--cpus <number>] [--cpu-sockets <number>] [--memsize <number>]
			[--videosize <number>] [--memguarantee <percentage>]
			[--mem-hotplug <on|off>] [--description <desc>]
			[--autostart <on|off|auto>] [--autostart-delay <number>]
			[--autostop <stop|suspend>] [--applyconfig <conf>] [--name <new_name>]
			[--vnc-mode <auto|manual|off> {--vnc-passwd <passwd> | --vnc-nopasswd}]
			[--vnc-port <port>] [--vnc-address <address>] [--cpu-hotplug <on|off>]
			[--cpuunits <units>] [--cpulimit {<percent>|<megahertz>}]
			[--ioprio <priority>] [--iolimit <limit>] [--iopslimit <limit>]
			[--cpumask {<N>[,N,N1-N2] | all}] [--nodemask {<N>[,N,N1-N2] | all}]
			[--offline-management <on|off>] [--offline-service <service_name>]
			[--userpasswd <user>:<passwd>] [--rate <rate>]
			[--ratebound <on|off>_] [--apply-iponly <yes|no>] [--efi-boot <on|off>]
			[--tools-autoupdate <on|off>] [--on-crash <pause|restart>[:no-report]]
			[--nested-virt <on|off>]

Изменение параметров виртуального процессора

Для управления параметрами виртуального процессора доступны следующие опции:

prlctl set <VM_name> 	[--cpus <number>]
			[--cpu-sockets <number>] 
			[--cpuunits <units>] 
			[--cpu-hotplug <on|off>]
			[--cpulimit {<percent>|<megahertz>}]
			[--cpumask {<N>[,N,N1-N2] | all}] 
			[--nodemask {<N>[,N,N1-N2] | all}]
			[--nested-virt <on|off>]
  • --cpus - количество ядер на сокет виртуального процессора. Данный параметр также может быть задан в поле веб интерфейса: “Количество процессоров”.
  • --cpu-sockets - количество сокетов виртуального процессора. По умолчанию в виртуальной машине создается один процессорный сокет.;
  • --cpu-hotplug - активация “горячего” добавления процессоров. Данный функционал требует единоразовой активации и позволяет добавлять процессоры в виртуальную машину без остановки или перезагрузки гостевой операционной системы. Поддержка данного функционала должна быть реализована в операционной системе. Официально поддерживаются: Linux моложе RHEL5 и Windows Server моложе 2008. Удаление виртуальных процессоров не поддерживается;
  • --cpuunits - приоритет выделения ресурсов процессора данной виртуальной машины по отношению к прочим виртуальным средам одного физического сервера. Диапазон значений от 8 до 500000. По умолчанию приоритет равен 1000; Данный параметр также может быть задан в поле веб интерфейса: “Время ЦП”.
  • --cpulimit - ограничение процессорной мощности виртуальной машины, указанное в процентах от суммарной мощности физического сервера или мегагерцах, который виртуальная машина не может превысить. Одно ядро процессора физического сервера принимается за 100%. Например двухпроцессорный сервер с процессором “Intel(R) Xeon(R) CPU E5-2680 v4 14C/28T 2,4 GHz” может обеспечить суммарно 5600% времени ЦП для виртуальных сред или 67200 МГц. Данный параметр также может быть задан в поле веб интерфейса: “Лимит времени ЦП”.
  • --cpumask - маска процессоров физического сервера, позволяет указать какие именно ядра гипервизора будут использованы для обработки процессов виртуальной машины. Принимаются численные значения через запятую 0,1,2,3 а также интервал: 1-4. Для снятия ограничения необходимо задать значение --cpumask all
  • --nodemask - маска сокетов физического сервера, по аналогии с маской процессорных ядер позволяет ограничить виртуальную машину в рамках выбранных процессорных сокетов гипервизора (NUMA node). Принимаются численные значения через запятую 0,1,2,3 а также интервал: 1-4. Для снятия ограничения необходимо задать значение --nodemask all
  • --nested-virt - активация функционала “вложенной” виртуализации, который позволяет запускать виртуальные машины внутри виртуальной машины. Данная опция может быть использована для тестирования средств виртуализации внутри виртуальной среды.

Изменение параметров оперативной памяти

Для управления параметрами оперативной памяти виртуальной машины доступны следующие опции:

prlctl set <VM_name> 	[--memsize <number>]
			[--memguarantee <percentage>]
			[--mem-hotplug <on|off>] 
  • --memsize - объем оперативной памяти, доступной виртуальной машине в мегабайтах. Для задания объема в гигабайтах необходимо использовать суффикс: G. Данный параметр также может быть задан в поле веб интерфейса: “Оперативная память”. В связи с особенностью работы функционала “memory balooning” гостевая операционная система получает информацию об объеме оперативной памяти с учетом её возможного расширения за счет функционала “memory balooning”. Реальный указанный объем оперативной памяти гостевой операционной системе не доступен и никак не отслеживается из ВМ. Недоступная память внутри виртуальной машины будет отображаться как занятая.
  • --memguarantee - объем оперативной памяти в процентах, зарезервированной для данной виртуальной машины. По умолчанию равен 80% от указанного объема памяти машины. Для возврата к стандартным значениям параметр переменной необходимо задать как auto. Суммарный объем зарезервированной оперативной памяти виртуальных сред не должен превышать доступную память хоста виртуализации.
  • --mem-hotplug - активация “горячего” изменения объема оперативной памяти. Данный функционал требует единоразовой активации и позволяет увеличивать и уменьшать объем оперативной памяти виртуальной машины без остановки или перезагрузки гостевой операционной системы. Данный функционал поддерживается на всех виртуальных машинах как минимум с 1 ГБ оперативной памяти;

Изменение порядка загрузки BIOS

Управление последовательностью загрузки выполняется с использованием следующих опций:

prlctl set <VM_name> 	[--efi-boot <on|off>]
			[--device-bootorder "dev_name1 dev_name2 [...]"]
  • --efi-boot - включение режима загрузки EFI. Данный параметр также может быть задан в поле веб интерфейса: “Использовать EFI”.
  • --device-bootorder - изменения порядка перебора загрузочных устройств. В качестве параметров данной опции указываются названия устройств загрузки, в виде: hdd0 net0 cdrom0 fdd0 . Данный параметр также может быть задан в поле веб интерфейса: “Порядок загрузки”.

Изменение параметров видеопамяти

Объем видеопамяти виртуальной машины указывается следующей командой

prlctl set <VM_name> 	[--videosize <number>]

Данный параметр также может быть задан в поле веб интерфейса: “Видеопамять.”. Объем указывается в мегабайтах, допускаемое значение от 2 до 256.

Устройства

Для управления виртуальными устройствами, подключенными к ВМ необходимо использовать следующие параметры команды prlctl set:

prlctl set <VM_name> --device-add <dev_type> <options> 				#Добавление
prlctl set <VM_name> --device-set <dev_name> <options> 				#Изменение
prlctl set <VM_name> --device-del <dev_name> <options> --destroy-image-force 	#Удаление
prlctl set <VM_name> --device-connect <dev_name> 				#Подключение
prlctl set <VM_name> --device-disconnect <dev_name> 				#Отключение

Изменение параметров гибкого магнитного диска

Параметры дисковода гибких дисков задаются командой, со следующими допустимыми параметрами:

prlctl set <VM_name> 	--device-set fdd0
			[--image <file>] 
			[--enable|--disable]
			[--connect|--disconnect]
  • --device-set fdd0 - данная опция указывает на виртуальный привод гибких магнитных дисков, над которым необходимо провести манипуляции.
  • --image <file> - позволяет указать полный путь к существующему образу дискеты, которая будет подключена к виртуальной машине. Данный параметр также может быть задан в поле веб интерфейса: “Файл образа”.
  • --enable|--disable - управляет наличием данного устройства в гостевой виртуальной машине. При установке режима --disable дисковод не будет доступен в виртуальной машине, но сохранится в интерфейсе конфигурации. Данная опция может быть использована для временного отключения дисковода от системы. Данный параметр также может быть задан в поле веб интерфейса: “Включено”.
  • --connect|--disconnect - управляет тем вставлена ли виртуальная дискета в дисковод или нет. При установке режима --disconnect дисковод присутствует в виртуальной машине но без дискеты. Данный параметр также может быть задан в поле веб интерфейса: “Соединено”.

Изменение параметров жесткого диска

Параметры жестких дисков, подключенных к виртуальной машине настраиваются с использованием следующей команды:

prlctl set <VM_name> 	--device-set hdd<N>
			[--image <file> [--recreate]]
			[--size <size>]
			[--no-fs-resize]
			[--iface <ide|scsi|virtio>]
			[--subtype <virtio-scsi|hyperv>]
			[--position <pos>]
			[--enable|--disable]
  • --device-set hdd<N> - данная опция указывает на виртуальный диск, над которым необходимо провести манипуляции.
  • --image <file> - позволяет указать полный путь к существующему образу диска, который будет подключен к виртуальной машине. Данный параметр также может быть задан в поле веб интерфейса: “Файл образа”.
  • --recreate- при указании данной опции диск будет очищен и все данные на нем будут потеряны. Данная опция соответствует активации следующего параметра в веб интерфейсе: “Воссоздать”.
  • --size - данный раздел позволяет изменить размер образа жесткого диска. Данный параметр также может быть задан в поле веб интерфейса: “Размер диска”.
  • --no-fs-resize - при указании данной опции изменение размера файловой системы виртуального диска через интеграцию с гостевыми утилитами произведено не будет. Уменьшение объема диска не может быть выполнено при указании данной опции. Данная опция соответствует деактивации следующего параметра в веб интерфейсе: “Изменить размер файловой системы”.
  • --iface- позволяет выбрать тип интерфейса с использованием которого будет подключен диск к виртуальной машине. Данный параметр также может быть задан в поле веб интерфейса: “Тип интерфейса”. Доступны следующие атрибуты указания типа:
    • scsi- паравиртуализованный интерфейс Virtio-SCSI - самый высокопроизводительный и функциональный интерфейс (позволяет подключить до 15 жестких или оптических дисков на одну виртуальную машину);
    • ide- традиционный параллельный интерфейс, поддерживаемый в большинстве операционных систем (позволяет подключить до 4 жестких или оптических приводов к виртуальной машине);
    • virtio- паравиртуализованный интерфейс Virtio-blk - более старый и менее функциональный блочный интерфейс (позволяет подключить до 15 жестких дисков на одну виртуальную машину).
  • --subtype - задание значения данной опции hyperv позволяет использовать паравиртуальный драйвер, совместимый с операционной системой Microsoft Windows без установки гостевых утилит. Если данная опция не указана по умолчанию используется драйвер VirtIO.
  • --position - данный раздел позволяет задать номер устройства на выбранной шине. Данный параметр также может быть задан в поле веб интерфейса: “Расположение”.
  • --enable | --disable - данные опции управляют наличием данного устройства в гостевой виртуальной машине. При задании опции --disable диск не будет доступен в виртуальной машине, но сохранится в интерфейсе конфигурации. Данная опция может быть использована для временного отключения диска от системы. Данный параметр также может быть задан в поле веб интерфейса: “Включено”.

Изменение параметров оптического диска

Параметры дисковода оптических дисков задаются командой, со следующими допустимыми параметрами:

prlctl set <VM_name> 	--device-set cdrom<N> 
			[--image <file>]
			[--device <dev_name>]
			[--iface <ide|scsi>]
			[--subtype <virtio-scsi|hyperv>]
			[--position <pos>]
			[--enable|--disable]
			[--connect|--disconnect]
  • --device-set cdrom<N> - данная опция указывает на виртуальный привод оптических дисков, над которым необходимо провести манипуляции.
  • --image <file> - позволяет указать полный путь к существующему образу диска, который будет подключен к виртуальной машине. Данный параметр также может быть задан в поле веб интерфейса: “Файл образа”.
  • --device <dev_name> - позволяет подключить физический привод сервера, на котором запущена виртуальная машина непосредственно к ВМ. Для получения информации о доступных приводах на сервере необходимо использовать комманду prlsrvctl info. Данный параметр также может быть задан в поле веб интерфейса: “Физический диск”.
  • --iface <ide|scsi>- позволяет выбрать тип интерфейса с использованием которого будет подключен диск к виртуальной машине. Данный параметр также может быть задан в поле веб интерфейса: “Тип интерфейса”. Доступны следующие атрибуты указания типа:
    • scsi- паравиртуализованный интерфейс Virtio-SCSI - самый высокопроизводительный и функциональный интерфейс (позволяет подключить до 15 жестких или оптических дисков на одну виртуальную машину);
    • ide- традиционный параллельный интерфейс, поддерживаемый в большинстве операционных систем (позволяет подключить до 4 жестких или оптических приводов к виртуальной машине);
  • --subtype <virtio-scsi|hyperv> - задание значения данной опции hyperv позволяет использовать паравиртуальный драйвер, совместимый с операционной системой Microsoft Windows без установки гостевых утилит. Если данная опция не указана по умолчанию используется драйвер VirtIO SCSI.
  • --position - данный раздел позволяет задать номер устройства на выбранной шине. Данный параметр также может быть задан в поле веб интерфейса: “Расположение”.
  • --enable|--disable - управляет наличием данного устройства в гостевой виртуальной машине. При установке режима --disable дисковод не будет доступен в виртуальной машине, но сохранится в интерфейсе конфигурации. Данная опция может быть использована для временного отключения дисковода от системы. Данный параметр также может быть задан в поле веб интерфейса: “Включено”.
  • --connect|--disconnect - управляет тем вставлен ли диск в дисковод или нет. При установке режима --disconnect дисковод присутствует в виртуальной машине но без диска. Данный параметр также может быть задан в поле веб интерфейса: “Соединено”.

Изменение параметров сетевого адаптера

prlctl set <VM_name> 	--device-set net<N>
			{--type routed | --network <network_ID>} 
			[--mac {<addr>|auto}]
			[{--ipadd <addr>[/<mask>] --ipdel <addr>[/<mask>] | --dhcp <yes|no> --dhcp6 <yes|no>}]
			[--gw <gw>] [--gw6 <gw>]
			[--nameserver <addr>]
			[--searchdomain <addr>]
			[--configure <yes|no>]
			[--ipfilter <yes|no>]
			[--macfilter <yes|no>]
			[--preventpromisc <yes|no>]
			[--enable|--disable]
			[--connect|--disconnect]
			[--adapter-type <e1000|rtl|virtio>]
  • --device-set net<N> - данная опция указывает на виртуальный сетевой адаптер, над которым необходимо провести манипуляции.
  • Допускается указание одного из двух следующих режимов работы сети виртуальной машины:
    • --type routed - режим при котором сетевой адаптер виртуальной машины не имеет доступа к внешней сети, вместо этого сервер виртуализации выступает маршрутизатором для такого сетевого адаптера и направляет пакеты через один из собственных сетевых интерфейсов. При выборе данного типа сети адрес виртуального сетевого адаптера назначается только из интерфейса администрирования гипервизора. Задание адреса из виртуальной машины или использование DHCP не поддерживается. Данный параметр также может быть задан в поле веб интерфейса: “Маршрутизируемый”.
    • --network <network_ID> - при выборе данного режима сетевой адаптер будет подключен к одной из указанных виртуальных сетей посредством сетевого моста. Данный параметр также может быть задан в поле веб интерфейса: “Подключить к виртуальной сети”.
  • --mac {<addr>|auto} - данная опция позволяет изменить адрес виртуального сетевого адаптера. Данный параметр также может быть задан в поле веб интерфейса: “MAC адрес”.
  • --ipadd <addr>[/<mask>] - дананя опция позволяет добавить дополнительный IP адрес виртуальной машины и указать маску подсети. Данный параметр также может быть задан в поле веб интерфейса: “IP-адрес / Маска подсети”.
  • --ipdel <addr>[/<mask>] - данная опция позволяет удалить назначенный IP адрес из виртуальной машины. Данный параметр также может быть задан в поле веб интерфейса: “IP-адрес / Маска подсети”.
  • --dhcp <yes|no> --dhcp6 <yes|no>} - данная опция позволяет активировать использование сервера автоматическного назначения адреса DHCP для протоколов IP v4 и v6. Данный параметр также может быть задан в поле веб интерфейса: “Получить IP-адрес по: DHCPv4 / DHCPv6”.
  • --gw <gw> --gw6 <gw> - позволяет указать основной шлюз для сетевого адаптера. Данный параметр также может быть задан в поле веб интерфейса: “Шлюз по умолчанию”.
  • --nameserver <addr> - позволяет задать IP адрес DNS сервера. Данный параметр также может быть задан в поле веб интерфейса: “IP-адрес DNS-сервера”.
  • --searchdomain <addr> - данное поле задает DNS-суффикс по умолчанию. Данный параметр также может быть задан в поле веб интерфейса: “Поисковый домен”.
  • --configure <yes|no> - данная опция управляет применением параметров IP адреса к виртуальным адаптерам внутри ВМ. При задании одного из параметров выше опция автоматически устанавливается в режим --configure yes.
  • --ipfilter <yes|no> - при установки значения yes виртуальный адаптер сможет отправлять пакеты только с указанного в свойствах адаптера IP адреса. При смене IP адреса из операционной системы доступ к сети с использованием нового адреса будет ограничен. Данный параметр также может быть задан в поле веб интерфейса: “Фильтровать по IP-адресу”.
  • --macfilter <yes|no> при установки значения yes виртуальный адаптер сможет отправлять пакеты только с указанного в свойствах адаптера mac адреса. Если mac-адрес будет изменен в виртуальной машине - пакеты с отличающимся адресом не будут покидать виртуальную машину. Данный параметр также может быть задан в поле веб интерфейса: “Фильтровать по MAC-адресу”.
  • --preventpromisc <yes|no> - активация данной опции позволяет ограничить прием широковещательных сетевых пакетов - отключив режим “Promiscuous”. При установке данной опции в режим no сетевой адаптер сможет принимать широковещательные пакеты, это необходимо например в случае запуска внутри виртуальной машины сервиса DHCP. Данный параметр также может быть задан в поле веб интерфейса: “Неизбирательный режим”.
  • --enable|--disable - данная опция управляет наличием устройства в гостевой виртуальной машине. При задании опции --disable адаптер не будет доступен в виртуальной машине, но сохранится в интерфейсе конфигурации. Данная опция может быть использована для временного отключения сетевого адаптера от системы. Данный параметр также может быть задан в поле веб интерфейса: “Включено”.
  • --connect|--disconnect - управляет тем вставлен ли виртуальный сетевой кабель в адаптер или нет. При задании режима --disconnect адаптер присутствует в виртуальной машине с состоянием сетевого кабеля - “отключено”. Данный параметр также может быть задан в поле веб интерфейса: “Соединено”.
  • --adapter-type <e1000|rtl|virtio> - - данная опция позволяет выбрать в качестве какого устройства будет представлен сетевой адаптер в виртуальной машине, Данный параметр также может быть задан в поле веб интерфейса: “Тип адаптера”. Поддерживаемые варианты выбора:
    • rtl - винтажный адаптер Realtek RTL8139 со скоростью порта 100 Мбит, выпущенный в 1997 году - используется только в случае необходимости обеспечения совместимости с устаревшими ОС;
    • e10000 - адаптер Intel PRO/1000MT со скорость порта 1 Гбит, выпущенный в 2003 году - используется только в случае необходимости обеспечения совместимости с устаревшими ОС;
    • virtil - паравиртуальный адаптер VirtIO со скоростью порта 10 Гбит.

Изменение параметров последовательного порта

Управление параметрами COM-порта виртуальной машины производится с использованием следующей команды:

prlctl set <VM_name> 	 --device-set serial<N>
			{--device <dev_name> | --output <file> | --socket <name>}
			[--enable|--disable]
			[--connect|--disconnect]
  • --device-set serial<N> - данная опция указывает на виртуальный порт, над которым необходимо провести манипуляции.
  • Допускается задание режима функционирования последовательного порта одной из следующих опций:
    • --device <dev_name>- позволяет подключить физический порт сервера, на котором запущена виртуальная машина непосредственно к ВМ. Данный параметр также может быть задан в поле веб интерфейса: “Физическое устройство
    • --output <file> - при выборе данного режима весь вывод порта виртуальной машины будут записан в указанный файл. Данный параметр также может быть задан в поле веб интерфейса: “Файл вывода
    • --socket <name> - данный режим позволяет объединить две виртуальные машины через сокет по последовательному порту. Данный параметр также может быть задан в поле веб интерфейса: “Сокет
  • --enable|--disable - данная опция управляет наличием устройства в гостевой виртуальной машине. При задании режима --disable порт не будет доступен в виртуальной машине, но сохранится в интерфейсе конфигурации. Данная опция может быть использована для временного отключения устройства от системы без удаления записи в конфигурации виртуальной машины.. Данный параметр также может быть задан в поле веб интерфейса: “Включено
  • --connect|--disconnect - данная опция управляет тем подключён виртуальный порт к заданному интерфейсу. При указании режима --disconnect виртуальной порт присутствует в машине но не подключен ни к какому устройству или файлу. Данный параметр также может быть задан в поле веб интерфейса: “Включено