В ПК СВ используется два основных типа хранилища данных: 

  • хранилище образов (Images Datastore) – предназначено для хранения всех зарегистрированных образов дисков, которые могут использоваться для создания ВМ. В качестве таких образов могут выступать:
    • образ операционной системы (образ загрузочного диска);
    • CD-ROM – файл в формате ISO, содержащий образ оптического диска. Эти образы предназначены только для чтения;
    • общий блок данных – образ диска, на котором могут быть размещены любые данные, необходимые пользователю;
  • системное хранилище (System Datastore) – используется для размещения образов дисков созданных ВМ. Эти образы могут быть полными копиями исходного образа, дельтами или символическими ссылками на исходный образ, в зависимости от используемой технологии хранения. При использовании файловой технологии хранения в системном хранилище размещаются служебные файлы ВМ, создаваемые при формировании снимка состояния этой ВМ (подробнее – см. Хранилища на базе файловой технологии хранения).

Кроме того, отдельно выделяют хранилище файлов (Files Datastore), которое используется для хранения обычных файлов. Такими файлами могут быть резервные копии виртуальных машин или контекстные файлы. Например, в хранилище файлов можно поместить определенный init-скрипт и указать его в контекстуализации для ВМ. Этот файл будет размещен на контекстном CD-ROM, доступном в ОС этой ВМ. Таким образом можно настроить выполнение указанного init-скрипта при загрузке ОС виртуальной машины.

При размещении в хранилище образов каждому образу диска необходимо присвоить атрибут "постоянный" или "непостоянный":

  • постоянный (persistent) – диск постоянного хранения данных. Изменения, внесенные в такой образ диска, будут сохранены после удаления ВМ или отсоединения его от ВМ. В любой момент времени может быть только одна ВМ, использующая постоянный образ.
  • непостоянный (non-persistent) – диск непостоянного хранения данных. Изменения не сохранятся после удаления ВМ или отсоединения этого образа диска от ВМ. Непостоянные образы могут использоваться несколькими ВМ одновременно, поскольку каждая из них будет работать со своей собственной копией.

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

Для построения хранилища данных в ПК СВ используются следующие базовые технологии хранения:

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

НаименованиеПараметрОписание
Драйвер хранилищDS_MAD Параметр драйвера для хранилища образов, указывается только для хранилища образов
Основной драйвер передачиTM_MAD Параметр основного драйвера передачи образа из хранилища образов в системное хранилище, указывается для хранилища образов и системного хранилища
Дополнительный драйвер передачи TM_MAD_SYSTEM Параметр дополнительного драйвера передачи образа из хранилища образов в системное хранилище, указывается только для хранилища образов

Базовые технологии хранения (драйвер хранилищ DS_MAD) и соответствующие им методы передачи данных между хранилищем образов и системным хранилищем (основной драйвер передачи TM_MAD и дополнительный драйвер передачи TM_MAD_SYSTEM) представлены в таблице:

Базовая технология хранения 

Драйвер хранилищ

Основной драйвер передачи

Дополнительный драйвер передачи

Описание метода передачи данных (драйвера)

Требования для сервера виртуализации

Требования для сервера управления

Файловая технология хранения

fs


ssh-

Системное хранилище ssh: локальный диск на сервере виртуализации. 
Образы дисков и диски ВМ представляются в виде файлов (raw, qcow2).
По умолчанию образы передаются с помощью протокола SSH с сервера управления на сервер виртуализации

Необходим доступ только к системному хранилищу

Необходим доступ только к хранилищу образов

sharedssh

Хранилище образов: NFS, OCFS2, локальный диск (для одного сервера управления).
Системное хранилище shared: NFS, OCFS2
Системное хранилище ssh: локальный диск на сервере виртуализации.
Образы дисков и диски ВМ представляются в виде файлов (raw, qcow2).
По умолчанию образы передаются с помощью прямого копирования на сервере виртуализации (удаленная команда с сервера управления) из хранилища образов в системное хранилище.
Также образы могут быть переданы помощью протокола SSH с сервера управления на сервер виртуализации

