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

Подготовка хранилища для развертывания zVirt

Необходимо заранее подготовить хранилище объёмом не менее 55 ГиБ, которое будет использоваться как домен хранения данных для развертывания ВМ HostedEngine.

После развертывания рекомендуется добавить дополнительные домены данных для хранения дисков ВМ.

Домен данных hosted_storage предназначен только для хранения дисков ВМ HostedEngine.

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

  • NFS;

  • ISCSI;

  • Fibre Channel (FCP);

  • Gluster Storage.

При использовании протокола iSCSI, домен хранения hosted_storage должен использовать выделенный iSCSI target. Любые дополнительные домены хранения должны использовать отдельные iSCSI target.

В случае появления следующей ошибки во время установки:

[ ERROR ] Error: Fault reason is "Operation Failed". Fault detail is "[Physical device initialization failed. Please check that the device is empty and accessible by the host.]". HTTP response code is 400.

Выполнить инициализацию системы хранения при помощи команды:

dd if=/dev/zero of=/dev/mapper/LUN_ID bs=1M count=200 oflag=direct (1)
1 /dev/mapper/LUN_ID - путь до LUN

Будьте аккуратны при выполнении этой операции: не выполняйте её на LUN, содержащим важные данные.

1. Подготовка хранилища NFS

Следующие шаги применимы для семейства Unix-подобных операционных систем на базе ядра Linux. Для уточнения конкретных шагов обратитесь к официальному руководству ОС.

Инструкция подготовлена на базе образа zVirt Node. На других ОС возможны отличия.

Порядок действий:
  1. Создайте каталог (должно быть доступно более 55 ГиБ свободного места):

    mkdir -p /storage/domain
  2. Установите права доступа:

    chown vdsm:kvm /storage/domain
    chmod 0775 /storage/domain
  3. Опубликуйте каталог, прописав его в конфигурационном файле NFS-сервера:

    echo "/storage/domain *(rw,anonuid=36,anongid=36)" >> /etc/exports (1)
    1 При необходимости замените anonuid и anongid на актуальные для vdsm и kvm на вашем сервере.
  4. Убедитесь в правильности задания параметров доступа:

    cat /etc/exports
  5. Запустите необходимые сервисы:

    systemctl enable nfs-server
    systemctl enable rpcbind
    systemctl enable nfs-blkmap
    systemctl restart nfs-server
    systemctl restart rpcbind
    systemctl restart nfs-blkmap
  6. Создайте правила межсетевого экрана для обеспечения доступности хранилища для других хостов:

    firewall-cmd --permanent --add-service=nfs
    firewall-cmd --permanent --add-service=mountd
    firewall-cmd --permanent --add-service=rpc-bind
    firewall-cmd --reload

    Если в качестве среды исполнения используется не zVirt Node, то необходимо создать служебных пользователей и группы (если они не созданы):

    groupadd sanlock -g 179
    groupadd kvm -g 36
    useradd sanlock -u 179 -g 179 -G kvm
    useradd vdsm -u 36 -g 36 -G sanlock

2. Подготовка хранилища iSCSI

zVirt поддерживает хранилища доступные по протоколу iSCSI. Хранилища после добавления в среду виртуализации как домены хранения будут использоваться в качестве Volume Group (VG), состоящие из одного или более LUN (PV).

Volume Group (VG) и LUN (PV) не могут одновременно использоваться несколькими доменам хранения.

В настоящее время zVirt не поддерживает хранилище с размером блока 4K, поэтому необходимо сконфигурировать хранилище в legacy mode (512b block). Если ваш хост загружается из хранилища SAN и теряет связь с хранилищем, файловые системы хранилища становятся доступными только для чтения и остаются в этом состоянии после восстановления соединения.

Для предотвращения подобной ситуации рекомендуется добавить в файл конфигурации службы multipath wwid загрузочного LUN, для обеспечения постановки его в очередь при наличии соединения:

multipaths {
  multipath {
    wwid LUN_ID
    no_path_retry queue
  }}

3. Подготовка FCP-хранилища

zVirt поддерживает хранилища, доступные по протоколу Fibre Channel. Хранилища после добавление в среду виртуализации как домены хранения будут использоваться в качестве Volume Group (VG), состоящие из одного или более LUN (PV).

В настоящее время zVirt не поддерживает хранилище с размером блока 4K, поэтому необходимо сконфигурировать хранилище в legacy mode (512b block). Если ваш хост загружается из хранилища SAN и теряет связь с хранилищем, файловые системы хранилища становятся доступными только для чтения и остаются в этом состоянии после восстановления соединения.

