Перейти к содержанию

Операции с виртуальными дисками

Описание

Виртуальные диски — основные средства хранения данных ВМ. При этом это самостоятельный объект системы.

Серийный номер

Серийный номер диска, который увидит ВМ, является первыми 20 символами id диска из базы данных контроллера.


Создание

Имеется две возможности:

  1. Создание нового несвязанного виртуального диска.

    Процесс создания нового несвязанного виртуального диска.
    1. Перейти на вкладку Хранилища - Пулы данных.
    2. Выбрать пул данных, на котором будет размещен диск.
    3. В окне выбранного пула данных перейти на вкладку Диски.
    4. Нажать на кнопку Создать.
    5. Указать название создаваемого диска.
    6. Указать описание создаваемого диска.
    7. Определить необходимость предварительного выделения места.
    8. Указать размер виртуального диска.
    9. Нажать на кнопку Создать.

  2. Создание нового связанного с ВМ виртуального диска.

    Процесс создания нового связанного с ВМ виртуального диска.
    1. Перейти на вкладку Виртуальные машины.
    2. Выбрать ВМ, к которой будет прикреплен создаваемый диск.
    3. В окне выбранной ВМ перейти на вкладку Диски.
    4. Нажать на кнопку Создать новый.
    5. Выбрать из раскрывающегося списка пул данных, на котором будет создан диск.
    6. Указать название создаваемого диска.
    7. Указать описание создаваемого диска.
    8. Определить необходимость предварительного выделения места.
    9. Указать размер виртуального диска.
    10. Выбрать из раскрывающегося списка тип шины диска (по умолчанию: virtio).
    11. Выбрать из раскрывающегося списка тип кэширования чтения/записи.
    12. Выбрать необходимую опцию I/O.
    13. Нажать на кнопку ОК.

Примечание

Для обеспечения корректного переноса ВМ необходимо отключить кэширование (установить тип: none) и выбрать шину virtio.

Предварительное выделение места для диска на ZFS

Предварительное выделение места для диска, располагающегося на ZFS-пуле, недоступно в связи с особенностями файловой системы.

Поддерживается создание на общем/разделяемом хранилище.


Предварительное выделение места

При включении опции предварительного выделения места оно будет выделено режимом falloc.

Если опция не включена, то используется режим off.

Возможные режимы: off, metadata, falloc, full.

Статья с описанием производительности выделения места методом falloc.


Подключение диска

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

  1. нажать кнопку Добавить существующий;

  2. выбрать из раскрывающегося списка пул размещения;

  3. выбрать диск, подключаемый к ВМ. Если в списке нет доступных для подключения дисков, значит необходимо создать новый, так как в выбранном пуле данных нет свободных дисков. Создание нового виртуального диска описано выше;

  4. выбрать из раскрывающегося списка тип шины диска, тип кэширования чтения (записи) и опции I/O. Если в раскрывающемся списке Выбрать виртуальный диск нет ни одного диска, значит в этом хранилище нет свободных дисков. Подключенные к ВМ диски в списке также не отображаются. В такой ситуации необходимо создать новый диск;

  5. для сохранения изменений необходимо нажать кнопку Добавить;


Копирование

Скопировать диск в другой пул данных можно в окне информации о состоянии диска с помощью кнопки Копировать в верхней части этого окна.


Перенос

Перенести диск на другой пул данных можно в окне информации о состоянии диска с помощью кнопки Перенос диска в верхней части этого окна.

Перенести данные диска на LUN можно в окне информации о состоянии диска с помощью кнопки Перенос диска в верхней части этого окна c выбором нужного LUN.


Скачивание

Скачать диск на устройство можно в окне информации о состоянии диска с помощью кнопки Скачать в верхней части этого окна.


Проверка

Проверить диск (с возможностью починки) можно в окне информации о состоянии диска с помощью кнопки Проверка диска в верхней части этого окна. Операция доступна только для дисков, находящимся на файловых пулах данных.


Разрежение

Разрежение (уменьшение размера диска) диска возможно с помощью кнопки Разрежение в верхней части этого окна. Операция доступна только для дисков, находящимся на файловых пулах данных. Если диск примонтирован к ВМ, то она должна быть выключена.

Разрежение может сделать диск виртуальной машины (или любой образ диска) разреженным, т. е. тонким. Это означает, что свободное пространство в диске может быть преобразовано обратно в свободное пространство на узле.

Операция разрежения может находить и разрежать свободное пространство в большинстве файловых систем (например, ext2, ext3, ext4, btrfs, NTFS и т. д.), а также в физических томах LVM.

Примечание

Разрежение действует только на дисках, содержащих файловые системы.

Пример
Если создать qcow2 файл с предварительным распределением места, а затем сразу применить на нём разрежение, то уменьшения занимаемого файлом места не произойдёт.
Если предварительно создать раздел, файловую систему на нём, а лишь затем применить разрежение, то занимаемое файлом место уменьшится.

Ниже показан пример работы разрежения. Обратите внимание на изменения disk size.

