Product SiteDocumentation Site

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

Для создания хранилища в OpenNebula необходимо:
  1. Подготовить физическую инфраструктуру хранения (локальные диски, NFS, LVM и т. д.).
  2. Зарегистрировать хранилище в OpenNebula, указав его тип, используемые драйверы и параметры.
  3. Убедиться, что все узлы имеют доступ к данным в соответствии с выбранным режимом передачи.

29.4.1. Конфигурация с драйвером ssh («локальное хранилище»)

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

29.4.1.1. Требования

На узле управления должно быть достаточно свободного пространства в каталоге /var/lib/one/datastores/ для:
  • хранилища образов (Images Datastore);
  • системного хранилища (для временных дисков и файлов остановленных или ещё не развёрнутых ВМ).
На каждом узле виртуализации также должно быть достаточно свободного места в каталоге /var/lib/one/datastores/ для хранения дисков ВМ, запущенных на данном узле.
Все узлы кластера (включая узел управления) должны:
  • иметь корректно разрешаемые имена узлов (через DNS или файлы /etc/hosts);
  • поддерживать беспарольный SSH-доступ между всеми узлами, включая доступ к localhost.

29.4.1.2. Регистрация хранилищ

Для работы в режиме ssh необходимо зарегистрировать два хранилища: системное и хранилище образов.
Для создания системного хранилища с использованием конфигурационного файла:
  1. Создайте файл systemds.conf:
    NAME    = local_system
    TM_MAD  = ssh
    TYPE    = SYSTEM_DS
    
  2. Зарегистрируйте хранилище:
    $ onedatastore create systemds.conf
    ID: 101
    
Для создания системного хранилища необходимо указать следующие параметры:
  • NAME — название хранилища;
  • TYPE — SYSTEM_DS;
  • TM_MAD — ssh (режим передачи данных).
Системное хранилище также можно зарегистрировать через веб-интерфейс Sunstone:
Драйвер передачи ssh
Для создания хранилища образов с использованием конфигурационного файла:
  1. Создайте файл imageds.conf:
    NAME    = local_image
    TM_MAD  = ssh
    TYPE    = IMAGE_DS
    DS_MAD  = fs
    
  2. Зарегистрируйте хранилище:
    $ onedatastore create imageds.conf
    ID: 102
    
Для создания хранилища образов необходимо указать следующие параметры:
  • NAME — название хранилища;
  • DS_MAD — fs (файловый драйвер хранилища данных);
  • TYPE — IMAGE_DS;
  • TM_MAD — ssh (режим передачи данных);
  • CONVERT — yes (по умолчанию) или no; при значении yes формат образа будет преобразован в формат, поддерживаемый драйвером.

Примечание

Оба хранилища (системное и хранилище образов) должны использовать одинаковый драйвер передачи (TM_MAD), в данном случае — ssh.
При использовании файлового драйвера и режима передачи ssh могут быть заданы следующие дополнительные параметры:
  • DD_BLOCK_SIZE — размер блока для операций dd (по умолчанию: 64 КБ). Может быть задан в файле /var/lib/one/remotes/etc/datastore/fs/fs.conf;
  • SUPPORTED_FS — список файловых систем, поддерживаемых для создания форматированных блоков данных (через запятую). Может быть установлен в файле /var/lib/one/remotes/etc/datastore/datastore.conf;
  • FS_OPTS_<FS> — параметры создания файловой системы для форматированных блоков данных. Указывается отдельно для каждого типа файловой системы в файле /var/lib/one/remotes/etc/datastore/datastore.conf;
  • SPARSE — если установлено в NO, файлы будут занимать всё выделенное пространство (неразрежённые файлы). Требует установки параметра QCOW2_STANDALONE="YES" в системном хранилище.

Примечание

Особенности режима TM_MAD=ssh:
  • для образов формата qcow2 используется утилита qemu-img;
  • для образов формата raw используются утилиты dd или tar;
  • параметр QCOW2_OPTIONS игнорируется.