Для предотвращения подобной ситуации рекомендуется добавить в файл конфигурации службы multipath wwid загрузочного LUN, для обеспечения постановки его в очередь при наличии соединения:

multipaths {
  multipath {
    wwid LUN_ID
    no_path_retry queue
  }}

4. Подготовка Gluster Storage

Поддержка Gluster оказывается только для zVirt 4.2 и выше.

Информацию по настройке Gluster Storage см. в официальной документации, учитывая следующие особенности - тома Gluster Storage должны использовать либо трехстороннюю репликацию, либо арбитражную репликацию. Такой вариант снижает риск возникновения split-brain в кластере.

Поддерживаются следующие типы томов:

  • трехсторонне реплицированные и распределенные реплицированные тома (replica 2 или 3)

  • арбитражные реплицированные или распределенные арбитражные реплицированные тома (replica 2 arbiter 1)

Дополнительно необходимо назначить следующие настройки для тома:

gluster volume set VOLUME_NAME group virt
gluster volume set VOLUME_NAME performance.strict-o-direct on
gluster volume set VOLUME_NAME network.remote-dio off
gluster volume set VOLUME_NAME storage.owner-uid 36
gluster volume set VOLUME_NAME storage.owner-gid 36
gluster volume set VOLUME_NAME network.ping-timeout 30

5. Настройка multipath в соответствии с рекомендациями производителя системы хранения данных

Вы можете настроить параметры конфигурации multipath в соответствии с требованиями и рекомендациями производителя системы хранения данных. Эти настройки могут отключать как параметры, определенные по умолчанию, так и параметры, указанные в файле /etc/multipath.conf. Чтобы отключить определенные параметры multipath, не вносите изменения в файл /etc/multipath.conf. Служба VDSM управляет файлом /etc/multipath.conf, установка или обновление VDSM может привести к перезаписи этого файл, включая все содержащиеся в нем настройки. Такая перезапись может привести к сбоям в работе с системой хранения данных. Вместо этого создайте файл в каталоге /etc/multipath/conf.d, который будет содержать параметры, которые вы хотите изменить или отключить.

VDSM выполняет файлы в каталоге /etc/multipath/conf.d в определенном порядке. Для того, чтобы контролировать порядок выполнения, создавайте файлы с именем, которые начинается с цифр, что позволит выполнить его последним по порядку. Например, /etc/multipath/conf.d/90-fcdevice.conf.

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

  • Не изменяйте файл /etc/multipath.conf. Если файл содержит пользовательские изменения, и файл будет перезаписан, это может вызвать сбои в работе с системой хранения данных.

  • Не переопределяйте настройки user_friendly_names и find_multipaths.

  • Не переопределяйте параметры no_path_retry и polling_interval, если этого не требует производитель системы хранения данных.

Порядок действий:
  1. VDSM настроен на использование модуля multipath. Для того, чтобы проверить это выполните команду:

    vdsm-tool is-configured --module multipath
  2. Создайте новый конфигурационный файл в каталоге /etc/multipath/conf.d.

  3. Скопируйте отдельные параметры, которые вы хотите отключить, из файла /etc/multipath.conf в новый конфигурационный файл /etc/multipath/conf.d/<example>.conf. Удалите все знаки комментариев (#), отредактируйте значения параметров и сохраните изменения.

  4. Примените новые настройки с помощью команды:

    systemctl reload multipathd
Не перезапускайте службу multipathd - это приводит к появлению ошибок в журналах VDSM.

6. Рекомендуемые настройки для multipath

Не изменяйте следующие настройки:

  • user_friendly_names no - имена устройств должны быть одинаковыми для всех гипервизоров, например, /dev/mapper/{WWID}. Значение по умолчанию - no, предотвращает назначение произвольных и непоследовательных имен устройств, таких как /dev/mapper/mpath{N} на разных гипервизорах, что может привести к непредсказуемому поведению системы. Не изменяйте значение параметра user_friendly_names на yes, т.к. такие пользовательские имена устройств могут привести к непредсказуемому поведению системы или сбоям.

  • find_multipaths no - параметр определяет, пытается ли zVirt получить доступ к устройствам через multipath если доступно более одного пути. Текущее значение - no, позволяет zVirt получать доступ к устройствам через multipath, даже в том случае, если доступен только один путь.

Не изменяйте следующие параметры, если это не требуется производителем системы хранения данных:

  • no_path_retry 4 - параметр определяет количество попыток для повторного опроса при отсутствии доступных путей.

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