Barium and virtual machine: различия между версиями
Betcher (обсуждение | вклад) |
Betcher (обсуждение | вклад) Нет описания правки |
||
Строка 10: | Строка 10: | ||
simple-install в системе понадобится пакет qemu-img (точнее исполняемые qemu-img, qemu-nbd в системах отличных от Росы имена пакетов могут отличаться). | simple-install в системе понадобится пакет qemu-img (точнее исполняемые qemu-img, qemu-nbd в системах отличных от Росы имена пакетов могут отличаться). | ||
===== Сборка по готовому шаблону: ===== | ===== Сборка по готовому шаблону: ===== | ||
Строка 21: | Строка 21: | ||
* '''-p 123qwe''' - пароль для раздела luks | * '''-p 123qwe''' - пароль для раздела luks | ||
===== Сборка по шаблону с изменениями: | ===== Сборка по шаблону с изменениями: ===== | ||
simple-install --qimage 10000 -t virt ROSA-DATA=3:x:ext4 --flags overlay | simple-install --qimage 10000 -t virt ROSA-DATA=3:x:ext4 --flags overlay | ||
Строка 29: | Строка 29: | ||
* '''ROSA-DATA=3:x:ext4''' - задает параметры для третьего раздела с ROSA-DATA, а именно ext4 вместо luks по этому пароль задавать не нужно. | * '''ROSA-DATA=3:x:ext4''' - задает параметры для третьего раздела с ROSA-DATA, а именно ext4 вместо luks по этому пароль задавать не нужно. | ||
* '''--flags overlay''' - заменить список флагов (файлы маркеры для конфига grub2) на свой, по дефолту для -t virt там есть флаг luks | * '''--flags overlay''' - заменить список флагов (файлы маркеры для конфига grub2) на свой, по дефолту для -t virt там есть флаг luks | ||
===== Сборка со своими значениями: ===== | ===== Сборка со своими значениями: ===== | ||
Строка 40: | Строка 40: | ||
===== Для запуска такого образа с qemu нужны приблизительно такие параметры: ===== | ===== Для запуска такого образа с qemu нужны приблизительно такие параметры: ===== | ||
qemu-system-x86_64 -boot c -enable-kvm -name BARIUM -smp 2 -m 3G -vga std -rtc base=localtime -hda ./OS.img | |||
или проще с использованием qemoo: | или проще с использованием qemoo: | ||
Строка 59: | Строка 59: | ||
==== PXE загрузка ==== | ==== PXE загрузка ==== | ||
Можно пойти дальше и сделать так чтобы с Бария, установленного выше описанным способом, загружалось по PXE нужное количество виртуальных машин, которые могут даже не иметь своего виртуального диска. | Можно пойти дальше и сделать так чтобы с Бария, установленного выше описанным способом, загружалось по PXE нужное количество виртуальных машин, которые могут даже не иметь своего виртуального диска. Для такой загрузки подготовлен специальный модуль, в котором есть необходимый софт и минимальные настройки. Далее описывается последовательность действий на примере '''virt-manager'''. | ||
Для такой загрузки подготовлен специальный модуль, в котором есть необходимый софт и минимальные настройки. Далее описывается последовательность действий на примере virt-manager. | |||
* Создаем образ для загрузки Бария, который будет нашим PXE, NFS, DHCP сервером в локальной, для виртуальных машин, сети. Далее '''Сервер'''. | * Создаем образ для загрузки Бария, который будет нашим '''PXE, NFS, DHCP''' сервером в локальной, для виртуальных машин, сети. Далее '''Сервер'''. | ||
Чтобы не иметь проблем с указанием источника содержащего ROSA-DATA, устанавливаем барий на три раздела. | Чтобы не иметь проблем с указанием источника содержащего ROSA-DATA, устанавливаем барий на три раздела. | ||
* Загружаем образ. Переходим в консоли в папку /.memory/layer-base/1/modules и | * Загружаем образ. Переходим в консоли в папку /.memory/layer-base/1/modules и | ||
Строка 72: | Строка 71: | ||
ROUTER=yes | ROUTER=yes | ||
Выключаем виртуальную машину. | Выключаем виртуальную машину. Модуль у нас есть, переходим к настройкам virt-manager: | ||
Модуль у нас есть, переходим к настройкам virt-manager: | |||
* Главное окно Virt-manager. Переходим к вкладке: Правка - Свойства подключения - Виртуальные сети | * Главное окно Virt-manager. Переходим к вкладке: Правка - Свойства подключения - Виртуальные сети | ||
Строка 92: | Строка 90: | ||
* Там же в меню настроек выбрать Загрузка и поставить галочку напротив нашей сети | * Там же в меню настроек выбрать Загрузка и поставить галочку напротив нашей сети | ||
Готово. Можно грузить. | Готово. Можно грузить. Таких виртуальных машин можно запустить столько сколько позволит ваше ОЗУ. | ||
Таких виртуальных машин можно запустить столько сколько позволит ваше ОЗУ. | |||
Чтобы такие машины могли сохранять данные при работе можно подключать к ним образы qcow2. Готовый образ для данных можно генерировать также как и основной с simple-install | Чтобы такие машины могли сохранять данные при работе можно подключать к ним образы qcow2. Готовый образ для данных можно генерировать также как и основной с simple-install |
Версия от 20:27, 27 марта 2025
РОСА БАРИЙ (BARIUM OS) в виртуальных машинах
Сборки Бария распространяются архивами tar.gz и в формате iso. Второй вполне подходит для запуска в виртуальных машинах, но речь здесь пойдет о другом.
simple-install, это скрипт, который используется для установки Бария, не такой уж и simple, как кажется :), и может быть использован для генерации готового образа для виртуальной машины.
С разделом для хранения данных, с шифрованием, свопом, блэкджеком и проч. На момент написания статьи поддерживается создание образов в формате qcow2, vdi, wmdk и img ("сырых" raw) образов.
simple-install содержит готовый конфиг для образов виртуальных машин, но можно задать все необходимые параметры вручную. Рассмотрим оба варианта. Для такой сборки дополнительно к обычному списку пакетов для
simple-install в системе понадобится пакет qemu-img (точнее исполняемые qemu-img, qemu-nbd в системах отличных от Росы имена пакетов могут отличаться).
Сборка по готовому шаблону:
simple-install --qimage 10000 -t virt -p 123qwe
здесь:
- --qimage 10000 - установка в образ qcow2 размером 10000M (образ динамический,реально займет пару гигабайт)
- -t virt - использовать встроенный шаблон virt
- -p 123qwe - пароль для раздела luks
Сборка по шаблону с изменениями:
simple-install --qimage 10000 -t virt ROSA-DATA=3:x:ext4 --flags overlay
здесь:
- ROSA-DATA=3:x:ext4 - задает параметры для третьего раздела с ROSA-DATA, а именно ext4 вместо luks по этому пароль задавать не нужно.
- --flags overlay - заменить список флагов (файлы маркеры для конфига grub2) на свой, по дефолту для -t virt там есть флаг luks
Сборка со своими значениями:
simple-install --qimage 10000 -t none boot=1:100:vfat ROSA-SYSTEM=2:8000:ext3 ROSA-DATA=2 SWAP=3:x:swap --flags aufs
здесь:
- -t none - не использовать шаблон
Для запуска такого образа с qemu нужны приблизительно такие параметры:
qemu-system-x86_64 -boot c -enable-kvm -name BARIUM -smp 2 -m 3G -vga std -rtc base=localtime -hda ./OS.img
или проще с использованием qemoo:
dnf install qemoo qemoo ./OS.img
При установке в virt-manager:
- выбираем Импорт образа диска,
- добавляем папку с образом как хранилище, выбираем наш образ,
- тип generic linux 2020,
- Память, процессоры и прочие настройки - по желанию
Установка завершена записываем в ROSA.ini явки, пароли и можно пользоваться
PXE загрузка
Можно пойти дальше и сделать так чтобы с Бария, установленного выше описанным способом, загружалось по PXE нужное количество виртуальных машин, которые могут даже не иметь своего виртуального диска. Для такой загрузки подготовлен специальный модуль, в котором есть необходимый софт и минимальные настройки. Далее описывается последовательность действий на примере virt-manager.
- Создаем образ для загрузки Бария, который будет нашим PXE, NFS, DHCP сервером в локальной, для виртуальных машин, сети. Далее Сервер.
Чтобы не иметь проблем с указанием источника содержащего ROSA-DATA, устанавливаем барий на три раздела.
- Загружаем образ. Переходим в консоли в папку /.memory/layer-base/1/modules и
barium getmod pxeboot.xzm
- В файле /.memory/layer-base/1/ROSA.ini раскомментируем:
ROUTER=yes
Выключаем виртуальную машину. Модуль у нас есть, переходим к настройкам virt-manager:
- Главное окно Virt-manager. Переходим к вкладке: Правка - Свойства подключения - Виртуальные сети
- Жмем плюс. Название: любое например pxe, Режим: Изолированный, Все остальные галки нужно убрать.
- В главном окне virt-manager жмем по иконке нашего Сервера, откроется окно, не запуская переходим к настройкам (голубой флажок в панели)
- Удаляем все сетевые устройства. Скорее всего там одно дефолтное с NAТ.
- Жмем плюс, выбираем новое сетевое устройство. В пункте Создать на базе выбираем ранее созданную сеть pxe
- Аналогично добавляем еще одно сетевое устройство, только на этот раз с NAT.
Сервер готов, можно загрузить.
Переходим к клиентам.
- Главное окно virt-manager. Создать новую виртуальную машину. Установка вручную. Тип машины Generic Linux 2020. Память и процессоры по желанию.
- В настройках хранилища убираем галку с создания и не выбираем готовых образов (потом добавим если нужно)
- В последнем меню нужно поставить галку в графе проверить конфигурацию перед установкой
- В меню настроек нужно также удалить сетевое устройство по умолчанию и добавить наше pxe. Второе сетевое устройство здесь не понадобится.
- Там же в меню настроек выбрать Загрузка и поставить галочку напротив нашей сети
Готово. Можно грузить. Таких виртуальных машин можно запустить столько сколько позволит ваше ОЗУ.
Чтобы такие машины могли сохранять данные при работе можно подключать к ним образы qcow2. Готовый образ для данных можно генерировать также как и основной с simple-install
simple-install --qimage 4000 -t none ROSA-DATA=1:3000:ext4 SWAP=2:x:swap
Такой образ подключается к каждой машине отдельно и хранит только изменения сделанные во время работы системы.
Либо данные могут писаться по nfs на Сервер, в пунктах загрузки есть пример где так подключается /home.
Запуск ОС из распакованного архива
доступен только в коммерческой версии
- Распаковываем tar.gz архив со сборкой в папку под ОС linux
- Проверяем наличие в системе qemu-system-x86_64, при отсутствии останавливаем qemu
- Переходим в папку куда распакован Барий
- Запускаем
./qemurun
- Способ позволяет установить ОС на токен без создания установочной флешки, для этого передаем скрипту файл устройства носителя (токена)
./qemurun /dev/sda
- Далее аналогично установке с флешки, то есть запускаем графический инсталлятор, заполняем поля с явками и паролями и жмем Выполнить