Elena Mishina 3d185a050a added VM
2019-12-02 21:07:58 +02:00

1265 lines
70 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<chapter>
<title>Виртуальные машины на базе KVM</title>
<para>
Виртуальные машины являются строительными блоками виртуальной среды.
</para>
<section>
<title>Создание виртуальной машины на базе KVM</title>
<para>
Прежде чем создать в интерфейсе PVE виртуальную машину (ВМ),
необходимо определиться со следующими моментами:
<itemizedlist>
<listitem>
<para>
откуда будет загружен инсталлятор ОС, которая будет установлена внутрь ВМ;
</para>
</listitem>
<listitem>
<para>
плавное расширение пространства хранения с множеством узлов;
</para>
</listitem>
<listitem>
<para>
на каком физическом узле будет выполняться процесс гипервизора kvm;
</para>
</listitem>
<listitem>
<para>
на каком хранилище данных будут располагаться образы дисков ВМ.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Все остальные параметры ВМ относятся к конфигурации виртуального компьютера
и могут быть определены по ходу процесса создания ВМ
(PVE пытается выбрать разумные значения по умолчанию для ВМ).
</para>
<para>
Чтобы установить ОС на ВМ, расположенную на этом узле, нужно обеспечить
возможность загрузки инсталлятора на этой ВМ. Для этого необходимо загрузить
ISO-образ инсталлятора в хранилище данных выбранного физического узла.
Это удобно делать через веб-интерфейс
(см. <link linkend="pve--pve-manage-iso-cache--chapter"
endterm="pve--pve-manage-iso-cache--chapter.title"/>).
</para>
<para>
Для создания ВМ необходимо нажать кнопку <guibutton>Создать VM</guibutton>
(<guibutton>Create VM</guibutton>), расположенную в правом верхнем углу веб-интерфейса PVE:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm1.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Кнопка <guibutton>Создать VM</guibutton>
</phrase>
</textobject>
</mediaobject>
<para>
Процесс создания ВМ оформлен в виде «мастера», привычного для пользователей систем
управления ВМ.
</para>
<para>
На вкладке <guilabel>Общее</guilabel> необходимо указать:
<itemizedlist>
<listitem>
<para>
<guilabel>Узел</guilabel> (<guilabel>Node</guilabel>) — физический сервер,
на котором будет работать ВМ;
</para>
</listitem>
<listitem>
<para>
<guilabel>VM ID</guilabel> — идентификатор ВМ в численном выражении.
Одно и то же значение идентификатора не может использоваться более чем для одной машины.
Поле идентификатора ВМ заполняется автоматически инкрементально: первая созданная ВМ
по умолчанию будет иметь VM ID со значением 100, следующая 101 и так далее;
</para>
</listitem>
<listitem>
<para>
<guilabel>Имя</guilabel> (<guilabel>Name</guilabel>) — текстовая строка названия ВМ;
</para>
</listitem>
<listitem>
<para>
<guilabel>Пул ресурсов</guilabel> (<guilabel>Resource pool</guilabel>) — имя пула данной ВМ,
к которому она будет относиться. Данное значение не обязательное.
Чтобы иметь возможность выбора, этот пул должен быть предварительно создан.
</para>
</listitem>
</itemizedlist>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm2.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Общее</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
На вкладке <guilabel>ОС</guilabel> необходимо указать источник установки ОС,
выбрать тип операционной системы для данной ВМ:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm3.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>ОС</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Возможны следующие варианты источник установки ОС:
<itemizedlist>
<listitem>
<para>
<guilabel>Использовать файл с образом CD/DVD</guilabel>
(<guilabel>Use CD/DVD disc image file</guilabel>) — выбирает уже выгруженный
в хранилище образ ISO:
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm4.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Выбор ISO образа
</phrase>
</textobject>
</mediaobject>
</para>
</listitem>
<listitem>
<para>
<guilabel>Использовать привод CD/DVD</guilabel>
(<guilabel>Use physical CD/DVD Drive</guilabel>) — использовать физический диск хоста PVE;
</para>
</listitem>
<listitem>
<para>
<guilabel>Нет носителя</guilabel> (<guilabel>Do not use any media</guilabel>) — не
использовать ISO образ или физический носитель.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Выбор типа гостевой ОС при создании ВМ позволяет PVE оптимизировать некоторые параметры низкого уровня.
</para>
<para>
На следующем этапе (вкладка <guilabel>Система</guilabel>) можно выбрать видеокарту,
контроллер SCSI, указать использовать ли Агент QEMU:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm5.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Система</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Вкладка <guilabel>Жесткий диск</guilabel> (<guilabel>Hard Disk</guilabel>)
содержит следующие настройки:
<itemizedlist>
<listitem>
<para>
<guilabel>Шина/Устройство</guilabel>
(<guilabel>Bus/Device</guilabel>) — тип устройства виртуального диска.
Допустимые значения: <guimenuitem>IDE</guimenuitem>,
<guimenuitem>SATA</guimenuitem>, <guimenuitem>VirtIO Block</guimenuitem>
и <guimenuitem>SCSI</guimenuitem> (по умолчанию). Можно также выбрать номер порта;
</para>
</listitem>
<listitem>
<para>
<guilabel>Хранилище</guilabel>
(<guilabel>Storage</guilabel>) — выбор хранилища для размещения данного виртуального диска;
</para>
</listitem>
<listitem>
<para>
<guilabel>Размер диска</guilabel>
(<guilabel>Disk size</guilabel>) (GiB) — размер виртуального диска в гигабайтах;
</para>
</listitem>
<listitem>
<para>
<guilabel>Формат</guilabel>
(<guilabel>Format</guilabel>) — выбирается формат образа виртуального диска.
Доступные значения: <guimenuitem>Несжатый образ диска (raw)</guimenuitem>,
<guimenuitem>Формат образа QEMU (qcow2)</guimenuitem> и
<guimenuitem>Формат образа Vmware (vmdk)</guimenuitem>. Формат образа
RAW является полностью выделяемым (thick-provisioned), т.е. выделяется сразу
весь объем образа. QEMU и VMDK поддерживают динамичное выделение пространства
(thin-provisioned), т.е. объем растет по мере сохранения данных на виртуальный диск;
</para>
</listitem>
<listitem>
<para>
<guilabel>Кэш</guilabel>
(<guilabel>Cache</guilabel>) — выбор метода кэширования виртуальной машины.
По умолчанию выбирается работа без кэширования. Доступные значения:
<guimenuitem>Direct sync</guimenuitem>,
<guimenuitem>Write through</guimenuitem>, <guimenuitem>Write back</guimenuitem> и
<guimenuitem>Writeback (не безопасно)</guimenuitem> и <guimenuitem>Нет кэша</guimenuitem>;
</para>
</listitem>
<listitem>
<para>
<guilabel>Отклонить</guilabel> (<guilabel>Discard</guilabel>) — делает доступным TRIM,
что очищает неиспользуемое пространство образа виртуального диска.
</para>
</listitem>
</itemizedlist>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm6.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Жесткий диск</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Максимальный объем виртуального диска128 ТБ.
</para>
<para>
На следующем этапе настраивается процессор (CPU):
<itemizedlist>
<listitem>
<para>
<guilabel>Сокеты</guilabel>
(<guilabel>Sockets</guilabel>) — число сокетов ЦПУ для данной ВМ;
</para>
</listitem>
<listitem>
<para>
<guilabel>Ядра</guilabel>
(<guilabel>Cores</guilabel>) — число ядер для данной ВМ;
</para>
</listitem>
<listitem>
<para>
<guilabel>Тип</guilabel> (<guilabel>Type</guilabel>) — тип процессора.
</para>
</listitem>
</itemizedlist>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm7.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Процессор</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Максимальное количество виртуальных процессоров в ВМ512.
</para>
<para>
На вкладке <guilabel>Память</guilabel> (<guilabel>Memory</guilabel>) необходимо
указать объем оперативной памяти выделяемой ВМ:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm8.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Память</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Максимальное количество памяти, выделяемое ВМ2ТБ.
</para>
<para>
Вкладка <guilabel>Сеть</guilabel> (<guilabel>Network</guilabel>)
содержит следующие настройки:
<itemizedlist>
<listitem>
<para>
<guilabel>Нет сетевого устройства</guilabel>
(<guilabel>No network device</guilabel>) — выбор данного параметра
пропускает шаг настройки сетевой среды;
</para>
</listitem>
<listitem>
<para>
<guilabel>Сетевой мост</guilabel>
(<guilabel>Bridged mode</guilabel>) — установка сетевого интерфейса в режиме моста.
Это предпочтительный параметр для сетевой среды ВМ. В этом режиме возможно
создание множества мостов с виртуальными сетями для создания изолированных сетей
в одной и той же платформе, поскольку ВМ не имеют прямого доступа
к реальной локальной сетевой среде;
</para>
</listitem>
<listitem>
<para>
<guilabel>Брандмауэр</guilabel>
(<guilabel>Firewall</guilabel>) — разрешает использование для ВМ
встроенных межсетевых экранов;
</para>
</listitem>
<listitem>
<para>
<guilabel>Модель</guilabel>
(<guilabel>Model</guilabel>) — тип драйвера сетевого устройства.
Для максимальной сетевой производительности ВМ следует выбрать пункт
<guimenuitem>VirtIO (паравиртуализированно)</guimenuitem>;
</para>
</listitem>
<listitem>
<para>
<guilabel>Адрес MAC</guilabel> (<guilabel>MAC address</guilabel>) — по умолчанию
PVE автоматически создает уникальный MAC адрес для сетевого интерфейса.
Если есть такая необходимость, можно ввести пользовательский MAC адрес вручную.
</para>
</listitem>
</itemizedlist>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm9.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Сеть</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Последняя вкладка <guilabel>Подтверждение</guilabel> (<guilabel>Confirm</guilabel>)
отобразит все введенные или выбранные значения для данной ВМ:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-create-vm10.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guilabel>Подтверждение</guilabel>
</phrase>
</textobject>
</mediaobject>
<para>
Для создания ВМ следует нажать кнопку <guibutton>Далее</guibutton>. Если необходимо
внести изменения в параметры ВМ, можно перейти по вкладкам назад.
Если отметить пункт <guilabel>Start after created</guilabel> ВМ будет
запущена после создания.
</para>
</section>
<section>
<title>Внесение изменений в ВМ</title>
<para>
Вносить изменения в конфигурацию ВМ можно и после ее создания.
Для того чтобы внести изменения в конфигурацию ВМ необходимо выбрать
ВМ и перейти на вкладку <guilabel>Оборудование</guilabel> (<guilabel>Hardware</guilabel>).
На этой вкладке следует выбрать технические средства и нажать кнопку
<guibutton>Редактировать</guibutton> (<guibutton>Edit</guibutton>) для выполнения изменений:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-vm-hardware.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Оборудование ВМ
</phrase>
</textobject>
</mediaobject>
<para>
Эти изменения могут не вступить в действие сразу, и может потребоваться
выключение с последующим включением ВМ для инициализации данных аппаратных изменений.
</para>
</section>
<section>
<title>Управление ВМ с помощью <command>qm</command></title>
<para>
Если веб-интерфейс PVE недоступен, можно управлять ВМ при помощи командной строки
(либо через сеанс SSH, либо из консоли noVNC, или зарегистрировавшись на физическом хосте).
</para>
<para>
<command>qm</command> — это инструмент для управления ВМ Qemu/KVM в PVE. Утилиту <command>qm</command>
можно использовать для создания/удаления ВМ, для контроля выполнения
(запуск/остановка/приостановка/возобновление), для установки параметров в
соответствующем конфигурационном файле, а также для создания виртуальных дисков.
</para>
<para>
Чтобы просмотреть доступные для ВМ команды PVE можно выполнить следующую команду:
<screen>
# <command>qm help</command>
</screen>
</para>
<para>
Примеры использования утилиты qm:
<itemizedlist>
<listitem>
<para>
создать ВМ, используя ISO-файл, загруженный в локальное хранилище,
с диском IDE 20ГБ, в хранилище local-lvm:
<screen>
# <command>qm create 300 -ide0 local-lvm:20 -net0 e1000 -cdrom local:iso/alt-server-9.0-x86_64.iso</command>
</screen>
</para>
</listitem>
<listitem>
<para>
запуск ВМ:
<screen>
# <command>qm start 300</command>
</screen>
</para>
</listitem>
<listitem>
<para>
отправить запрос на отключение и дождаться остановки ВМ:
<screen>
# <command>qm shutdown 300 &amp;&amp; qm wait 300</command>
</screen>
</para>
</listitem>
</itemizedlist>
</para>
</section>
<section>
<title>Файлы конфигурации ВМ</title>
<para>
Файлы конфигурации ВМ хранятся в файловой системе кластера PVE и доступны по
адресу <filename>/etc/pve/qemu-server/&lt;VMID&gt;.conf</filename>. Как и другие файлы,
хранящиеся в <filename class="directory">/etc/pve/</filename>, они автоматически
реплицируются на все другие узлы кластера.
</para>
<note>
<para>
VMID &lt;100 зарезервированы для внутренних целей. VMID должны быть
уникальными для всего кластера.
</para>
</note>
<para>
Пример файла конфигурации:
<screen>
bootdisk: scsi0
cores: 1
ide2: local:iso/alt-server-9.0-x86_64.iso,media=cdrom
memory: 512
name: Copy-of-newVM
net0: virtio=9A:EC:FC:B6:92:33,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local:100/base-100-disk-0.qcow2/103/vm-103-disk-0.qcow2,size=18G
scsihw: virtio-scsi-pci
smbios1: uuid=0f2f0bfb-b7de-4e5b-9033-6e66c405833e
sockets: 1
unused0: local:103/vm-103-disk-0.qcow2
vmgenid: fab9da18-025b-444e-b980-b1be3addaabc
</screen>
</para>
<para>
Файлы конфигурации ВМ используют простой разделенный двоеточиями формат ключ/значение
(пустые строки игнорируются, строки, начинающиеся с символа #,
рассматриваются как комментарии и также игнорируются):
<screen>
OPTION: value
</screen>
</para>
<para>
Для применения изменений, которые напрямую вносились в файл конфигурации,
необходимо перезапустить ВМ. По этой причине рекомендуется использовать команду
<command>qm</command> для генерации и изменения этих файлов, либо делать все это
в веб-интерфейсе.
</para>
<para>
При создании снимка ВМ, конфигурация ВМ во время снимка, сохраняется в этом же
файле конфигурации в отдельном разделе. Например, после создания снимка «snapshot»
файл конфигурации будет выглядеть следующим образом:
<screen>
parent: snapshot
vmgenid: fab9da18-025b-444e-b980-b1be3addaabc
[snapshot]
bootdisk: scsi0
cores: 1
ide2: local:iso/alt-server-9.0-x86_64.iso,media=cdrom
memory: 512
name: Copy-of-newVM
net0: virtio=9A:EC:FC:B6:92:33,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local:100/base-100-disk-0.qcow2/103/vm-103-disk-0.qcow2,size=18G
scsihw: virtio-scsi-pci
smbios1: uuid=0f2f0bfb-b7de-4e5b-9033-6e66c405833e
snaptime: 1573640896
</screen>
</para>
<para>
Свойство <option>parent</option> при этом используется для хранения
родительских/дочерних отношений между снимками, а <option>snaptime</option> — это
отметка времени создания снимка (эпоха Unix).
</para>
</section>
<section>
<title>Запуск и останов ВМ</title>
<section>
<title>Изменение состояния ВМ в веб-интерфейсе</title>
<para>
Для запуска ВМ следует выбрать ее в левой панели; иконка ВМ должна быть серого цвета,
обозначая, что ВМ не запущена.
</para>
<para>
Запустить ВМ можно выбрав в контекстном меню ВМ пункт <guimenuitem>Запуск</guimenuitem>:
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-start-vm.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Контекстное меню ВМ
</phrase>
</textobject>
</mediaobject>
либо нажав на кнопку <guibutton>Запуск</guibutton> (<guibutton>Start</guibutton>):
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-start-vm2.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Кнопки управления состоянием ВМ
</phrase>
</textobject>
</mediaobject>
</para>
<para>
Запущенная ВМ будет обозначена зеленой стрелкой на значке ВМ.
</para>
<para>
Для запущенной ВМ доступны следующие действия:
<itemizedlist>
<listitem>
<para>
<guilabel>Пауза</guilabel>
(<guilabel>Pause</guilabel>) — перевод ВМ в спящий режим;
</para>
</listitem>
<listitem>
<para>
<guilabel>Hibernate</guilabel> — перевод ВМ в ждущий режим;
</para>
</listitem>
<listitem>
<para>
<guilabel>Выключить</guilabel>
(<guilabel>Shutdown</guilabel>) — остановка ВМ;
</para>
</listitem>
<listitem>
<para>
<guilabel>Остановка</guilabel>
(<guilabel>Stop</guilabel>) — остановка ВМ, путем прерывания ее работы;
</para>
</listitem>
<listitem>
<para>
<guilabel>Миграция</guilabel> (<guilabel>Migrate</guilabel>) — перемещение ВМ
между узлами кластера PVE без простоев.
</para>
</listitem>
</itemizedlist>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-status-vm.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Контекстное меню запущенной ВМ
</phrase>
</textobject>
</mediaobject>
</section>
<section>
<title>Изменение состояний ВМ в командной строке</title>
<para>
Состоянием ВМ можно управлять из командной строки PVE
(либо через сеанс SSH, либо из консоли noVNC, или зарегистрировавшись на физическом хосте).
</para>
<para>
Для запуска ВМ с VM ID 105 необходимо ввести команду:
<screen>
# <command>qm start 105</command>
</screen>
</para>
<para>
Эта же ВМ может быть остановлена при помощи команды:
<screen>
# <command>qm stop 105</command>
</screen>
</para>
</section>
</section>
<section>
<title>Автоматический запуск ВМ</title>
<para>
Для того чтобы ВМ запускалась автоматически при загрузке хост-системы,
необходимо выбрать опцию <guilabel>Запуск при загрузке</guilabel> на вкладке
<guimenuitem>Параметры</guimenuitem> требуемой ВМ в веб-интерфейсе
или установить ее с помощью следующей команды:
<screen>
# <command>qm set &lt;vmid&gt; -onboot 1</command>
</screen>
</para>
<para>
Иногда необходимо точно настроить порядок загрузки ВМ, например,
если одна из ВМ обеспечивает межсетевой экран или DHCP для других
гостевых систем. Для настройки порядка запуска ВМ можно использовать
следующие параметры:
<itemizedlist>
<listitem>
<para>
<guilabel>Порядок запуска и выключения</guilabel>
(<guilabel>Start/Shutdown order</guilabel>) — определяет приоритет порядка запуска.
Для того чтобы ВМ запускалась первой необходимо установить этот
параметр в значение 1 (для выключения используется обратный порядок:
ВМ машина с порядком запуска 1 будет выключаться последней). Если несколько
хостов имеют одинаковый порядок, определенный на хосте, они будут
дополнительно упорядочены в порядке возрастания VMID;
</para>
</listitem>
<listitem>
<para>
<guilabel>Задержка запуска</guilabel>
(<guilabel>Startup delay</guilabel>) — определяет интервал (в секундах)
между запуском этой ВМ и последующими запусками ВМ;
</para>
</listitem>
<listitem>
<para>
<guilabel>Задержка выключения</guilabel> (<guilabel>Shutdown timeout</guilabel>) — определяет
продолжительность в секундах, в течение которой PVE должен ожидать,
пока ВМ не будет в автономном режиме после выдачи команды выключения.
По умолчанию это значение установлено равным 180PVE выдаст запрос на отключение
и подождет 180 секунд, пока машина не будет в автономном режиме.
Если машина все еще находится в сети после истечения времени ожидания,
она будет принудительно остановлена.
</para>
</listitem>
</itemizedlist>
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-start-vm-order.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Настройка порядка запуска и выключения ВМ
</phrase>
</textobject>
</mediaobject>
<note>
<para>
ВМ, управляемые стеком HA, в настоящее время не поддерживают
параметры запуска при загрузке и порядка загрузки.
</para>
</note>
<para>
ВМ без настроенного параметра <option>Порядок запуска и выключения</option>
всегда будут запускаться после тех, для которых установлен этот параметр.
Кроме того, этот параметр может быть применен только для ВМ, работающих
на одном хосте, но не для всего кластера.
</para>
</section>
<section>
<title>Управление образами виртуальных дисков</title>
<para>
Образ виртуального диска является файлом или группой файлов,
в которых ВМ хранит свои данные. В PVE файл настройки ВМ может
создаваться повторно и использоваться для подключения образа диска.
Однако если образ сам по себе утрачен, он может быть восстановлен только
из резервной копии. Существуют различные типы форматов образов виртуальных
дисков доступные для применения виртуальными машинами.
</para>
<section>
<title>Поддерживаемые форматы образов</title>
<para>
PVE поддерживает форматы виртуальных дисков .raw, .qcow2 и .vmdk.
Каждый формат имеет свои собственные преимущества и недостатки. Формат
образа обычно выбирается на основании функции ВМ, используемой системы
хранения, требующейся производительности и доступного бюджета.
В процессе создания виртуального диска в веб-интерфейсе можно выбрать формат диска:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-add-disk.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Выбор формата виртуального диска
</phrase>
</textobject>
</mediaobject>
<para>
Формат образа qcow2 (QEMU image format) — универсальный формат для выполнения
любых задач. Его преимущество в том, что файл с данными будет содержать только
реально занятое место внутри ВМ. Например, если было выделено 40&nbsp;ГБ места,
а реально было занято только 2&nbsp;ГБ, то все остальное место будет доступно для других ВМ.
По мере сохранения пользователем данных в этой ВМ, такой образ будет постепенно
увеличиваться в размере. Формат образа .qcow2 позволяет администратору превышать
обеспечение ВМ файлом образа диска .qcow2. В таких средах необходимо постоянно
наблюдать за доступным пространством хранения. Все операции ввода-вывода при
использовании этого формата программно обрабатываются, что влечет за собой
замедление при активной работе с дисковой подсистемой. Если стоит задача
развернуть на сервере базу данных, то лучше выбрать формат RAW. Создаваемые
из образа qcow2 резервные копии могут восстанавливаться только в NFS или локальный каталог.
</para>
<para>
Формат образа rawэто файл с данными жесткого диска «байт в байт» без сжатия или оптимизации.
Его главное преимущество состоит в производительности — это самый быстрый «тип» накопителя,
так как гипервизору не нужно его никак обрабатывать. Формат .raw может создавать
только файлы образов ВМ фиксированного размера с предварительным выделением (thick-provisioned).
Например, создаваемая ВМ с пространством хранения 50&nbsp;ГБ будет иметь файл образа 50&nbsp;ГБ.
При этом администратор точно знает, сколько пространства используется,
поэтому отсутствует возможность неуправляемого выхода за пределы хранения.
Формат образа .raw может восстанавливаться практически на любой тип системы хранения.
</para>
<para>
Формат образа vmdk (VMware image format) очень распространен в инфраструктуре
VMware. Он позволяет выполнить миграцию виртуальной машины VMware в инфраструктуру PVE.
</para>
</section>
<section>
<title>Управление образами виртуальных дисков</title>
<para>
Для управления образами виртуальных дисков ВМ необходимо выбрать нужную ВМ в меню
навигации и перейти на вкладку <guimenuitem>Оборудование</guimenuitem>
(<guimenuitem>Hardware</guimenuitem>). После выбора образа диска становятся доступными
все связанные меню, такие как <guibutton>Добавить</guibutton> (<guibutton>Add</guibutton>),
<guibutton>Удалить</guibutton> (<guibutton>Remove</guibutton>),
<guibutton>Редактировать</guibutton> (<guibutton>Edit</guibutton>),
<guibutton>Изменить размер диска</guibutton> (<guibutton>Resize disk</guibutton>),
<guibutton>Переместить диск</guibutton> (<guibutton>Move disk</guibutton>):
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-manage-disk.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Вкладка <guimenuitem>Оборудование</guimenuitem>
</phrase>
</textobject>
</mediaobject>
<section>
<title>Добавление виртуального диска в ВМ</title>
<para>
Для добавления образа виртуального диска к ВМ необходимо:
<orderedlist>
<listitem>
<para>
Перейти на вкладку <guilabel>Оборудование</guilabel> (<guilabel>Hardware</guilabel>);
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Добавить</guibutton> (<guibutton>Add</guibutton>)
и выбрать в выпадающем списке пункт <guimenuitem>Жесткий диск</guimenuitem>
(<guimenuitem>Hard Disk</guimenuitem>):
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-add-disk2.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Кнопка «Добавить» → «Жесткий диск»
</phrase>
</textobject>
</mediaobject>
</para>
</listitem>
<listitem>
<para>
После ввода необходимых значений нажать кнопку <guibutton>Добавить</guibutton>
(<guibutton>Add</guibutton>) для завершения добавления виртуального диска:
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-add-disk3.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Опции добавления жесткого диска
</phrase>
</textobject>
</mediaobject>
В примере добавляется образ виртуального диска объемом 32&nbsp;Гб в
виртуальную машину 102.
</para>
</listitem>
</orderedlist>
</para>
</section>
<section>
<title>Удаление образа виртуального диска</title>
<para>
Для удаления образа виртуального диска к ВМ необходимо:
<orderedlist>
<listitem>
<para>
Перейти на вкладку <guilabel>Оборудование</guilabel> (<guilabel>Hardware</guilabel>);
</para>
</listitem>
<listitem>
<para>
Выбрать образ диска ВМ;
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Отключить</guibutton> (<guibutton>Remove</guibutton>);
</para>
</listitem>
<listitem>
<para>
В окне подтверждения нажать кнопку <guibutton>Да</guibutton>
(<guibutton>Yes</guibutton>) для подтверждения действия. При этом виртуальный
диск будет отсоединен от ВМ, но не удален полностью. Он будет присутствовать
в списках как <guilabel>Неиспользуемый диск</guilabel>
(<guilabel>Unused Disk</guilabel>):
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-del-disk.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Неиспользуемый диск
</phrase>
</textobject>
</mediaobject>
</para>
</listitem>
</orderedlist>
</para>
<para>
Чтобы удалить образ диска окончательно, следует выбрать неиспользуемый
диск и нажать кнопку <guibutton>Удалить</guibutton> (<guibutton>Remove</guibutton>).
</para>
<para>
Если образ диска был отключен от ВМ по ошибке, можно повторно подключить
его к ВМ, выполнив следующие действия:
<orderedlist>
<listitem>
<para>
Выбрать неиспользуемый диск;
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Редактировать</guibutton> (<guibutton>Edit</guibutton>);
</para>
</listitem>
<listitem>
<para>
В открывшемся диалоговом окне изменить, если это необходимо, параметры
<guilabel>Шина/Устройство</guilabel>
(<guilabel>Bus/Device</guilabel>):
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-add-disk4.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Подключение неиспользуемого диска
</phrase>
</textobject>
</mediaobject>
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Добавить</guibutton> (<guibutton>Add</guibutton>)
для повторного подключения образа диска.
</para>
</listitem>
</orderedlist>
</para>
</section>
<section>
<title>Изменение размера диска</title>
<para>
Функция изменения размера поддерживает только увеличение размера
файла образа виртуального диска. При изменении размера образа виртуального
диска изменяется только размер файла образа виртуального диска.
После изменения размера файла, разделы жесткого диска должны быть изменены внутри самой ВМ.
</para>
<para>
Для изменения размера виртуального диска необходимо:
<orderedlist>
<listitem>
<para>
Перейти на вкладку <guilabel>Оборудование</guilabel> (<guilabel>Hardware</guilabel>);
</para>
</listitem>
<listitem>
<para>
Выбрать образ диска ВМ;
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Изменить размер диска</guibutton>
(<guibutton>Resize disk</guibutton>);
</para>
</listitem>
<listitem>
<para>
В открывшемся диалоговом окне в поле <guilabel>Увеличение размера (GiB)</guilabel>
ввести значение увеличения размера диска. Например, если размер
существующего диска составляет 20&nbsp;ГБ, следует ввести 10 для
изменения размера диска до 30&nbsp;ГБ:
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-resize-disk.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Изменение размера диска
</phrase>
</textobject>
</mediaobject>
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Изменить размер диска</guibutton>
(<guibutton>Resize Disk</guibutton>) для завершения изменения размера.
</para>
</listitem>
</orderedlist>
</para>
<para>
Команда изменения размера виртуального диска:
<screen>
# <command> qm resize &lt;vm_id&gt; &lt;virtual_disk&gt; +&lt;size&gt;G</command>
</screen>
</para>
</section>
<section>
<title>Перемещение диска на другое хранилище</title>
<para>
Образы виртуального диска могут перемещаться с одного хранилища на другое
в пределах одного кластера. Данные шаги выполнят задачу для перемещения образа диска:
<orderedlist>
<listitem>
<para>
Перейти на вкладку <guilabel>Оборудование</guilabel> (<guilabel>Hardware</guilabel>);
</para>
</listitem>
<listitem>
<para>
Выбрать образ перемещаемого виртуального диска;
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Переместить диск</guibutton>
(<guibutton>Move disk</guibutton>);
</para>
</listitem>
<listitem>
<para>
В открывшемся диалоговом окне выбрать в выпадающем меню
<guimenu>Целевое хранилище</guimenu>
(<guimenu>Target Storage</guimenu>) — хранилище-получатель,
место, куда будет перемещен образ виртуального диска:
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-move-disk.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Диалоговое окно перемещения диска
</phrase>
</textobject>
</mediaobject>
</para>
</listitem>
<listitem>
<para>
Выбрать в выпадающем меню <guimenu>Формат</guimenu>
(<guimenu>Format</guimenu>) образ диска, если это необходимо.
Этот параметр полезен для преобразования образов диска из одного
формата в другой;
</para>
</listitem>
<listitem>
<para>
Отметить, если это необходимо, пункт <guilabel>Удалить источник</guilabel>
(<guilabel>Delete source</guilabel>) для удаления образа диска
источника после его перемещения в новое хранилище;
</para>
</listitem>
<listitem>
<para>
Нажать кнопку <guibutton>Переместить диск</guibutton>
(<guibutton>Move disk</guibutton>) для запуска перемещения образа диска.
</para>
</listitem>
</orderedlist>
</para>
</section>
</section>
<section>
<title>Управление дисками в командной строке</title>
<para>
В комплект PVE входит утилита <command>qemu-img</command>.
<command>qemu-img</command> — утилита для манипулирования с образами дисков
машин QEMU. Она поддерживает несколько подкоманд:
<itemizedlist>
<listitem>
<para>
create
</para>
</listitem>
<listitem>
<para>
commit
</para>
</listitem>
<listitem>
<para>
convert
</para>
</listitem>
<listitem>
<para>
info
</para>
</listitem>
</itemizedlist>
</para>
<para>
Команда преобразования (конвертирования) vmdk-образа виртуального
накопителя VMware под названием test в формат qcow2:
<screen>
# <command>qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2</command>
</screen>
</para>
<para>
Создать образ test в формате RAW, размером 40&nbsp;ГБ:
<screen>
# <command>qemu-img create -f raw test.raw 40G</command>
</screen>
</para>
<para>
Изменение размера виртуального диска:
<screen>
# <command>qemu-img resize -f raw test.raw 80G</command>
</screen>
</para>
<para>
Просмотр информации об образе:
<screen>
# <command>qemu-img info test.raw</command>
</screen>
</para>
</section>
<section>
<title>Кэширование виртуального диска</title>
<para>
Параметр настройки кэширования доступен в диалоговом окне создания
или изменений текущего образа диска ВМ:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/pve-disk-cache.png" format="PNG" align="center"/>
</imageobject>
<textobject>
<phrase>
Выбор типа кэширования
</phrase>
</textobject>
</mediaobject>
<para>
Доступны следующие виды кэширования:
<itemizedlist>
<listitem>
<para>
<guimenuitem>Нет кэша</guimenuitem> (<guimenuitem>No cache</guimenuitem>) — опция
кэширования по умолчанию. При этой опции кэширования на уровне хоста не происходит,
однако гостевые ВМ выполняют кэширование отложенной записи. Диск такой ВМ
напрямую получает подтверждение от устройства хранения. В случае внезапного
отключения питания существует большой риск потери данных. Данный тип кэширования
представляет хорошее соотношение производительности и безопасности.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Write through</guimenuitem> (кэш сквозной записи) — использует
«host cache» для чтения. При этом типе кэширования подтверждение на
запись выдается только когда данные зафиксированы на устройстве хранения.
Writethrough выполняет <command>fsync</command> (синхронизация находящихся данных
в памяти с диском) для каждой записи. Это более безопасный режим кеширования,
так как возможность потери данных стремится к нулю, однако при этом более медленный.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Direct sync</guimenuitem> (прямая синхронизация) — хост не производит
никакого кэширования, т.е. читает всегда напрямую с блочного устройства
(это может быть RAID контроллер) и пишет в блочное устройства (это может
быть RAID контроллер) обязательно дожидаясь подтверждения записи.
Прямая синхронизация рекомендуется для ВМ, которые не отправляют запросы
на сброс при их необходимости. Это наиболее безопасный кэш, так как данные
не будут утрачены при отказе питания, однако он также и самый медленный.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Write back</guimenuitem> (отложенная запись) — хост выполняет и
кэширование чтения, и кэширование записи. Подтверждение на запись диском
ВМ выполняется как только данные зафиксированы в кэше хоста вне зависимости
от того были они зафиксированы в хранилище или нет. Самый быстрый тип хеширования,
но при потере питания пропадают все данные;
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Write back (не безопасно)</guimenuitem> (ненадежная отложенная
запись) — аналогично отложенной записи за исключением того, что все сбросы
данных полностью игнорируются со стороны гостевой ВМ. Это самый быстрый и
небезопасный тип кэширования. Он не должен применяться в промышленных кластерах.
Обычно этот кэш используется для ускорения установки ОС в ВМ. После установки
ОС этот кэш должен быть отключен и возвращен в другую более безопасную опцию.
</para>
</listitem>
</itemizedlist>
</para>
</section>
</section>
</chapter>