Пример работы разряжения
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./
Filesystem                               Size  Used Avail Use% Mounted on
/dev/mapper/sys_vg01-local_storage   15G  2.6G   12G  19% /storages/local
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
file format: qcow2
virtual size: 15 GiB (16106127360 bytes)
disk size: 2.5 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-nbd -c /dev/nbd0 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# mount /dev/nbd0p1 ./1/
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# dd if=/dev/urandom of=./1/tmp.img bs=1M count=2024
2024+0 records in
2024+0 records out
2122317824 bytes (2.1 GB, 2.0 GiB) copied, 95.7747 s, 22.2 MB/s
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# sync
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# umount ./1
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./
Filesystem                               Size  Used Avail Use% Mounted on
/dev/mapper/sys_vg01-local_storage   15G  4.6G  9.4G  33% /storages/local
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
file format: qcow2
virtual size: 15 GiB (16106127360 bytes)
disk size: 4.47 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# virt-sparsify --format qcow2 --in-place 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
[   3.0] Trimming /dev/sda1
[   3.8] Sparsify in-place operation completed with no errors
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# sync
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# rm ./1/tmp.img
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# umount ./1
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./
Filesystem                               Size  Used Avail Use% Mounted on
/dev/mapper/sys_vg01-local_storage   15G  4.6G  9.4G  33% /storages/local
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
file format: qcow2
virtual size: 15 GiB (16106127360 bytes)
disk size: 4.47 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# virt-sparsify --format qcow2 --in-place 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
[   2.8] Trimming /dev/sda1
[   3.9] Sparsify in-place operation completed with no errors
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./
Filesystem                               Size  Used Avail Use% Mounted on
/dev/mapper/sys_vg01-local_storage   15G  2.6G   12G  19% /storages/local
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2
file format: qcow2
virtual size: 15 GiB (16106127360 bytes)
disk size: 2.49 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

Настройка I/O

Настроить I/O диска можно в окне информации о состоянии диска с помощью кнопки Настройки I/O в верхней части этого окна.

Параметр Описание
total_bytes_sec Общий предел пропускной способности в байтах в секунду. Не может использоваться с read_bytes_sec или write_bytes_sec.
read_bytes_sec Предел пропускной способности чтения в байтах в секунду.
write_bytes_sec Предел пропускной способности записи в байтах в секунду.
total_iops_sec Общее количество операций ввода-вывода в секунду. Не может использоваться с read_iops_sec или write_iops_sec.
read_iops_sec Количество операций чтения в секунду.
write_iops_sec Количество операций записи в секунду.
total_bytes_sec_max Общий предел пропускной способности в период высокой загрузки в байтах в секунду. Не может использоваться с read_bytes_sec_max или write_bytes_sec_max.
read_bytes_sec_max Предел пропускной способности чтения в период высокой загрузки в байтах в секунду.
write_bytes_sec_max Предел пропускной способности записи в период высокой загрузки в байтах в секунду.
total_iops_sec_max Общее количество операций ввода-вывода в период высокой загрузки в секунду. Не может использоваться с read_iops_sec_max или write_iops_sec_max.
read_iops_sec_max Количество операций чтения в период высокой загрузки в секунду.
write_iops_sec_max Количество операций записи в период высокой загрузки в секунду.
size_iops_sec Размер операций ввода-вывода в секунду.
total_bytes_sec_max_length Продолжительность в секундах для периода высокой загрузки total_bytes_sec_max. Действителен только при установленном параметре total_bytes_sec_max.
read_bytes_sec_max_length Продолжительность в секундах для периода высокой загрузки read_bytes_sec_max. Действителен только при установленном параметре read_bytes_sec_max.
write_bytes_sec_max_length Продолжительность в секундах для периода высокой загрузки write_bytes_sec_max. Действителен только при установленном параметре write_bytes_sec_max.
total_iops_sec_max_length Продолжительность в секундах для периода высокой загрузки total_iops_sec_max. Действителен только при установленном параметре total_iops_sec_max.
read_iops_sec_max_length Продолжительность в секундах для периода высокой загрузки read_iops_sec_max. Действителен только при установленном параметре read_iops_sec_max.
write_iops_sec_max_length Продолжительность в секундах для периода высокой загрузки write_iops_sec_max. Действителен только при установленном параметре write_iops_sec_max.

Конвертирование

Конвертирование виртуального диска в форматы vmdk (ESXI), vhd (HyperV), vdi (VirtualBox) можно в окне информации с помощью кнопки Конвертировать в верхней части этого окна.


Удаление

Удалить диск можно вместе с удаляемой ВМ или в окне информации о состоянии диска с помощью кнопки Удалить.


Информация

Также в окне состояния виртуального диска содержится следующая информация:

  • виджет используемого места с возможностью обновления;

  • название (редактируемый параметр);

  • описание (редактируемый параметр);

  • подключение к ВМ;

  • пул данных;

  • виртуальная машина;

  • размер виртуального диска с возможностью увеличения по кнопке image;

  • расположение;

  • тип шины;

  • SSD эмуляция;

  • тип кэширования;

  • тип драйвера;

  • имя назначения;

  • доступность только чтения ВМ (readonly, редактируемый параметр);

  • дата и время создания;

  • сообщения о работе виртуального диска с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.


Расширение

Размер виртуального диска с возможностью увеличения по кнопке image.

Если диск уже подключен к ВМ и она включена, то после расширения необходимо использовать средства управления дисками внутри ВМ для использования нового места на устройстве.

Примечание

Рекомендуется использовать шину диска virtio вкупе с установленными драйверами в ВМ.

Перед расширением виртуального диска необходимо учитывать количество физического места, которое должно соответствовать размеру уже имеющегося диска и места для расширения.

Например, виртуальный диск 12Гб, необходимо расширить диск до 15Гб. Физически необходимо 15Гб доступных на пуле данных для расширения. После завершения задачи расширения служебное пространство освободится.


Режим мультииспользования диска несколькими ВМ

Требования: Блочные пулы данных (lvm, thin_lvm, shared_lvm).

При добавлении диска необходимо в расширенных опциях включить опцию "Режим мульти использования диска несколькими ВМ". Кластерная файловая система с блокировками обеспечивается ПО внутри ВМ (например, в Windows Server 2019).


SSD эмуляция

Требования: Тип шины любой, кроме virtio.

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

image


Опции I/O

Варианты: io_uring, threads, native.

Для пулов данных типа директория по умолчанию ставится тип io_uring, для блочных типов threads.