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

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

1. Общие сведения о хранилище виртуальной машины

zVirt поддерживает следующие типы хранилищ:

  • Network File System (NFS)

  • GlusterFS

  • других файловых систем, совместимых с POSIX

  • iSCSI

  • локального хранилища, подключенного непосредственно к хостам виртуализации

  • протокола оптоволоконного канала (Fibre Channel Protocol, FCP)

  • параллельной NFS (pNFS)

В каждом из этих типов хранилища хост, называемый Менеджером пула хранения (Storage Pool Manager, SPM), управляет операциями доступа между хостами и хранилищем. Хост SPM - это единственный узел, имеющий права полного доступа в пуле хранения. SPM может изменять метаданные домена хранения и метаданные пула. Все другие хосты могут только получать доступ к данным образа жесткого диска виртуальной машины.

По умолчанию в NFS, локальном или POSIX-совместимом центре данных SPM создает виртуальный диск, используя формат с динамическим выделением пространства, в виде файла в файловой системе.

В центрах данных с хранилищами iSCSI и другими блочными хранилищами SPM создает группу томов поверх предоставленных LUN и формирует логические тома для использования в качестве виртуальных дисков. Виртуальные диски в блочном хранилище являются по умолчанию дисками с предварительно выделенным пространством.

Если виртуальному диску предварительно выделено дисковое пространство, то создается логический том указанного размера в гигабайтах. Виртуальную машину можно смонтировать на сервере Linux, используя команды kpartx,vgscan, vgchange или mount для исследования процессов или проблем на виртуальной машине.

При использовании виртуального диска с динамическим выделением пространства создается логический том размером 1 ГБ. Хост, на котором запущена виртуальная машина, непрерывно ведет мониторинг логического тома. Как только использование приблизится к пороговому значению, хост оповестит SPM, и SPM увеличит размер логического тома на 1 ГБ. Хост отвечает за возобновление работы виртуальной машины после увеличения размера логического тома. Если виртуальная машина перейдет в состояние приостановки работы, то это будет означать, что SPM не смог вовремя увеличить размер диска. Это происходит, когда SPM слишком занят или когда в хранилище недостаточно дискового пространства.

Виртуальный диск формата raw (с предварительно выделенным пространством) обеспечивает намного более быструю запись, чем виртуальный диск формата QCOW2 (с динамическим выделением пространства). Создание виртуального диска с динамическим выделением пространства занимает гораздо меньше времени. Формат с динамическим выделением пространства подходит для виртуальных машин с не интенсивным потоком операций ввода-вывода. Формат с предварительно выделенным пространством рекомендуется для виртуальных машин с большим количеством операций записи при вводе-выводе. Если виртуальная машина способна записывать более 1 ГБ каждые четыре секунды, то по возможности используйте диски с предварительно выделенным пространством.

2. Общие сведения о виртуальных дисках

zVirt предусматривает хранилища двух типов: С предварительно размеченным пространством (Preallocated) (thick provisioned) и Динамически расширяемый (Sparse) (thin provisioned).

  • С предварительно размеченным пространством

    В этом случае виртуальному диску заранее выделяется целиком все хранилище, необходимое для виртуальной машины. Например, логический том с предварительно размеченным пространством 20 ГБ, создаваемый для раздела данных виртуальной машины, сразу после создания займет 20 ГБ на диске.

  • Динамически расширяемый

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

    Например, сразу после создания динамически расширяемый логический том размером 20 ГБ будет занимать 0 ГБ дискового пространства. Когда операционная система установлена, она может занять размер установленных файлов и по мере добавления данных продолжит увеличиваться до максимального размера 20 ГБ.

Чтобы просмотреть идентификатор ID виртуального диска, выберите Хранилище (Storage)  Диски (Disks). ID используется для идентификации виртуального диска, так как имя его устройства (например, /dev/vda0) может измениться, что приведет к повреждению диска. Идентификатор виртуального диска также можно просмотреть в /dev/disk/by-id.

Можно просмотреть Виртуальный размер (Virtual Size) диска, выбрав Хранилище (Storage)  Диски (Disks), а также на вкладке Диски (Disks) в подробном представлении доменов хранения, виртуальных машин и шаблонов.

Виртуальный размер (Virtual Size) - это общий объем дискового пространства, который может использовать виртуальная машина. Это число, которое вы вводите в поле Размер (ГБ) (Size (GB)) при создании или изменении виртуального диска.

Актуальный размер (Actual Size) диска можно просмотреть на вкладке Диски (Disks) в подробном представлении доменов хранения и шаблонов. Это объем дискового пространства, выделенный сейчас виртуальной машине. У дисков с предварительно размеченным пространством значения параметров Виртуальный размер (Virtual Size) и Актуальный размер (Actual Size) одинаковы. У динамически расширяемых дисков значения этих параметров могут быть разными в зависимости от размера выделенного дискового пространства.

