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

Требования

Прежде чем начать работу необходимо убедиться, что соблюдены следующие условия:

  • Развернут OpenNebula Front-end
  • LUN-ы подключены к узлам кластера

Создание хранилищ

Создадим хранилище images. В веб-интерфейсе управления облаком перейти в Storage - Datastores.

Нажать + и заполнить, как представлено ниже и нажать Create

Аналогичным способом создать хранилище типа system

В Datastores отобразятся созданные хранилища с их идентификаторами (ID)

На Front-end по пути /var/lib/one/datastores будут созданы два каталога с именами, с соответствующими идентификаторами datastore-id.

В данном случае это 100 и 101. В дальнейшем в эти пути необходимо смонтировать созданные на СХД LUN-ы, но для начала необходимо разметить их одной из кластерных файловых систем.

Далее необходимо отформатировать оба LUN, как описано ниже

Создание файловых систем

На данный момент поддерживаются два кластерные ФС - OCFS2 и GFS2

OCFS2

На каждом узле кластера (Front-end и узлах виртуализации) выполните шаги по статье OCFS2

Далее на одном из узлов отформатируйте LUN-a следующим образом:

sudo mkfs.ocfs2 --cluster-stack=o2cb --cluster-name=ocfs2 /dev/<sdX>
CODE

где:

<sdX> - имя блочного устройства LUN


Перед настройкой автоматического монтирования каталогов при загрузке ОС, на узлах виртулазиции требуется создать каталоги с соответствующими datastore-id, т.к. в отличие от Front-end, автоматически они не создаются на узлах виртуализации.

sudo mkdir /var/lib/one/datastores/<datastore-id>
CODE

После этого, на каждом узле необходимо добавить данные ФС к каталогом, которые будут автоматически монтироваться при загрузке узла. Определите UUID uuid разделов командой:

blkid
CODE

и добавьте его монтирование в /etc/fstab:

UUID=<uuid> /var/lib/one/datastores/<datastore-id> ocfs2 _netdev,x-systemd.requires=o2cb.service 0 0
CODE

Проверка

На всех узлах кластера выполните команду:

sudo mount -a
CODE

убедиться, что монтирование прошло без ошибок.