Общие сведения#
В ПВ для развертывания ВМ используется два типа облачного хранилища данных:
хранилище образов (Images Datastore) — предназначено для хранения всех зарегистрированных образов, которые могут использоваться для создания ВМ или хранения пользовательских данных;
системное хранилище (System Datastore) — используется для хранения дисков виртуальных машин, работающих в текущий момент.
Кроме того, отдельно выделяют хранилище файлов и ядер (Files & Kernels Datastore), которое используется для хранения обычных файлов. Такими файлами могут быть ядра виртуальных машин (kernels
), временные диски (ramdisks
) или контекстные файлы. Например, в хранилище файлов и ядер можно поместить определенный инит-скрипт и указать его в контекстуализации для ВМ. Тогда при загрузке ОС этой ВМ будет выполняться указанный инит-скрипт. Для передачи файлов из хранилища файлов в runtime-директорию ВМ используется метод передачи ssh (устанавливается по умолчанию).
Упрощенная схема взаимодействия облачных хранилищ данных:

В зависимости от назначения выделяют два типа образов:
непостоянный образ, предназначен для создания системного диска ВМ. При создании ВМ такой образ, условно говоря, «копируется» из хранилища образов в системное хранилище. После удаления ВМ «копия» образа в системном хранилище также удаляется;
постоянный образ, предназначен для хранения пользовательских данных (БД, файловый репозиторий и т.д.). При создании ВМ такой образ, условно говоря, «перемещается» из хранилища образов в системное хранилище. После удаления ВМ постоянный образ «перемещается» обратно в хранилище образов. Таким образом, изменения, внесенные во время работы ВМ, будут сохранены.
Образы дисков передаются (копируются и перемещаются) между хранилищем образов и системным хранилищем с помощью драйверов программного обеспечения (ПО) Transfer Manager
(TM). Эти драйверы представляют собой специальные элементы ПО, которые выполняют низкоуровневые операции хранения.
Для построения облачного хранилища данных используются следующие базовые технологии хранения:
Filesystem
— файловая технология хранения;
Предупреждение
Сетевая файловая система (Network File System — NFS) не поддерживает файловые атрибуты безопасности, поэтому использование данной ФС при построении облачного хранилища, функционирующего в мандатном контексте, недопустимо.
LVM
— блочная технология хранения с использованием LVM (logical volume manager — менеджер логических томов);Ceph
— программно-определяемая технология хранения Ceph;Raw Device Mapping
— прямое подключение к ВМ существующих блочных устройств, используется только для организации хранилища образов;iSCSI-Libvirt
— прямое подключение к ВМ существующих устройствiSCSI
, используется только для организации хранилища образов.
Описание доступных методов передачи данных (драйверов) для используемых базовых технологий хранения приведено в таблице:
Технологии хранения |
Методы передачи данных между хранилищем образов и системным хранилищем |
---|---|
Filesystem |
ssh — образы копируются с помощью ssh-протокола; shared — образы экспортируются в соответствующий каталог системного хранилища на узле виртуализации; qcow2 — аналогично shared, но для образов формата qcow2. Образы создаются и передаются с помощью команды qemu-img с использованием оригинального образа в качестве опорного файла |
Ceph |
ceph — все образы экспортируются в Ceph-пулы; ssh — rbd-файл, ассоциируемый с образом, экспортируется в файл локальной файловой системы узла виртуализации |
LVM |
fs_lvm — образы хранятся как обычные файлы, при создании ВМ они выгружаются в логические тома (LV); lvm_lvm — создаются отдельные группы LVM-томов для хранилища образов и системного хранилища; lvm_thin — создаются отдельные группы LVM-томов для хранилища образов и системного хранилища, но системное хранилище организуется индивидуально для каждого узла виртуализации |
Raw Devices |
dev — образы представляют собой существующие блочные устройства в узлах |
iSCSI libvirt |
iscsi — образы представляют собой компоненты iSCSI target |
По умолчанию после инициализации сервисов ПВ облачные хранилища настроены на использование локальной файловой системы (каталоги /var/lib/one/datastores/<идентификатор_хранилища>
). При этом в качестве метода передачи данных между хранилищем образов и системным хранилищем установлен ssh.
Идентификаторы и наименования облачных хранилищ, созданных по умолчанию во время инициализации сервисов ПВ, приведены в таблице:
Идентификатор |
Наименование |
Описание |
---|---|---|
|
|
системное хранилище |
|
|
хранилище образов |
|
|
хранилище файлов и ядер |
Примечание
Стандартный путь для хранилищ /var/lib/one/datastores
можно изменить в конфигурационном файле /etc/one/oned.conf
через параметр настройки DATASTORE_LOCATION
.