Возможные комбинации типов и форматов хранилища указаны в следующей таблице.

Таблица 1. Допустимые комбинации типов и форматов хранилища
Хранилище Формат Тип Примечание

NFS

Raw

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

Неформатированный файл, изначальный размер которого равен размеру пространства, заданного для виртуального диска.

NFS

Raw

Динамически расширяемый

Неформатированный файл с изначальным размером, близким к нулю.

NFS

QCOW2

Динамически расширяемый

Файл формата QCOW2 с изначальным размером, близким к нулю. Последующие уровни будут отформатированы в формате QCOW2.

SAN

Raw

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

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

SAN

QCOW2

Динамически расширяемый

Блочное устройство формата QCOW2, изначальный размер которого намного меньше размера, заданного для виртуального диска (сейчас - 1 ГБ) и которому дисковое пространство выделяется по мере необходимости (сейчас - с шагом 1 ГБ).

3. Возможные состояния виртуальных дисков

Таблица 2. Возможные состояния виртуальных дисков

Состояние

Описание

Причины перехода в данное состояние

Недопустимый (Illegal)

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

Повреждение диска, или ошибка файловой системы, или проблемы с разрешением доступа, или некорректные метаданные диска

Заблокирован (Locked)

Диск используется системой и в данный момент недоступен для виртуальных машин

Диск находится в процессе записи, создания снимка (snapshot), миграции или другой операции обслуживания

OK

Статус диска нормальный, и он доступен для использования виртуальной машиной

Диск успешно создан, отмонтирован и готов к использованию. Нет ошибок и блокировок

4. Настройки для очистки виртуальных дисков после удаления

Если поставить флаг wipe_after_delete, который на Портале администрирования отображается как Очистить после удаления (Wipe After Delete), то при удалении виртуального диска используемые данные будут заменены нулями. Если для него установлено значение false (это значение по умолчанию), то при удалении диска эти блоки будут доступны для повторного использования, но данные не будут стерты. Поэтому эти данные можно будет восстановить, так как блоки не были обнулены.

Флаг wipe_after_delete работает только с блочным хранилищем. В файловом хранилище, например, NFS, этот параметр бесполезен, так как файловая система гарантирует отсутствие данных.

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

Функция очистки после удаления - не то же самое, что безопасное удаление, и не может гарантировать удаление данных из хранилища. Просто новые диски, созданные в том же хранилище, не будут показывать данные со старых дисков.

В процессе настройки значение по умолчанию для флага wipe_after_delete можно изменить на true (см. раздел Развертывание менеджера управления в архитектуре Standalone) или с помощью инструмента engine-config в Менеджере управления. Чтобы изменение настроек вступило в силу, перезапустите службу ovirt-engine.

Изменение значения по умолчанию для флага wipe_after_delete не повлияет на свойство Очистить после удаления (Wipe After Delete) уже существующих дисков.

Установка для параметра SANWipeAfterDelete значения по умолчанию True с помощью утилиты Engine Configuration Tool

  1. Запустите утилиту engine-config, задав следующее действие --set:

    engine-config --set SANWipeAfterDelete=true
  2. Перезапустите службу ovirt-engine, чтобы изменения вступили в силу:

    systemctl restart ovirt-engine.service

Можно просмотреть хранящийся на хосте файл /var/log/vdsm/vdsm.log, чтобы убедиться, что виртуальный диск был успешно очищен и удален.

В случае успешной очистки файл журнала будет содержать запись storage_domain_id/volume_id was zeroed and will be deleted. Например:

a9cb0625-d5dc-49ab-8ad1-72722e82b0bf/a49351a7-15d8-4932-8d67-512a369f9d61 was zeroed and will be deleted

В случае успешного удаления файл журнала будет содержать запись finished with VG:storage_domain_id LVs: list_of_volume_ids, img: image_id. Например:

finished with VG:a9cb0625-d5dc-49ab-8ad1-72722e82b0bf LVs: {'a49351a7-15d8-4932-8d67-512a369f9d61':
ImgsPar(imgs=['11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d'], parent='00000000-0000-0000-0000-000000000000')}, img: 11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d

В случае неудачной попытки очистки будет показано сообщение журнала zeroing storage_domain_id/volume_id failed. Zero and remove this volume manually. В случае неудачной попытки удаления будет показано сообщение Remove failed for some of VG: storage_domain_id zeroed volumes: list_of_volume_ids.

5. Общие диски в zVirt

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

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

Нельзя сделать снимок общего диска. Для виртуальных дисков, с которых сделаны снимки, нельзя будет впоследствии установить метку Может быть общим (Shareable).

Для диска можно установить метку Может быть общим (Shareable) либо при его создании, либо позже при его изменении.

