Product SiteDocumentation Site

Глава 29. Работа с хранилищами в OpenNebula

29.1. Типы хранилищ
29.2. Драйверы передачи данных
29.3. Хранилища по умолчанию
29.4. Создание хранилищ
29.4.1. Конфигурация с драйвером ssh («локальное хранилище»)
29.4.2. Хранилище NFS/NAS
29.4.3. Гибридная конфигурация: NFS + локальное хранилище
29.4.4. Хранилище SAN
29.4.5. Хранилище файлов и ядер
29.5. Изменение параметров хранилища
В OpenNebula система хранения данных построена на концепции хранилищ данных (datastores). Хранилище данных — это любой носитель информации, предназначенный для хранения образов дисков и вспомогательных файлов.

29.1. Типы хранилищ

OpenNebula использует три типа хранилищ данных:
  • Хранилище образов (Images Datastore) — используется для хранения образов операционных систем, постоянных томов данных и образов CD-ROM.
  • Системное хранилище (System Datastore) — хранит диски работающих ВМ. При запуске ВМ её диски копируются из хранилища образов, а при остановке — удаляются (если образ непостоянный).
  • Хранилище файлов и ядер (Files & Kernels Datastore) — хранит вспомогательные файлы, например, ядра Linux (vmlinuz), образы initrd/initramfs, а также файлы контекстуализации.
В зависимости от назначения выделяют два типа образов:
  • Постоянные (persistent) — предназначены для хранения пользовательских данных (например, баз данных). Изменения, внесённые в такие образы, сохраняются после завершения работы ВМ. В каждый момент времени постоянный образ может быть подключён только к одной ВМ.
  • Непостоянные (non-persistent) — используются для хранения дисков ВМ, работающих в текущий момент. Образы копируются или клонируются из хранилища образов при запуске ВМ и удаляются при её завершении, отключении диска или удалении ВМ. После удаления ВМ копия образа в системном хранилище также удаляется.
Схема взаимодействия хранилищ
Передача образов дисков между хранилищем образов и системным хранилищем осуществляется с помощью драйверов Transfer Manager (TM). Эти драйверы представляют собой специализированные программные компоненты, выполняющие низкоуровневые операции хранения и передачи данных.
Образы хранятся в соответствующих каталогах хранилищ (/var/lib/one/datastores/<ID_хранилища>). Кроме того, для каждой запущенной ВМ в системном хранилище создаётся каталог /var/lib/one/datastores/<ID_хранилища>/<ID_ВМ>. В этих каталогах размещаются диски ВМ и дополнительные файлы, например контрольные точки и снимки.
Например, система с хранилищем образов с идентификатором 1, содержащим три образа, и тремя ВМ (ВМ 0 и 2 работают, ВМ 7 остановлена), развёрнутыми в системном хранилище с идентификатором 0, будет иметь следующую структуру:
/var/lib/one/datastores
|-- 0/
|   |-- 0/
|   |   |-- disk.0
|   |   `-- disk.1
|   |-- 2/
|   |   `-- disk.0
|   `-- 7/
|       |-- checkpoint
|       `-- disk.0
`-- 1
|-- 19217fdaaa715b04f1c740557826514b
|-- 99f93bd825f8387144356143dc69787d
`-- da8023daf074d0de3c1204e562b8d8d2

Примечание

Базовый путь /var/lib/one/datastores можно изменить в файле /etc/one/oned.conf с помощью параметра DATASTORE_LOCATION.