Необходим доступ к обоим хранилищам

Необходим доступ только к хранилищу образов

Также образы могут быть переданы помощью протокола SSH с сервера управления на сервер виртуализации

Необходим доступ только к системному хранилищу

Необходим доступ только к хранилищу образов

qcow2ssh

Хранилище образов: NFS, OCFS2, локальный диск (для одного сервера управления).
Системное хранилище Qcow2: NFS, OCFS2.
Системное хранилище ssh: локальный диск на сервере виртуализации.
Образы дисков представляются в виде файлов (qcow2 или qcow2 backing-files).
Диски ВМ представляются в виде файлов (qcow2 или qcow2-COW).
По умолчанию на базе образа создается qcow2-COW диск ВМ (который представляет собой дельту и записывает изменения, а именно новые блоки данных) на сервере виртуализации (удаленная команда с сервера управления) из хранилища образов в системное хранилище. Чтение исходных блоков данных производится из исходного образа в хранилище образов.

Если для сервера виртуализации недоступен исходный образ (образ удален или хранилище не примонтировано), запуск ВМ будет невозможен.

Необходим доступ к обоим хранилищам

Необходим доступ только к хранилищу образов





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

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

Образы создаются и передаются с помощью команды qemu-img с использованием оригинального образа в качестве опорного файла

Необходим доступ к обоим хранилищам

Необходим доступ только к хранилищу образов

Гибридная технология храненияfsfs_lvm-

Хранилище образов: NFS, OCFS2, локальный диск (для одного сервера управления).
Системное хранилище: LVM.
Образы дисков представляются в виде файлов (qcow2, raw).
Диски ВМ представляются в виде raw данных (LVM Logical Volume).
Из образа на базе файла создается диск ВМ на базе логического тома в LVM Volume Group с помощью конвертации на сервере виртуализации (удаленная команда с сервера управления) из хранилища образов в системное хранилище

Необходим доступ к обоим хранилищам

Необходим доступ только к хранилищу образов

Блочная технология хранения с использованием LVM 

 (logical volume manager — менеджер логических томов)

lvm

lvm_lvm-

Хранилище образов: LVM.
Системное хранилище: LVM.
Образы дисков и диски ВМ представляются в виде raw данных (THICK LVM Logical Volume).
Из образа на базе LVM THICK Logical Volume создается диск ВМ на базе толстого логического тома в LVM Volume Group в виде прямого копирования на сервере виртуализации (удаленная команда с сервера управления) из хранилища образов в системное хранилище

Необходим доступ к обоим хранилищам

Необходим доступ к обоим хранилищам

lvm_thinlvm_thin-

Хранилище образов: LVM.
Системное хранилище: LVM_local (эксклюзивное для каждого сервера виртуализации).
Образы дисков и диски ВМ представляются в виде raw данных (THIN LVM Logical Volume).
Из образа на базе LVM THIN Logical Volume создается диск ВМ на базе тонкого логического тома в LVM Volume Group в виде прямого копирования на сервере виртуализации (удаленная команда с сервера управления) из хранилища образов в системное хранилище

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

Необходим доступ к обоим хранилищам

Необходим доступ только к хранилищу образов

Программно-определяемая технология хранения Ceph (RDB).cephcephshared

Хранилище образов ceph/shared: Ceph RBD.
Системное хранилище ceph/shared: Ceph RBD. 
Образы дисков и диски ВМ представляются в виде raw данных (объекты в группах размещения в пулах, передаваемых платформе в виде Rados Block Device v2/v1).
Образы и диски ВМ находятся в рамках одного пула, то есть хранилище образов и системное хранилище это единое пространство с точки зрения SDS Ceph, создание осуществляется путем прямого клонирования оснастками SDS на сервере виртуализации (удаленная команда с сервера управления)