6. Диски "только для чтения (Read Only)" в zVirt

Некоторые приложения требуют, чтобы администраторы открывали общий доступ к данным только для чтения. Это можно сделать при создании или изменении диска, подключенного к виртуальной машине: откройте вкладку Диски (Disks) в подробном представлении виртуальной машины и установите флажок Только для чтения (Read Only). Таким образом несколько гостевых машин, учитывающих особенности кластера, могут читать один и тот же диск, при этом администратор сохраняет за собой права на запись.

Статус диска "только для чтения" нельзя изменить во время работы виртуальной машины.

Для монтирования журналируемой файловой системы требуется доступ с правами на чтение и запись. Использование параметра Только для чтения (Read Only) не подходит для виртуальных дисков, содержащих файловые системы EXT3, EXT4 или XFS.

7. Задачи, относящиеся к виртуальному диску

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

Созданием диска типа Образ (Image) полностью управляет Менеджер управления. Для дисков Прямой LUN (Direct LUN) требуются уже существующие таргеты, подготовленные извне. Можно создать виртуальный диск, подключенный к конкретной виртуальной машине. Дополнительные параметры доступны при создании подключенного виртуального диска, как указано в разделе Описание настроек в окне "Новый диск (New Virtual Disk)".

Создание виртуального диска, подключенного к виртуальной машине
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines).

  2. Нажмите имя виртуальной машины. Откроется подробное представление.

  3. Откройте вкладку Диски (Disks).

  4. Нажмите Новый (New).

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

  6. Выберите параметры, необходимые для виртуального диска. Параметры меняются в зависимости от выбранного типа диска. Подробное описание каждого параметра для каждого типа диска см. в разделе Описание настроек в окне "Новый диск (New Virtual Disk)".

  7. Нажмите OK.

Можно также создать плавающий виртуальный диск, не принадлежащий ни одной виртуальной машине. Этот диск можно подключить к одной или к нескольким виртуальным машинам, если его можно сделать общим. При создании виртуального диска недоступны некоторые параметры, указанные в разделе Описание настроек в окне "Новый диск (New Virtual Disk)".

Создание плавающего виртуального диска
  1. Нажмите Хранилище (Storage)  Диски (Disks).

  2. Нажмите Новый (New).

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

  4. Выберите параметры, необходимые для виртуального диска. Параметры меняются в зависимости от выбранного типа диска. Подробное описание каждого параметра для каждого типа диска см. в разделе Описание настроек в окне "Новый диск (New Virtual Disk)".

  5. Нажмите OK.

Создание диска типа Прямой LUN (Direct LUN)
  1. Запустите процесс создания плавающего или подключенного диска.

  2. Выберите тип диска Прямой LUN.

  3. Заполните поля в разделе Обнаружение целей (Discover Targets) и нажмите Обнаружение (Discover), чтобы обнаружить целевой сервер.

  4. Нажмите Войти везде (Login All), чтобы просмотреть список доступных LUN на целевом сервере.

    rdm add
  5. Выберите LUN, который необходимо добавить и нажмите OK.

    В zVirt версии 4.2 с установленным обновлением №3 и в более новых версиях в списке по умолчанию отображаются только свободные LUN.

    Для фильтрации используемых LUN активируйте опцию Скрыть используемые LUN’ы.

Использование Прямого LUN (Direct LUN) в качестве образов жестких дисков виртуальных машин устраняет слой абстракции между виртуальными машинами и их данными.

При использовании дисков типа Прямой LUN (Direct LUN) в качестве образа жесткого диска виртуальной машины нужно учитывать следующее:

  • Миграция хранилища в реальном времени не поддерживается для образов жестких дисков на дисках типа Прямой LUN (Direct LUN).

  • Диски типа Прямой LUN (Direct LUN) не включаются в экспорт виртуальных машин.

  • Диски типа Прямой LUN (Direct LUN) не включаются в моментальные снимки виртуальных машин.

7.2. Описание настроек в окне "Новый диск (New Virtual Disk)"

Поскольку окна "Новый диск (New Virtual Disk)" для создания плавающих и подключенных виртуальных дисков очень похожи, их настройки описываются в одном разделе.

Таблица 3. Настройки в окнах "Новый диск (New Virtual Disk)" и "Изменить диск (Edit Virtual Disk)": Образ (Image)
Имя поля Описание

Размер (GiB) (Size (GB))

Размер нового виртуального диска в ГБ.

Имя (Alias)

Имя виртуального диска (не более 40 знаков).

Описание (Description)

Описание виртуального диска. Это поле является рекомендованным, но не обязательным.

Интерфейс (Interface)

Это поле появляется только при создании подключенного диска.

