Barium:виртуализация — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(PXE загрузка)
Строка 60: Строка 60:
 
Для такой загрузки подготовлен специальный модуль, в котором есть необходимый софт и минимальные настройки. Далее описывается последовательность действий на примере virt-manager.
 
Для такой загрузки подготовлен специальный модуль, в котором есть необходимый софт и минимальные настройки. Далее описывается последовательность действий на примере virt-manager.
  
* Создаем образ для загрузки Бария, который будет нашим PXE, NFS, DHCP сервером, в локальной для виртуальных машин сети. Далее Сервер.  
+
* Создаем образ для загрузки Бария, который будет нашим PXE, NFS, DHCP сервером в локальной, для виртуальных машин, сети. Далее Сервер.  
 
Чтобы не иметь проблем с указанием источника содержащего ROSA-DATA, устанавливаем барий на три раздела.
 
Чтобы не иметь проблем с указанием источника содержащего ROSA-DATA, устанавливаем барий на три раздела.
  

Версия 15:43, 16 августа 2022

Запуск Бария в виртуальных машинах

Сборки Бария распространяются архивами tar.gz и в формате iso. Второй вполне подходит для запуска в виртуальных машинах, но речь здесь пойдет о другом. simple-install, это скрипт, который используется для установки Бария, не такой уж и simple, как оказалось :), и может быть использован для генерации готового образа для виртуальной машины. С разделом для хранения данных, с шифрованием, свопом, блэкджеком и проч. На момент написания статьи поддерживается создание образов в формате qcow2 и "сырых" образов img. 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

При установке в 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.