Система хранилищ позволяет пользователям настраивать/устанавливать образы, которые могут быть образами ОС или данных, для использования в ВМ. Данные образы могут использоваться несколькими ВМ одновременно, а также предоставляться другим пользователями.
29.1. Создание образа ОС в среде OpenNebula
Для создания образа ОС, необходимо подготовить ВМ и извлечь её диск.
29.1.1. Создание образов дисков
Создать образ типа CDROM с установочным ISO-образом.
Для этого перейти в раздел → , на загруженной странице нажать → :
В открывшемся окне заполнить поле Название, выбрать тип образа CD-ROM только для чтения, выбрать хранилище, выбрать расположение образа Путь на сервере OpenNebula (Path in OpenNebula Server), указать путь к файлу (.iso) и нажать кнопку Создать:
ISO-образ должен быть загружен в папку, к которой имеет доступ пользователь oneadmin.
Создать пустой образ диска, на который будет установлена операционная система.
Для этого создать новый образ. Заполнить поле Название, в выпадающем списке Тип выбрать значение Generic storage datablock, в выпадающем списке Этот образ является постоянным выбрать значение Да, выбрать хранилище, в разделе Расположение образа выбрать пункт Пустой образ диска, установить размер выбранного блока, например 45GB, в разделе Расширенные настройки указать драйвер qcow2 и нажать кнопку Создать:
Эти же действия можно выполнить в командной строке.
Создать образ типа CDROM в хранилище данных по умолчанию (ID = 1):
$ oneimage create -d 1 --name "ALT Workstation ISO" --path /var/tmp/alt-workstation-9.1-x86_64.iso --type CDROM
ID: 31
Создать пустой образ диска (тип образа — DATABLOCK, размер 45 ГБ, драйвер qcow2):
$ oneimage create -d 1 --name "ALT Workstation" --type DATABLOCK --size 45G --persistent --driver qcow2
ID: 33
29.1.2. Создание шаблона ВМ
Создание шаблона в командной строке:
Создать файл template со следующим содержимым:
NAME = "ALT Workstation"
CONTEXT = [
NETWORK = "YES",
SSH_PUBLIC_KEY = "$USER[SSH_PUBLIC_KEY]" ]
CPU = "0.25"
DISK = [
IMAGE = "ALT Workstation ISO",
IMAGE_UNAME = "oneadmin" ]
DISK = [
DEV_PREFIX = "vd",
IMAGE = "ALT Workstation",
IMAGE_UNAME = "oneadmin" ]
GRAPHICS = [
LISTEN = "0.0.0.0",
TYPE = "SPICE" ]
HYPERVISOR = "kvm"
INPUTS_ORDER = ""
LOGO = "images/logos/alt.png"
MEMORY = "1024"
MEMORY_UNIT_COST = "MB"
NIC = [
NETWORK = "VirtNetwork",
NETWORK_UNAME = "oneadmin",
SECURITY_GROUPS = "0" ]
NIC_DEFAULT = [
MODEL = "virtio" ]
OS = [
BOOT = "disk1,disk0" ]
SCHED_REQUIREMENTS = "ID=\"0\""
Создать шаблон:
$ onetemplate create template
ID: 22
Ниже рассмотрен пример создания шаблона в веб-интерфейсе.
В левом меню выбрать → , на загруженной странице нажать кнопку + и выбрать пункт Создать.
На вкладке необходимо указать параметры процессора, оперативной памяти, а также гипервизор:
На вкладке необходимо указать ранее созданный пустой диск (DATABLOCK), в разделе Расширенные настройки в выпадающем списке Шина выбрать Virtio. Далее следует добавить новый диск и указать диск с установщиком ОС.
На вкладке в поле Default hardware model to emulate for all NICs указать Virtio и если необходимо выбрать сеть:
На вкладке необходимо указать архитектуру устанавливаемой системы и выбрать порядок загрузки. Можно установить в качестве первого загрузочного устройства — пустой диск (DATABLOCK), а в качестве второго — CDROM (при такой последовательности загрузочных устройств при пустом диске загрузка произойдёт с CDROM, а в дальнейшем, когда ОС будет уже установлена на диск, загрузка будет осуществляться с него).
На вкладке следует включить SPICE:
На вкладке необходимо включить параметр Использовать сетевое задание контекста, а также авторизацию по RSA-ключам (укажите свой открытый SSH (.pub) для доступа к ВМ по ключу, если оставить поле пустым, будет использована переменная $USER[SSH_PUBLIC_KEY]):
На вкладке если необходимо можно выбрать кластер/хост, на котором будет размещаться виртуальное окружение:
Для создания шаблона ВМ нажать кнопку Создать.
Для инициализации создания ВМ из шаблона в левом меню следует выбрать пункт → , выбрать шаблон и нажать кнопку Создать ВМ:
В открывшемся окне необходимо указать имя ВМ и нажать кнопку Создать ВМ:
Создание экземпляра ВМ из шаблона в командной строке:
$ onetemplate instantiate 22
VM ID: 94
29.1.4. Подключение к ВМ и установка ОС
Процесс создания ВМ может занять несколько минут. Следует дождаться статуса — «ЗАПУЩЕНО» («RUNNING»).
Подключиться к ВМ можно как из веб-интерфейса Sunstone, раздел → выбрать ВМ и подключиться по SPICE:
Так и используя, любой клиент SPICE:
spice://192.168.0.190:5994
где 192.168.0.190 адрес хоста с ВМ, а 94 идентификатор ВМ (номер порта 5900 + 94).
Далее необходимо провести установку системы:
29.1.5. Настройка контекстуализации
OpenNebula использует метод, называемый контекстуализацией, для отправки информации на ВМ во время загрузки. Контекстуализация позволяет установить или переопределить данные ВМ, имеющие неизвестные значения или значения по умолчанию (имя хоста, IP-адрес, .ssh/authorized_keys).
Пример настройки контекстуализации на установленной ОС Альт:
Подключиться к ВМ через SPICE или по ssh.
Установить пакет opennebula-context:
# apt-get update && apt-get install opennebula-context
Переключиться на systemd-networkd:
установить пакет systemd-timesyncd:
# apt-get install systemd-timesyncd
создать файл автонастройки всех сетевых интерфейсов по DHCP
/etc/systemd/network/lan.network
со следующим содержимым:
[Match]
Name = *
[Network]
DHCP = ipv4
переключиться с etcnet/NetworkManager на systemd-networkd:
# systemctl disable network NetworkManager && systemctl enable systemd-networkd systemd-timesyncd
Перезагрузить систему.
После перезагрузки доступ в систему будет возможен по ssh-ключу, ВМ будет назначен IP-адрес, который OpenNebula через механизм IPAM (подсистема IP Address Management) выделит из пула адресов.
29.1.6. Создание образа типа OS
После завершения установки и настройки системы следует выключить и удалить ВМ. Диск находится в состоянии Persistent, поэтому все внесенные изменения будут постоянными.
Для удаления ВМ в левом меню следует выбрать пункт → , выбрать ВМ и нажать кнопку Уничтожить:
Удаление ВМ в командной строке:
$ onevm terminate 94
Затем перейти в → , выбрать образ с установленной ОС (ALT Workstation) и изменить тип блочного устройства с Datablock на ОС и состояние на Non Persistent:
Изменить тип блочного устройства на
ОС и состояние на
Non Persistent:
$ oneimage chtype 33 OS
$ oneimage nonpersistent 33
Образ готов. Далее можно использовать как имеющийся шаблон, так и создать новый на основе образа диска «ALT Workstation».