Виртуальный интерфейс, который диск представляет виртуальным машинам. VirtIO обеспечивает более высокую скорость, но для него требуются драйверы. В Linux, как правило, эти драйверы уже есть. В Windows этих драйверов нет, но их можно установить из ISO-образа virtio-win. Для устройств IDE и SATA никаких особых драйверов не требуется.

Тип интерфейса можно обновить после остановки всех виртуальных машин, к которым подключен диск.

Центр данных (Data Center)

Это поле появляется только при создании плавающего диска.

Центр данных, в котором будет доступен виртуальный диск.

Домен хранения (Storage Domain)

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

Политика выделения (Allocation Policy)

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

  • Предварительно размеченный (Preallocated): при создании виртуального диска ему выделяется все пространство диска в домене хранения. У диска с предварительно размеченным пространством виртуальный размер и актуальный размер совпадают. Создание виртуальных дисков с предварительно размеченным пространством занимает больше времени, чем создание виртуальных дисков с динамическим выделением пространства, но они обеспечивают более высокую скорость операций чтения и записи. Виртуальные диски с предварительно размеченным пространством рекомендуются для серверов и других виртуальных машин с интенсивным потоком операций ввода-вывода. Если виртуальная машина способна записывать более 1 ГБ каждые четыре секунды, то по возможности используйте диски с предварительно размеченным пространством.

  • Динамически расширяемый (Thin Provision): при создании виртуального диска ему выделяется 1 ГБ и устанавливается максимально допустимый размер, до которого может увеличиваться его емкость. Виртуальный размер диска равен максимально допустимому размеру; актуальный размер диска - это пространство, выделенное по состоянию на сейчас. Диски с динамическим выделением пространства создаются быстрее, чем диски с предварительно размеченным пространством, и допускают избыточное выделение ресурсов хранилища. Виртуальные диски с динамическим выделением пространства рекомендуются для рабочих станций.

Профиль диска (Disk Profile)

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

Включение дисков (Activate Disk(s))

Это поле появляется только при создании подключенного диска.

Активирует виртуальный диск сразу после создания.

Очистить после удаления (Wipe After Delete)

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

Загрузочный (Bootable)

Это поле появляется только при создании подключенного диска.

Позволяет пометить виртуальный диск флагом "Загрузочный (Bootable)".

Может быть общим (Shareable)

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

Только для чтения (Read-Only)

Это поле появляется только при создании подключенного диска.

Позволяет для диска установить атрибут "только для чтения". Один и тот же диск можно подключить к одной виртуальной машине как доступный только для чтения, а к другой - как перезаписываемый.

Включить инкрементное резервное копирование (Enable Incremental Backup)

Включает инкрементное резервное копирование на виртуальный диск. Для инкрементного резервного копирования необходимо, чтобы диски были отформатированы в формате QCOW2, а не в формате RAW. См. раздел Резервное копирование и восстановление виртуальных машин с помощью API инкрементного резервного копирования и восстановления в руководстве по резервному копированию ВМ.

Включить Discard (Enable Discard)

Это поле появляется только при создании подключенного диска.

Позволяет уменьшать размер диска с динамическим выделением пространства во время работы виртуальной машины. Для блочного хранилища базовое устройство хранения должно поддерживать вызовы функции discard, и этот параметр нельзя использовать с параметром Очистить после удаления (Wipe After Delete), если базовое хранилище не поддерживает свойство discard_zeroes_data. Для хранилища файлов базовая файловая система и блочное устройство должны поддерживать вызовы функции discard. Если все требования удовлетворены, то QEMU передает команды SCSI UNMAP с гостевых виртуальных машин в базовое хранилище для высвобождения неиспользуемого пространства.

При просмотре настроек Прямого LUN (Direct LUN), можно выбрать способ отображения ассоциированных LUN:

  • Цели (Targets) > LUNs: доступные LUN будут отсортированы в соответствии с хостом, на котором они обнаружены

    rdm target lun
  • LUNs > Цели (Targets): отображается общий список доступных LUN

    rdm lun target
Таблица 4. Настройки в окнах "Новый диск (New Virtual Disk) и "Изменить диск (Edit Virtual Disk)": Прямой LUN (Direct LUN)
Имя поля Описание

Имя (Alias)

Имя виртуального диска (не более 40 знаков).

Описание (Description)

Описание виртуального диска. Это поле является рекомендованным, но не обязательным. По умолчанию в это поле вставляются последние 4 знака идентификатора LUN ID.

Действие по умолчанию можно настроить, установив для ключа конфигурации PopulateDirectLUNDiskDescriptionWithLUNId соответствующее значение с помощью команды engine-config. Для ключа конфигурации можно установить значение -1, чтобы использовать полный LUN ID, или значение 0, чтобы игнорировать эту функцию. Если задать положительное целое число, то описание будет заполнено соответствующим количеством знаков LUN ID.

Интерфейс (Interface)

