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

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

Описание

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

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

Серийный номер диска, который считывает ВМ, является первыми 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, затем выбрать опции I/O из раскрывающегося списка.
    13. Нажать на кнопку ОК.

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

Примечание

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


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

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

  • выключено — диск создается без предварительного выделения места на физическом носителе. Это означает, что пространство будет заниматься по мере записи данных, что ускоряет процесс создания диска, но может привести к фрагментации и снижению производительности.

  • falloc — создается файл заданного размера с предварительным выделением места, но без заполнения нулями. Этот метод обеспечивает быстрое выделение пространства и гарантирует, что место на диске будет доступно для использования, хотя само содержимое не стирается.

  • full — диск полностью выделяется на физическом носителе, и все блоки заполняются нулями. Это обеспечивает максимальную производительность, но требует больше времени на создание диска.

  • metadata — выделяются только метаданные диска (например, структура разделов), а физическое пространство резервируется позже по мере необходимости. Таким образом достигается оптимальное соотношение между скоростью создания диска и эффективностью использования пространства.

Примечания

  1. Выбор режима выделения места full на пуле данных типа GFS2 запрещен.
  2. Предварительное выделение места для диска, располагающегося на ZFS-пуле, имеет определенные ограничения в связи с особенностями файловой системы.

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


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

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

  1. Нажать кнопку Добавить существующий в разделе Диски окна подробного просмотра ВМ.

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

  3. Выбрать диск, подключаемый к ВМ.

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

  4. Выбрать из раскрывающегося списка тип шины диска.

  5. Выбрать из раскрывающегося списка тип кэширования чтения (записи).

  6. Включить или выключить Режим использования диска несколькими ВМ и Опции I/O (затем выбрать опции I/O).

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


Копирование

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


Перенос

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


Отключение

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


Скачивание

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


Проверка

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


Разрежение

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

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

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

Примечание

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

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

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

Ниже показан пример работы разрежения. Обратите внимание на изменения 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 в верхней части этого окна.

Настройка I/O
Параметр Описание
Общее количество байтов в секунду Общий предел пропускной способности в байтах в секунду. Значение не может быть задано вместе со значением Считывание байтов в секунду или Запись байтов в секунду.
Всего IOPS Общее количество операций ввода-вывода в секунду. Значение не может быть задано вместе со значением Считывание IOPS или Запись IOPS.
Считывание байтов в секунду Предел пропускной способности чтения в байтах в секунду.
Запись байтов в секунду Предел пропускной способности записи в байтах в секунду.
Считывание IOPS Количество операций чтения в секунду.
Запись IOPS Количество операций записи в секунду.
Общее количество байтов в секунду (max) Общий предел пропускной способности в период высокой загрузки в байтах в секунду. Значение не может быть задано вместе со значением Считывание байтов в секунду (max) или Запись байтов в секунду (max).
Считывание байтов в секунду (max) Предел пропускной способности чтения в период высокой загрузки в байтах в секунду.
Запись байтов в секунду (max) Предел пропускной способности записи в период высокой загрузки в байтах в секунду.
Всего IOPS (max) Общее количество операций ввода-вывода в период высокой загрузки в секунду. Значение не может быть задано вместе со значением Считывание IOPS (max) или Запись IOPS (max).
Считывание IOPS (max) Количество операций чтения в период высокой загрузки в секунду.
Запись IOPS (max) Количество операций записи в период высокой загрузки в секунду.
Величина IOPS Размер операций ввода-вывода в секунду.
Общее количество байтов в секунду (max length) Продолжительность в секундах для периода высокой загрузки (Общее количество байтов в секунду (max)). Действителен только при установленном параметре Общее количество байтов в секунду (max).
Считывание байтов в секунду (max length) Продолжительность в секундах для периода высокой загрузки (Считывание байтов в секунду (max)). Действителен только при установленном параметре Считывание байтов в секунду (max).
Запись байтов в секунду (max length) Продолжительность в секундах для периода высокой загрузки (Запись байтов в секунду (max)). Действителен только при установленном параметре Запись байтов в секунду (max).
Всего IOPS (max length) Продолжительность в секундах для периода высокой загрузки (Всего IOPS (max)). Действителен только при установленном параметре Всего IOPS (max).
Запись IOPS (max_length) Продолжительность в секундах для периода высокой загрузки (Запись IOPS (max)). Действителен только при установленном параметре Запись IOPS (max).
Считывание IOPS (max length) Продолжительность в секундах для периода высокой загрузки (Считывание IOPS (max)). Действителен только при установленном параметре Считывание IOPS (max).

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

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


Удаление

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


Информация

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

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

  • Название.

  • Описание.

  • Подключение к ВМ.

  • Пул данных.

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

  • Расположение.

  • Тип шины.

  • SSD-эмуляция.

  • Тип кэширования.

  • Опции I/O.

  • Тип драйвера.

  • Устройство dev.

  • Доступность только чтения ВМ.

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

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

  • Дата и время изменения.

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

  • Включение или выключение опции Только непрочитанные.


Расширение

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

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

Примечание

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

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

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


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

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

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


SSD-эмуляция

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

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

Пример с выключенной эмуляцией SSD

image


Опции I/O

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

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