Необходим доступ к обоим хранилищам (единый пул)

Необходим доступ только к хранилищу образов (единый пул)

-
Raw Device Mappingdevdev-

Хранилище образов: выделенное блочное устройство.
Системное хранилище: NFS, OCFS2, локальный диск (для одного сервера управления).
Образы дисков представляются в виде raw данных (блочное устройство).
Диски ВМ представляются в виде симлинк-файлов (ссылка-указатель) на блочное устройство (symlink file).
Образы передаются с помощью прямого копирования на сервере виртуализации (удаленная команда с сервера управления) из хранилища образов в системное хранилище

Необходим доступ к обоим хранилищам

Необходим доступ только к хранилищу образов

-

Тип облачного хранилища определяется параметром TYPE, который может принимать следующие значения:

  • IMAGE_DS – для хранилища образов;
  • SYSTEM_DS – для системного хранилища;
  • FILE_DS – для хранилища файлов и резервных копий.

Кроме того, для хранилищ можно дополнительно определить значения следующих параметров:

ПараметрОписание

RESTRICTED_DIRS

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

По умолчанию имеет значение / – корневой каталог

SAFE_DIRS

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

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

По умолчанию имеет значение /var/tmp

NO_DECOMPRESS

Если имеет значение yes, то перед размещением в хранилище файл не будет распакован, если он был предварительно архивирован или сжат

LIMIT_TRANSFER_BW

Максимальная скорость (байтов в секунду) загрузки файла из URL-источника. Возможно использование суффиксов K, M или G

DATASTORE_CAPACITY_CHECK

Если имеет значение yes, то перед созданием нового образа будет проведена проверка наличия свободного дискового ресурса

LIMIT_MB

Разрешенный максимальный размер хранилища (Мбайт)

DRIVER

Формат файла образа диска (RAW или Qcow2)

COMPATIBLE_SYS_DS

Используется только для хранилищ образов.

Перечень идентификаторов системных хранилищ, разделенных запятой, с которыми совместимо и может быть использовано хранилище образов (например, “0,100”)

По умолчанию после инициализации служб ПК СВ облачные хранилища настроены на использование локальной файловой системы (каталоги /var/lib/one/datastores/<идентификатор_хранилища>). При этом в качестве метода передачи данных между хранилищем образов и системным хранилищем установлен SSH.

Стандартный путь для хранилищ /var/lib/one/datastores можно изменить в конфигурационном файле /etc/one/one.d/base.conf через параметр настройки DATASTORE_LOCATION.

Идентификаторы и наименования облачных хранилищ, созданных по умолчанию во время инициализации служб ПК СВ, приведены в таблице ниже.

ИдентификаторНаименованиеОписание
0systemсистемное хранилище
1defaultхранилище образов
2filesхранилище файлов и ядер

Перечень зарегистрированных хранилищ можно получить, выполнив на фронтальной машине команду:

onedatastore list

Для отображения перечня всех зарегистрированных хранилищ в веб-интерфейсе ПК СВ необходимо в меню слева выбрать пункт ХранилищеХранилища. На открывшейся странице Хранилища будет представлена таблица хранилищ, аналогичная таблице, отображаемой в интерфейсе командной строки после выполнения команды onedatastore list.

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

  1. Подготовить систему хранения данных в соответствии с выбранной технологией хранения.
  2. Выполнить дополнительную настройку ПК СВ для использования выбранной системы хранения.
  3. В ПК СВ создать логическую сущность хранилища (зарегистрировать), указав его имя, тип, базовую технологию хранения и метод передачи данных. После регистрации хранилища будет создан каталог с идентификатором хранилища (значение идентификатора хранилищ, создаваемых пользователем, формируется автоматически путем последовательного увеличения значения, начиная с числа 100).
  4. На фронтальной машине и узлах виртуализации смонтировать подготовленную систему хранения данных в каталог хранилища.

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