Это поле появляется только при создании подключенного диска.

Виртуальный интерфейс, который диск представляет виртуальным машинам. VirtIO обеспечивает более высокую скорость, но для него требуются драйверы. В Linux, как правило, эти драйверы уже есть. В Windows этих драйверов нет, но их можно установить из ISO-образа virtio-win. Для устройств IDE и SATA никаких особых драйверов не требуется.

Тип интерфейса можно обновить после остановки всех виртуальных машин, к которым подключен диск.

Центр данных (Data Center)

Это поле появляется только при создании плавающего диска.

Центр данных, в котором будет доступен виртуальный диск.

Хост (Host)

Хост, на который будет смонтирован LUN. Можно выбрать любой хост в центре данных.

Тип хранилища (Storage Type)

Тип внешнего LUN для добавления. Можно выбрать либо iSCSI, либо Fibre Channel.

Обнаружение целей (Discover Targets)

Этот раздел можно развернуть, когда используются внешние LUN iSCSI и выбрана панель Цели (Targets) > LUNs.

Адрес (Address) - имя хоста или IP-адрес целевого сервера.

Порт (Port) - порт, через который нужно попытаться подключиться к целевому серверу. Порт по умолчанию - 3260.

Аутентификация пользователя (User Authentication) - для сервера iSCSI требуется аутентификации пользователя. Поле Аутентификация пользователя (User Authentication) отображается при использовании внешних iSCSI LUN.

Имя пользователя CHAP (CHAP user name) - имя пользователя, которому разрешен вход в LUN. Это поле доступно, если установлен флажок Аутентификация пользователя (User Authentication).

Пароль CHAP (CHAP password) - пароль пользователя, которому разрешен вход в LUN. Это поле доступно, если установлен флажок Аутентификация пользователя (User Authentication).

Включение дисков (Activate Disk(s))

Это поле появляется только при создании подключенного диска.

Активирует виртуальный диск сразу после создания.

Загрузочный (Bootable)

Это поле появляется только при создании подключенного диска.

Позволяет пометить виртуальный диск флажком "Загрузочный (Bootable)".

Может быть общим (Shareable)

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

Только для чтения (Read-Only)

Это поле появляется только при создании подключенного диска.

Позволяет для диска установить атрибут "только для чтения". Один и тот же диск можно подключить к одной виртуальной машине как доступный только для чтения, а к другой - как перезаписываемый.

Включить Discard (Enable Discard)

Это поле появляется только при создании подключенного диска.

Позволяет уменьшать размер диска с динамическим выделением пространства во время работы виртуальной машины. Если этот параметр включен, то QEMU передает команды SCSI UNMAP с гостевых виртуальных машин в базовое хранилище для высвобождения неиспользуемого пространства.

Включить интерфейс SCSI (Enable SCSI Pass-Through)

Это поле появляется только при создании подключенного диска.

Доступно, когда для параметра Интерфейс (Interface) установлено значение VirtIO-SCSI. Установка этого флажка включает сквозной доступ с физического устройства SCSI на виртуальный диск. Интерфейс VirtIO-SCSI с включенным сквозным доступом SCSI автоматически включает поддержку функции discard для SCSI. Только для чтения (Read-Only) не поддерживается, когда установлен этот флажок.

Если этот флажок не установлен, то виртуальный диск использует эмулируемое устройство SCSI. Только для чтения (Read-Only) поддерживается на эмулируемых дисках VirtIO-SCSI.

Разрешить привилегированный ввод-вывод SCSI (Allow Privileged SCSI I/O)

Это поле появляется только при создании подключенного диска.

Доступно, если установлен флажок Включить интерфейс SCSI (Enable SCSI Pass-Through). Установка этого флажка включает нефильтруемый доступ SCSI Generic I/O (SG_IO) и разрешает использование привилегированных команд SG_IO на диске. Это необходимо для постоянных резервирований.

Используется резервирование SCSI (Using SCSI Reservation)

Это поле появляется только при создании подключенного диска.

Доступно, если установлены флажки Включить интерфейс SCSI (Enable SCSI Pass-Through) и Разрешить привилегированный ввод-вывод SCSI (Allow Privileged SCSI I/O). Установка этого флажка отключает миграцию для всех виртуальных машин, использующих этот диск, чтобы виртуальные машины, использующие резервирование SCSI, не утратили доступ к диску.

Для монтирования журналируемой файловой системы требуется доступ с правами на чтение и запись. Использование параметра Только для чтения (Read-Only) не подходит для виртуальных дисков, содержащих файловые системы EXT3, EXT4 или XFS.

7.3. Миграция дисков между хранилищами

7.3.1. Общие сведения о миграции между хранилищами

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

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

