OpenNebula/Создание образа: различия между версиями
(Новая страница: « В данной статье рассмотрены примеры подготовки образов ОС Альт (Image for ALT Virtual Machines) в сред…») |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
Управлять образами можно в командной строке (команда {{cmd|oneimage}}) или в веб-интерфейсе (вкладка «Storage» → «Images»). | Управлять образами можно в командной строке (команда {{cmd|oneimage}}) или в веб-интерфейсе (вкладка «Storage» → «Images»). | ||
Для создания образа ОС, необходимо подготовить ВМ и извлечь её диск. | Для создания образа ОС, необходимо подготовить ВМ и извлечь её диск. | ||
=== В командной строке === | |||
{{Note|Команды выполняются от имени пользователя oneadmin.}} | {{Note|Команды выполняются от имени пользователя oneadmin.}} | ||
1. | 1. Загрузить ISO-образ: | ||
<source lang="text" highlight="1">$ wget -O /var/tmp/alt-workstation-9.1-x86_64 https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.1-x86_64.iso</source> | <source lang="text" highlight="1">$ wget -O /var/tmp/alt-workstation-9.1-x86_64 https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.1-x86_64.iso</source> | ||
{{Note|ISO-образ должен быть загружен в папку, к которой имеет доступ пользователь oneadmin.}} | {{Note|ISO-образ должен быть загружен в папку, к которой имеет доступ пользователь oneadmin.}} | ||
2. Создать два образа в хранилище данных. | 2. Создать два образа в хранилище данных. | ||
{{Note|Список доступных хранилищ можно просмотреть, выполнив команду: | {{Note|Список доступных хранилищ можно просмотреть, выполнив команду: | ||
<source lang="text" highlight="1"> $ onedatastore list</source> | <source lang="text" highlight="1"> $ onedatastore list</source> | ||
}} | }} | ||
Строка 32: | Строка 31: | ||
ID: 31 | ID: 31 | ||
</source> | </source> | ||
Создать пустой образ диска, на котором будет установлена операционная система (тип образа — DATABLOCK, размер 45 ГБ, драйвер qcow2): | Создать пустой образ диска, на котором будет установлена операционная система (тип образа — DATABLOCK, размер 45 ГБ, драйвер qcow2): | ||
Строка 42: | Строка 37: | ||
ID: 33 | ID: 33 | ||
</source> | </source> | ||
Просмотреть список образов: | Просмотреть список образов: | ||
<source lang="text" highlight="1">$ oneimage list</source> | <source lang="text" highlight="1">$ oneimage list</source> | ||
3. Создать шаблон ВМ, который использует | 3. Создать шаблон ВМ, который использует два созданных образа в качестве локальных дисков. | ||
Создать файл template со следующим содержимым: | Создать файл template со следующим содержимым: | ||
Строка 94: | Строка 85: | ||
<source lang="text" highlight="1">$ onetemplate list</source> | <source lang="text" highlight="1">$ onetemplate list</source> | ||
4. Создать экземпляра шаблона: | |||
<source lang="text" highlight="1">$ onetemplate instantiate 22 | |||
VM ID: 94 | |||
</source> | |||
5. Подключиться к созданной ВМ через SPICE и установить ОС. | |||
{{Note|Процесс создания ВМ может занять несколько минут.}} | |||
Подключиться К ВМ можно как из веб-интерфейса Sunstone, так и используя любой клиент SPICE: spice://192.168.0.190:5994 | |||
где 192.168.0.190 адрес хоста с ВМ, а 94 идентификатор ВМ (номер порта 5900 + 94). | |||
[[Файл:Opennebula-installOS.png|OpenNebula. Установка ОС]] | |||
6. Настроить контекстуализацию на ВМ. | |||
OpenNebula использует метод, называемый контекстуализацией, для отправки информации на виртуальную машину во время загрузки. Контекстуализация позволяет установить или переопределить данные ВМ, имеющие неизвестные значения или значения по умолчанию (имя хоста, IP-адрес, .ssh/authorized_keys). | |||
Для настройки контекстуализации на установленной ОС: | |||
# Подключиться к ВМ через SPICE или по ssh. | |||
# Установить {{pkg|opennebula-context}}: | |||
#: <source lang="text" highlight="1,2"># apt-get update | |||
# apt-get install opennebula-context</source> | |||
#Переключиться на [[systemd-networkd]] | |||
#* установить пакет {{pkg|systemd-timesyncd}} | |||
#*:<source lang="text" highlight="1"># apt-get install systemd-timesyncd</source> | |||
#* создать файл автонастройки всех сетевых интерфейсов по DHCP {{path|/etc/systemd/network/lan.network}} со следующим содержимым: | |||
#*:<source lang="text"> | |||
[Match] | |||
Name = * | |||
[Network] | |||
DHCP = ipv4 | |||
</source> | |||
#*переключиться с etcnet/NetworkManager на systemd-networkd: | |||
#*:<source lang="text" highlight="1"># systemctl disable network NetworkManager && systemctl enable systemd-networkd systemd-timesyncd</source> | |||
Перезагрузить систему. После перезагрузки доступ в систему будет возможен по ssh-ключу, ВМ будет назначен IP-адрес, который OpenNebula через механизм IPAM (подсистема IP Address Management) выделит из пула адресов. | |||
7. Произвести необходимую настройку системы для дальнейшего использования (например, [[VDI/OpenUDS#Подготовка_шаблона_виртуальной_машины |при подготовке шаблона ВМ для UDS необходимо установить и настроить openuds-actor, удалённый доступ]]). | |||
8. Удалить ВМ и изменить тип диска с установленной ОС. | |||
После завершения установки и настройки системы следует выключить и удалить ВМ. | |||
Диск находится в состоянии Persistent, поэтому все внесенные изменения будут постоянными. | |||
Удаление ВМ в командной строке: | |||
<source lang="text" highlight="1">$ onevm terminate 94</source> | |||
Изменить тип блочного устройства с «Datablock» на «OS» и в состояние «Non Persistent»: | |||
<source lang="text" highlight="1,2">$ oneimage chtype 33 OS | |||
$ oneimage nonpersistent 33 | |||
</source> | |||
9. Образ готов. Далее можно использовать как имеющийся шаблон, так и создать новый на основе образа диска «ALT Workstation». | |||
=== В веб-интерфейсе === | |||
1. Загрузите ISO-образ: | |||
<source lang="text" highlight="1">$ wget -O /var/tmp/alt-workstation-9.1-x86_64 https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.1-x86_64.iso</source> | |||
{{Note|ISO-образ должен быть загружен в папку, к которой имеет доступ пользователь oneadmin.}} | |||
{{Note| Возможна загрузка файла ISO-образа на сервер из веб-интерфейса, но при больших размерах файлов (>1 ГБ) могут возникать ошибки тайм-аута Ajax и/или отсутствие ответа от сервера (т.к. запрос на загрузку должен оставаться в состоянии pending, пока копирование не будет завершено). }} | |||
2. Создать два образа в хранилище данных. | |||
Создать образ типа CDROM в хранилище данных по умолчанию, для файла ISO-образа, загруженного на предыдущем шаге. Перейти в раздел «Storage»→«Images» («Образы ВМ»), нажать на «+» → «Create», в открывшемся окне заполнить поле «Name», выбрать тип образа «Readonly CD-ROM» («CD-ROM только для чтения»), хранилище, расположение образа «Path in OpenNebula Server», укажите путь к файлу (.iso), нажать кнопку «Create» («Создать»): | |||
[[Файл:Sunstone-addimage-cdrom.png|Создать образ типа CDROM]] | |||
Создать пустой образ диска, на котором будет установлена операционная система. В разделе «Images», нажать на «+» → «Create», в открывшемся окне заполнить поле «Name», выбрать в выпадающем списке «Type» значение «Generic storage datablock», в выпадающем списке «This image is persistent» значение Yes», отметить в «Image Location» пункт «Empty disk image», установить размер выбранного блока, например 45GB, а также драйвер qcow2 и нажать кнопку «Create»: | |||
[[Файл:Sunstone-addimage-datablock.png|Создать пустой образ диска]] | |||
3. Создать шаблон ВМ, который использует выше упомянутые два образа в качестве локальных дисков: | |||
* в левом меню выбрать «Templates» → «VMs»,на загруженной странице нажать кнопку «+» и выбрать пункт «Create»; | * в левом меню выбрать «Templates» → «VMs»,на загруженной странице нажать кнопку «+» и выбрать пункт «Create»; | ||
* на вкладке «General» («Общие») необходимо указать параметры процессора, оперативной памяти, а также гипервизор: | * на вкладке «General» («Общие») необходимо указать параметры процессора, оперативной памяти, а также гипервизор: | ||
Строка 112: | Строка 183: | ||
4. Создать экземпляра шаблона. | 4. Создать экземпляра шаблона. | ||
Для инициализации установки ОС из созданного шаблона в левом меню следует выбрать пункт «Templates» → «VMs», выбрать шаблон и нажать кнопку «Instaniate»: | |||
[[Файл:Sunstone-instantiatevmtemplate-01.png|800px|OpenNebula. Инициализации установки ОС из созданного шаблона]] | |||
В открывшемся окне необходимо указать имя ВМ и нажать кнопку «Instaniate»: | |||
[[Файл:Sunstone-instantiatevmtemplate.png|OpenNebula. Инициализации установки ОС из созданного шаблона]] | [[Файл:Sunstone-instantiatevmtemplate.png|800px|OpenNebula. Инициализации установки ОС из созданного шаблона]] | ||
5. Подключиться к созданной ВМ через SPICE и установить ОС. | 5. Подключиться к созданной ВМ через SPICE и установить ОС. | ||
{{Note|Процесс создания ВМ может занять несколько минут.}} | {{Note|Процесс создания ВМ может занять несколько минут. Следует дождаться статуса — «RUNNING» («Запущено»).}} | ||
Подключиться К ВМ можно как из веб-интерфейса (раздел «Instances» → «VMs», нажать на кнопку «SPICE/VNC», находящуюся в крайнем правом столбце напротив соответствующей ВМ): | |||
[[Файл:Opennebula-VM.png|OpenNebula. Подключение к ВМ через SPICE ]] | |||
Так и используя любой клиент SPICE: spice://192.168.0.190:5994 | |||
где 192.168.0.190 адрес хоста с ВМ, а 94 идентификатор ВМ (номер порта 5900 + 94). | где 192.168.0.190 адрес хоста с ВМ, а 94 идентификатор ВМ (номер порта 5900 + 94). | ||
Строка 140: | Строка 215: | ||
#: <source lang="text" highlight="1,2"># apt-get update | #: <source lang="text" highlight="1,2"># apt-get update | ||
# apt-get install opennebula-context</source> | # apt-get install opennebula-context</source> | ||
#Переключиться на [[systemd-networkd]] | #Переключиться на [[systemd-networkd]]: | ||
#* установить пакет {{pkg|systemd-timesyncd}} | #* установить пакет {{pkg|systemd-timesyncd}}: | ||
#*:<source lang="text" highlight="1"># apt-get install systemd-timesyncd</source> | #*:<source lang="text" highlight="1"># apt-get install systemd-timesyncd</source> | ||
#* создать файл автонастройки всех сетевых интерфейсов по DHCP {{path|/etc/systemd/network/lan.network}} со следующим содержимым: | #* создать файл автонастройки всех сетевых интерфейсов по DHCP {{path|/etc/systemd/network/lan.network}} со следующим содержимым: | ||
Строка 159: | Строка 234: | ||
8. Удалить ВМ и изменить тип диска с установленной ОС. | 8. Удалить ВМ и изменить тип диска с установленной ОС. | ||
После завершения установки и настройки системы следует выключить и удалить ВМ. Диск находится в состоянии Persistent, поэтому все внесенные изменения будут постоянными. | |||
Для удаления ВМ в левом меню следует выбрать пункт «Instances» → «VMs», выбрать ВМ и нажать кнопку «Terminate»: | |||
[[Файл:Opennebula-terminateVM.png|OpenNebula. Удаление ВМ ]] | |||
Перейти в раздел «Storage»→«Images», выбрать образ с установленной ОС (ALT Workstation). Изменить тип блочного устройства с «Datablock» на «OS» и состояние на «Non Persistent»: | |||
[[Файл:Sunstone-addimage-os.png|OpenNebula. Изменение типа блочного устройства ]] | |||
9. Образ готов. Далее можно использовать как имеющийся шаблон, так и создать новый на основе образа диска «ALT Workstation». | 9. Образ готов. Далее можно использовать как имеющийся шаблон, так и создать новый на основе образа диска «ALT Workstation». |
Версия от 22:21, 19 мая 2021
В данной статье рассмотрены примеры подготовки образов ОС Альт (Image for ALT Virtual Machines) в среде OpenNebula.
Методы добавления образов в облако:
- создание образов в среде OpenNebula из файла ISO-образа диска;
- использование шаблона из магазина приложений OpenNebula (marketplace).
Создание образа в среде OpenNebula из файла ISO-образа диска
Управлять образами можно в командной строке (команда oneimage) или в веб-интерфейсе (вкладка «Storage» → «Images»). Для создания образа ОС, необходимо подготовить ВМ и извлечь её диск.
В командной строке
1. Загрузить ISO-образ:
$ wget -O /var/tmp/alt-workstation-9.1-x86_64 https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.1-x86_64.iso
2. Создать два образа в хранилище данных.
$ onedatastore list
Создать образ типа CDROM в хранилище данных по умолчанию (ID = 1), для файла ISO-образа, загруженного на предыдущем шаге:
$ oneimage create -d 1 --name "ALT Workstation ISO" --path /var/tmp/alt-workstation-9.1-x86_64 --type CDROM
ID: 31
Создать пустой образ диска, на котором будет установлена операционная система (тип образа — DATABLOCK, размер 45 ГБ, драйвер qcow2):
$ oneimage create -d 1 --name "ALT Workstation" --type DATABLOCK --size 45G --persistent --driver qcow2
ID: 33
Просмотреть список образов:
$ oneimage list
3. Создать шаблон ВМ, который использует два созданных образа в качестве локальных дисков.
Создать файл 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
Просмотреть список шаблонов:
$ onetemplate list
4. Создать экземпляра шаблона:
$ onetemplate instantiate 22
VM ID: 94
5. Подключиться к созданной ВМ через SPICE и установить ОС.
Подключиться К ВМ можно как из веб-интерфейса Sunstone, так и используя любой клиент SPICE: spice://192.168.0.190:5994
где 192.168.0.190 адрес хоста с ВМ, а 94 идентификатор ВМ (номер порта 5900 + 94).
6. Настроить контекстуализацию на ВМ.
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
- установить пакет systemd-timesyncd
Перезагрузить систему. После перезагрузки доступ в систему будет возможен по ssh-ключу, ВМ будет назначен IP-адрес, который OpenNebula через механизм IPAM (подсистема IP Address Management) выделит из пула адресов.
7. Произвести необходимую настройку системы для дальнейшего использования (например, при подготовке шаблона ВМ для UDS необходимо установить и настроить openuds-actor, удалённый доступ).
8. Удалить ВМ и изменить тип диска с установленной ОС. После завершения установки и настройки системы следует выключить и удалить ВМ. Диск находится в состоянии Persistent, поэтому все внесенные изменения будут постоянными.
Удаление ВМ в командной строке:
$ onevm terminate 94
Изменить тип блочного устройства с «Datablock» на «OS» и в состояние «Non Persistent»:
$ oneimage chtype 33 OS
$ oneimage nonpersistent 33
9. Образ готов. Далее можно использовать как имеющийся шаблон, так и создать новый на основе образа диска «ALT Workstation».
В веб-интерфейсе
1. Загрузите ISO-образ:
$ wget -O /var/tmp/alt-workstation-9.1-x86_64 https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.1-x86_64.iso
2. Создать два образа в хранилище данных.
Создать образ типа CDROM в хранилище данных по умолчанию, для файла ISO-образа, загруженного на предыдущем шаге. Перейти в раздел «Storage»→«Images» («Образы ВМ»), нажать на «+» → «Create», в открывшемся окне заполнить поле «Name», выбрать тип образа «Readonly CD-ROM» («CD-ROM только для чтения»), хранилище, расположение образа «Path in OpenNebula Server», укажите путь к файлу (.iso), нажать кнопку «Create» («Создать»):
Создать пустой образ диска, на котором будет установлена операционная система. В разделе «Images», нажать на «+» → «Create», в открывшемся окне заполнить поле «Name», выбрать в выпадающем списке «Type» значение «Generic storage datablock», в выпадающем списке «This image is persistent» значение Yes», отметить в «Image Location» пункт «Empty disk image», установить размер выбранного блока, например 45GB, а также драйвер qcow2 и нажать кнопку «Create»:
3. Создать шаблон ВМ, который использует выше упомянутые два образа в качестве локальных дисков:
- в левом меню выбрать «Templates» → «VMs»,на загруженной странице нажать кнопку «+» и выбрать пункт «Create»;
- на вкладке «General» («Общие») необходимо указать параметры процессора, оперативной памяти, а также гипервизор:
- на вкладе «Storage» («Хранилище») укажите диск с установщиком ОС, далее добавьте новый диск и укажите ранее созданный пустой диск (DATABLOCK), развернуть «Advanced options» и в выпадающем списке «BUS» выбрать «Virtio»:
- на вкладке «Network» («Сеть») в поле «Default hardware model to emulate for all NICs» указать «virtio» и если необходимо выбрать сеть:
- на вкладке «OS&CPU» укажите архитектуру устанавливаемой системы, далее установите в качестве первого загрузочного устройства — пустой диск (DATABLOCK), а в качестве второго — CDROM (при такой последовательности загрузочных устройств при пустом диске загрузка произойдёт с CDROM, а в дальнейшем, когда ОС будет уже установлена на диск, загрузка будет осуществляться с него).
- на вкладке «Input/Output» («Ввод/Вывод») установите отметку на SPICE:
- на вкладке «Context» («Контекст»), укажите ваш открытый SSH (.pub) для доступа к ВМ по ключу (если оставить поле пустым, будет использована переменная $USER[SSH_PUBLIC_KEY]), включить параметр «Add Network contextualization», а также авторизацию по RSA-ключам:
- на вкладке «Scheduling» («Планирование») следует выбрать кластер/хост, на котором будет размещаться виртуальное окружение:
4. Создать экземпляра шаблона.
Для инициализации установки ОС из созданного шаблона в левом меню следует выбрать пункт «Templates» → «VMs», выбрать шаблон и нажать кнопку «Instaniate»:
В открывшемся окне необходимо указать имя ВМ и нажать кнопку «Instaniate»:
5. Подключиться к созданной ВМ через SPICE и установить ОС.
Подключиться К ВМ можно как из веб-интерфейса (раздел «Instances» → «VMs», нажать на кнопку «SPICE/VNC», находящуюся в крайнем правом столбце напротив соответствующей ВМ):
Так и используя любой клиент SPICE: spice://192.168.0.190:5994 где 192.168.0.190 адрес хоста с ВМ, а 94 идентификатор ВМ (номер порта 5900 + 94).
6. Настроить контекстуализацию на ВМ.
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
- установить пакет systemd-timesyncd:
Перезагрузить систему. После перезагрузки доступ в систему будет возможен по ssh-ключу, ВМ будет назначен IP-адрес, который OpenNebula через механизм IPAM (подсистема IP Address Management) выделит из пула адресов.
7. Произвести необходимую настройку системы для дальнейшего использования (например, при подготовке шаблона ВМ для UDS необходимо установить и настроить openuds-actor, удалённый доступ).
8. Удалить ВМ и изменить тип диска с установленной ОС.
После завершения установки и настройки системы следует выключить и удалить ВМ. Диск находится в состоянии Persistent, поэтому все внесенные изменения будут постоянными.
Для удаления ВМ в левом меню следует выбрать пункт «Instances» → «VMs», выбрать ВМ и нажать кнопку «Terminate»:
Перейти в раздел «Storage»→«Images», выбрать образ с установленной ОС (ALT Workstation). Изменить тип блочного устройства с «Datablock» на «OS» и состояние на «Non Persistent»:
9. Образ готов. Далее можно использовать как имеющийся шаблон, так и создать новый на основе образа диска «ALT Workstation».
Использование магазина приложений OpenNebula
Для загрузки образа из магазина необходимо перейти в «Storage» → «MarketPlaces», выбрать «OpenNebula Public» → «Apps» (или сразу выбрать «Apps»). В списке необходимо выбрать подходящий образ диска, гипервизор (KVM). Внимательно изучите описание шаблонов готовых ВМ.