Обслуживание SPM-хоста
Немного теории
Хост, которому разрешено вносить изменения в структуру домена данных, называется менеджером пула хранения (Storage Pool Manager, SPM). SPM координирует все операции по изменению метаданных в дата-центре, например, создание и удаление образов дисков, создание и объединение мгновенных снимков, копирование образов между доменами хранения, создание шаблонов и выделение пространства для блочных устройств. У каждого центра обработки данных должен быть ровно один SPM. Все остальные хосты в дата-центре могут только считывать измененные менеджером структурные метаданные домена хранения.
Отметим, что все хосты могут считывать из домена хранения находящиеся в нём образы и записывать в них информацию, но только менеджер пула хранения может вносить изменения в конфигурацию доменов хранения. Назначить хосту роль SPM можно вручную, а можно разрешить менеджеру виртуализации выбрать такой хост автоматически.
Менеджер управления виртуализации осуществляет привязку роли SPM к хосту на основе истории назначений. Если хост был последним использовавшимся SPM, менеджер управления виртуализации выберет именно его. Если выбранный хост SPM не отвечает, менеджер управления виртуализации случайным образом выбирает другой хост на роль менеджера пула хранения. Выбранный хост должен обработать запрос на получение аренды, позволяющей ему изменять метаданные хранилища. Отметим, что информация об аренде сохраняются именно в домене хранения, а не у менеджера виртуализации или на хостах.
Чтобы можно было добавлять и настраивать домены хранения, менеджер пула хранения должен работать на одном из хостов центра обработки данных. Для того чтобы настраивать новый центр обработки данных, администратору необходимо зарегистрировать в дата-центре хотя бы один хост. Как только хост станет частью центра обработки данных, можно приступать к настройке доменов хранения.
В домене данных использующим NFS, менеджер пула хранения создает диски виртуальных машин в виде файлов в файловой системе. При этом файлы в формате QCOW2 используются при динамическом предоставлении места и в виде файла в формате RAW при предварительном выделении места.
В домене данных использующим iSCSI или FC, менеджер пула хранения вначале создает группу томов в LUN-е домена хранения, а затем создает диск виртуальной машины как логический том в этой группе томов. Для виртуального диска с предварительным выделением пространства создается логический том нужного размера. Для виртуального диска с динамическим предоставлением пространства изначально создается логический том объемом 512 МБ. Хост виртуализации, на котором работает использующая такой диск виртуальная машина, постоянно отслеживает использование логического тома. Если хост определяет, что виртуальной машине требуется больше места на диске, он посылает уведомление менеджеру пула хранения, после чего тот расширяет логический том еще на 512 МБ.
С точки зрения скорости работы виртуальный диск с предварительным выделением пространства (RAW) значительно быстрее, чем виртуальный диск с динамическим выделением пространства (QCOW2). Поэтому динамически расширяющиеся диски рекомендуется применять для виртуальных рабочих станций, не требующих интенсивного ввода-вывода, а диски с предварительным выделением – для виртуальных серверов.
1. Возможные проблемы
1.2. Решение
Увеличьте количестве выделенных vCPU:
engine-config -s SpmVCpuConsumption=2
systemctl restart ovirt-engine
По умолчанию SpmVCpuConsumption равно 1.
Как убедиться в проблеме: в журнале хоста /var/log/vdsm/vdsm.log (или его резервных копиях /var/log/vdsm/vdsm.log.X.xz) значатся следующие записи:
2021-10-26 21:59:49,738+0300 INFO (libvirt/events) [virt.vm] (vmId='7bc02996-fb0f-4fa4-a305-b623b79832a4') abnormal vm stop device ua-d68887c1-ee08-481d-9b3c-226d80ab0ffd error enospc (vm:5075)
2021-10-26 21:59:49,738+0300 INFO (libvirt/events) [virt.vm] (vmId='7bc02996-fb0f-4fa4-a305-b623b79832a4') CPU stopped: onIOError (vm:6062)
2021-10-26 21:59:49,749+0300 INFO (libvirt/events) [virt.vm] (vmId='7bc02996-fb0f-4fa4-a305-b623b79832a4') Requesting extension for volume 4490dad8-7302-4c96-871c-fbe09a494f7d on domain 5f1f4051-8afd-4722-8cbd-3c69538dcced (apparent: 1073741824, capacity: 6979321856000, allocated: 1078329344, physical: 1073741824 threshold_state: exceeded) (vm:1288)
Дополнительно можно произвести настройку параметров volume_utilization_chunk_mb и volume_utilization_percent.