Обратите внимание на следующее при выполнении миграции между хранилищами:

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

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

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

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

  • Если виртуальный диск подключён к виртуальной машине, являющейся тонким клоном шаблона, необходимо скопировать диски этого шаблона в тот же домен хранения, куда планируется мигрировать виртуальный диск.

7.3.2. Миграция виртуального диска

В zVirt 4.3 и выше представлено два способа перемещения дисков между доменами в центре данных:

  • Оснастка Перемещение на экране Хранилище  Диски.

    Этот инструмент позволяет перемещать как плавающие виртуальные диски и образы ISO, так и диски, прикрепленные к виртуальным машинам и шаблонам.

  • Визард миграции, запускаемый через Ресурсы  Виртуальные машины.

    С помощью визарда можно перемещать только диски, прикрепленные к работающим виртуальным машинам.

7.3.2.1. Использование оснастки перемещение

С помощью оснастки Перемещение можно выполнить миграцию:

  • Плавающих дисков.

  • Дисков виртуальных машин.

  • Дисков шаблонов.

  • ISO-образов.

Перед началом миграции внимательно изучите особенности миграции дисков.

Порядок действий:
  1. Нажмите Хранилище (Storage)  Диски (Disks) и выберите один или несколько виртуальных дисков для переноса.

  2. Нажмите Переместить (Move).

  3. Из списка Цель (Target) выберите домен хранения, в который виртуальный(е) диск(и) будет(ут) перенесены.

  4. Из списка Профиль диска (Disk Profile) выберите профиль для диска(ов), если применимо.

  5. Нажмите OK.

Виртуальные диски перемещаются в целевой домен хранения. Во время перемещения в столбце Статус (Status) высвечивается Заблокирован (Locked), а индикатор выполнения отображает прогресс выполнения переноса.

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

Визард миграции доступен в zVirt 4.3 и выше.

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

Перед началом миграции внимательно изучите особенности миграции дисков.

Порядок действий:
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и выберите одну или несколько работающих виртуальных машин.

  2. В панели управления нажмите Мигрировать (Migrate).

  3. В открывшемся визарде:

    1. Выберите тип миграции Переместить только диски ВМ.

      migration wizard type
    2. Нажмите Далее. На следующем этапе выберите необходимые диски и укажите параметры их перемещения:

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

      • В строке нужного диска нажмите edit. Если целевой домен хранения и профиль одинаковый для нескольких дисков, выделите их и нажмите на edit в верхней панели.

      • В открывшейся панели укажите целевой домен хранения и профиль диска(ов). Нажмите Сохранить.

      migration wizard disk params

      При наличии большого количества дисков, можно воспользоваться формой поиска в верхней панели. Она позволяет фильтровать диски по:

      • Имени диска.

      • Имени виртуальной машины.

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

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

      migration wizard summary
    4. Нажмите Переместить.

7.3.3. Мониторинг задач на миграцию

Для мониторинга созданных задач на миграцию используется страница Управление  Задачи ВМ.

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

migration tasks

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

  • Имя задачи: имя формируется автоматически исходя из типа и количества мигрируемых компонентов (диски/ВМ) и времени запуска процедуры миграции. В списке может присутствовать несколько записей с одинаковым именем. Это указывает на то, что записи описывают разные этапы одной задачи на миграции.

  • Тип: тип задачи на миграцию. Возможны следующие значения:

    • Живая миграция ВМ - запись содержит сведения о миграции ВМ между хостами. Одна задача может содержать несколько записей такого типа, по одной записи на каждую мигрирующую ВМ.

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

    • Изменение ВМ - запись содержит сведения об изменении домена аренды ВМ. Одна задача может содержать несколько записей такого типа, по одной записи на каждую ВМ, для которой изменяется домен аренды.

  • Имя объекта: содержит имя связанного объекта (диска/ВМ).

  • Статус: указывает на статус операции. Возможны следующие значения:

    • Выполнена - операция успешно завершена.

    • Отменена - операция отменена пользователем.

    • Ошибка - операция завершилась ошибкой.

    • Выполняется - операция находится в стадии выполнения.

    • Создана - задание на выполнение создано, но операция еще не выполняется. На этом этапе операцию можно отменить (см. ниже).

  • Описание: Содержит подробное описание операции.

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

  • Дата начала: дата и время начала операции. Значение может быть пустым в случае отмены операции пользователем.

  • Дата окончания: дата и время окончания операции.

  • Длительность: длительность операции. Указывается только для операций со статусом Выполнена.

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

Информация в подробном описании зависит от типа операции:

  • Для типа Живая миграция ВМ:

    • Кластер источник.

    • Хост источник.

    • Кластер назначения.

    • Хост назначения.

  • Для типа Перемещение диска:

    • Домен хранения источник.

    • Профиль диска источник.

    • Целевой домен хранения.

    • Целевой профиль диска.

  • Для типа Изменение ВМ:

    • Домен хранения для аренды ВМ источник.

    • Целевой домен хранения для аренды ВМ.

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

7.4. Изменение типа интерфейса диска

После того как диск создан, пользователи могут поменять тип его интерфейса, что позволяет подключить существующий диск к виртуальной машине, для которой требуется другой тип интерфейса. Например, диск, использующий интерфейс VirtIO, может быть подключен к виртуальной машине, для которой требуется интерфейс VirtIO-SCSI или IDE. Таким образом обеспечивается гибкость при миграции дисков в целях резервного копирования и восстановления или аварийного восстановления. Интерфейс диска для совместно используемых дисков также может быть обновлен под каждую виртуальную машину, то есть у каждой виртуальной машины, использующей общий диск, может быть свой тип интерфейса.

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

Изменение типа интерфейса диска
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и остановите соответствующую(ие) виртуальную(ые) машину(ы).

  2. Нажмите на имя виртуальной машины. Откроется подробное представление.

  3. Откройте вкладку Диски (Disks) и выберите диск.

  4. Нажмите Изменить (Edit).

  5. Из списка Интерфейс (Interface) выберите новый тип интерфейса и нажмите OK.

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

Подключение диска к другой виртуальной машине, использующей другой тип интерфейса
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и остановите соответствующую(ие) виртуальную(ые) машину(ы).

  2. Нажмите на имя виртуальной машины. Откроется подробное представление.

  3. Откройте вкладку Диски (Disks) и выберите диск.

  4. Нажмите Удалить (Remove), затем OK.

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

  6. Откройте вкладку Диски (Disks), затем нажмите Прикрепить (Attach).

  7. Выберите диск в окне Прикрепить виртуальные диски (Attach Virtual Disks) и выберите соответствующий интерфейс из выпадающего списка Интерфейс (Interface).

  8. Нажмите OK.

7.5. Копирование виртуального диска

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

Порядок действий:
  1. Нажмите Хранилище (Storage)  Диски (Disks) и выберите виртуальный(ые) диск(и).

  2. Нажмите Копировать (Copy).

  3. При желании задайте новое имя в поле Имя (Alias).

  4. Из списка Цель (Target) выберите домен хранения, в который диск(и) будет(ут) скопирован(ы).

  5. Из списка Профиль диска (Disk Profile) выберите профиль для диска(ов), если применимо.

  6. Нажмите OK.

Во время копирования у виртуальных дисков отображается статус Заблокирован (Locked).

7.6. Повышение производительности диска

На Портале администрирования в окнах Новая виртуальная машина (New virtual machine) и Изменить виртуальную машину (Edit virtual machine) на вкладке Выделение ресурсов (Resource Allocation) устанавливается (включается) настройка по умолчанию Количество потоков I/O (I/O Threads Enabled), а количество потоков равно 1.

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

Однако учитывайте, что с увеличением количества потоков ввода-вывода уменьшается пул потоков виртуальной машины. Если процессы не используют контроллеры VirtIO и назначаемые им потоки, то увеличение количества потоков ввода-вывода может снизить общую производительность.

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

Порядок действий:
  1. В разделе Ресурсы (Compute)  Виртуальные машины (Virtual Machines) выберите нужную машину и нажмите Выключить (Power Off).

  2. Нажмите на имя виртуальной машины.

  3. В подробном представлении откройте вкладку Устройства ВМ (Vm Devices).

  4. Посчитайте количество контроллеров с Типом (Type) virtio или virtio-scsi.

  5. Нажмите Изменить (Edit).

  6. В окне Изменить виртуальную машину (Edit Virtual Machine) откройте вкладку Выделение ресурсов (Resource Allocation).

  7. Подтвердите установку (включение) настройки Количество потоков I/O (I/O Threads Enabled).

  8. Справа от настройки Количество потоков I/O (I/O Threads Enabled) увеличьте количество потоков так, чтобы оно не превышало количество контроллеров с типом virtio или virtio-scsi.

  9. Нажмите OK.

  10. В подробном представлении откройте вкладку Диски (Discs).

  11. Для каждого диска используйте раздел Дополнительные действия (More Actions) , чтобы Выключить (Deactivate) и Включить (Activate) диск. Это действие повторно сопоставит диски с контроллерами.

  12. Нажмите Запустить (Run), чтобы запустить виртуальную машину.

Действия по проверке:

7.7. Выгрузка образов в домен хранения данных

Образы виртуальных дисков и ISO-образы можно выгрузить в домен хранения данных с помощью Портала администрирования или REST API. См. раздел Выгрузка образов в домен хранения данных.

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

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

Только диски, совместимые с QEMU, можно импортировать в Менеджер управления.
Порядок действий:
  1. Нажмите Хранилище (Storage)  Домены (Domains).

  2. Нажмите на имя импортированного домена хранения. Откроется подробное представление.

  3. Откройте вкладку Импорт диска (Disk Import).

  4. Выберите один или несколько дисков и нажмите Импортировать (Import).

  5. Выберите подходящий Профиль диска (Disk Profile) для каждого диска.

  6. Нажмите OK.

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

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

Только диски, совместимые с QEMU, можно импортировать в Менеджер управления.
Порядок действий:
  1. Нажмите Хранилище (Storage)  Домены (Domains).

  2. Нажмите на имя домена хранения. Откроется подробное представление.

  3. Нажмите Дополнительные действия (More Actions) , затем нажмите Сканировать диски (Scan Disks), чтобы Менеджер управления мог обнаружить незарегистрированные диски.

  4. Откройте вкладку Импорт диска (Disk Import).

  5. Выберите один или несколько образов дисков и нажмите Импортировать (Import).

  6. Выберите подходящий Профиль диска (Disk Profile) для каждого диска.

  7. Нажмите OK.

7.10. Импортирование виртуального диска из OpenStack Image Service

Виртуальные диски, управляемые службой OpenStack Image Service, можно импортировать в Менеджер управления, если служба OpenStack Image Service была добавлена в Менеджер управления как внешний провайдер.

Порядок действий:
  1. Нажмите Хранилище (Storage)  Домены (Domains).

  2. Нажмите на имя домена OpenStack Image Service. Откроется подробное представление.

  3. Откройте вкладку Образы (Images) и выберите образ.

  4. Нажмите Импортировать (Import).

  5. Выберите Центр данных (Data Center), в который будет импортирован образ.

  6. Из выпадающего списка Имя домена (Domain Name) выберите домен хранения, в котором будет храниться образ.

  7. При желании из выпадающего списка Квота (Quota) выберите квоту для применения к образу.

  8. Нажмите OK.

Теперь диск можно подключить к виртуальной машине.

7.11. Экспортирование виртуального диска в OpenStack Image Service

Виртуальные диски можно экспортировать в службу OpenStack Image Service, которая была добавлена в Менеджер управления как внешний провайдер.

Виртуальные диски можно экспортировать, только если у них нет нескольких томов, не применяется динамическое выделение пространства и нет моментальных снимков.
Порядок действий:
  1. Нажмите Хранилище (Storage)  Диски (Disks) и выберите диски для экспорта.

  2. Нажмите Дополнительные действия (More Actions) и затем Экспортировать (Export).

  3. Из выпадающего списка Имя домена (Domain Name) выберите службу OpenStack Image Service, куда будут экспортированы диски.

  4. Из выпадающего списка Квота (Quota) выберите квоту для дисков, если применимо.

  5. Нажмите OK.

7.12. Высвобождение пространства виртуального диска

Размер виртуальных дисков с динамическим выделением пространства не уменьшается автоматически после удаления с них файлов. Например, если фактический размер диска 100 ГБ и вы удаляете файлы на 50 ГБ, то размер пространства, выделенного под диск, останется 100 ГБ, а оставшиеся 50 ГБ не возвращаются на хост и поэтому не могут быть использованы другими виртуальными машинами. Это неиспользуемое место на диске может быть присвоено хостом в результате выполнения операции высвобождения пространства на дисках виртуальной машины. Так свободное место переносится из образа диска на хост. Параллельно можно проводить операцию высвобождения пространства на нескольких виртуальных дисках.

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

Ограничения:
  • Высвобождение пространства поддерживается только в домене хранения NFS.

  • В домене хранения NFS должна использоваться версия NFS 4.2 или выше.

  • На диске с Прямым LUN нельзя высвободить пространство.

  • Нельзя высвободить пространство на диске с предварительно выделенным пространством. При создании виртуальной машины из шаблона нужно выбрать Динамический (Thin) в поле Выделение хранилища (Storage Allocation) или при выборе варианта Клонировать (Clone) убедитесь, что шаблон основан на виртуальной машине с динамическим выделением пространства.

  • Высвобождать пространство можно только на активных снимках.

Порядок действий:
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и остановите нужную виртуальную машину.

  2. Нажмите на имя виртуальной машины. Откроется подробное представление.

  3. Откройте вкладку Диски (Disks). Убедитесь, что статус диска - OK.

  4. Нажмите Дополнительные действия (More Actions) и затем Оптимизация диска (Sparsify).

  5. Нажмите OK.

Событие Высвобождение пространства началось (Started to sparsify) появится на вкладке События (Events) во время выполнения операции высвобождения пространства, а у диска будет статус Заблокирован (Locked). После завершения операции на вкладке События (Events) появится событие Высвобождение пространства прошло успешно (Sparsified successfully), а у диска будет статус OK. Неиспользуемое место на диске было возвращено на хост и доступно для использования другими виртуальными машинами.