Подготовка VM для запуска тестов в SPB Labs (BIOS)

Шаг1. Настройка параметров VM

  1. Для запуска тестов нужна виртуальная машина со следующими параметрами:

  • 4 ядра

  • 8Gb памяти

  • 30Gb hdd (и 3x8Gb для тестов zfs)

В SPB Labs виртуальные машины находятся в vSphere по адресу по этому адресу.

2. Ваша машина будет доступна по некоторому IP адресу. Для этого нужно зайти на страничку https://dilos-dev.atlassian.net/wiki/spaces/AL/pages/1936326753 и выбрать свободный IP, например:

Как мы видим, на этой страничке свободны 127 и 138 адреса, которые при вводе будут иметь вид 10.20.50.127 и 10.20.50.138 соответственно. Справа от номера нужно вписать имя своей машины и запомнить адрес.

3. Возвращаемся назад и настраиваем параметры машины (Edit Settings…):

В настройках нужно выбрать ISO-файл (Datastore ISO file), с которого будет осуществляться установка DilOS:

В репозитории находятся несколько версий, выбирайте ту, которая вам нужна для тестирования. Мы для примера выбираем последнюю версию.

Не забудьте поставить галочку Connected At Power On, чтобы при включении питания ISO-файл подключался автоматически.

При запуске машины ISO-файл представляется как CD-ROM, поэтому нужно чтобы загрузка осуществлялась с CD-ROM. Для этого нужно в BIOS выбрать правильную последовательность загрузки. Для эмуляции запуска BIOS нужно на закладке VM Options в Boot Options поставить галочку During the next boot, force entry into the setup screen

Настройка сделана, можем запускать машину.

Шаг2. Запуск VM

1. Для запуска машины выбираем в меню Power | Power On

2. В момент запуска открываем Web Console, для чего кликаем мышкой надпись Launch Web Console. И внутри открывшейсяконсоли попадаем в BIOS


3. Дальше на вкладке Boot передвигаем (используя +/- для передвижения вверх/вниз)на первое место CD-ROM Drive и сохраняем по нажатию на клавишу F10 Save and Exit.

Шаг 3. Установка DilOS

После сохранения конфигурации BIOS происходит загрузка VM с эмулируемого CD-ROM, т.е из выбранного ISO-файла. В меню GRUB выбираем пункт Install dilos в нашем случае ('2.0.2.48')

После загрузки следуем инструкции на экране - регистрируемся под администратором: логин root, пароль 123.

В некоторых версиях возможно возникновение ошибки tnf:

Если она у вас появится, то нужно удалить драйвер tnf. Имя этой компоненты можно узнать командой:

dpkg -l | grep tnf

У нас оно system-tnf, удаляем его командой:

apt remove --purge system-tnf

Чтобы запустить установщик операционной системы, введите команду

screen

По умолчанию используется network интерфейс vmxnet3s0, но возможно, у Вас будет другой и, возможно, не один. Используйте тот, через который Вы будете подключаться к сети. У нас он один, и мы будем подключаться через него.

Для использования статического IP адреса выбираем 2-ой пункт Using static IPv4:

и вводим адрес, который мы выбрали из таблицы и запомнили на Шаге 1. п.2:

Вводим маску подсети 255.255.255.0

Вводим адрес шлюза, в SPB Labs его адрес 10.20.50.199

Подтверждаем установки. Если что-то введено неправильно, эти настройки можно поменять.

Далее, если нет специальных требований, то лучше оставить значение MTU, как есть:

Теперь задаем пароль для root.

Root - это системный администратор, он может делать всё, что угодно, устанавливать/обновлять/удалять пакеты, редактировать конфигурационные файлы и разные другие действия. Будьте аккуратны при работе под этой учётной записью и не забывайте пароль!

Создаем свою учетную запись. Под ней Вы сможете работать для работать помимо прочего и с удаленного терминала (для примера пусть будет og) и вводим логин и пароль:

Можете ввести какое-нибудь имя для ноды, если это принципиально (если Вы введёте имя, соответствующее имени машины в vSphere, это может облегчить работу с тестами в дальнейшем). В противном случае оставьте его, как есть, для чего нажмите Enter:

и подтвердите выбор.

Если у вас машина будет подключаться к какому-нибудь домену, то можете ввести здесь его имя, в противном случае оставьте как есть, для чего просто нажмите Enter:

Дальше нужно ввести адрес nameserver-а, он у нас 8.8.8.8 и дополнительный 8.8.4.4. Эти адреса будут выставляться по умолчанию, поэтому их можно просто подтвердить. Search list можно оставить пустым. Вы сможете изменить его позже, если будет такая надобность.

Подтверждаем настройки:

Выбираем диск, на который будем устанавливать операционную систему. Здесь он у нас один - и выбор очевиден. А в конфигурации для машины с четырьмя дисками их будет 4 - выбирайте самый большой:

и подтверждаем настройки:

Дальше происходит установка системы, на экране будут выводиться логи установки. По окончании установки нажимаем Enter для перезагрузки.

Шаг 4. Загрузка установленной системы.

Дальше нужно снова поменять порядок загрузки, но теперь в обратную сторону: первым загрузочным устройством поставить локальный диск вместо CD-ROM. Для этого опять идем в настройки VM и убеждаемся что включена загрузка через BIOS:

Опять перезапускаем VM через меню Power | Reset и меняем на вкладке Boot загрузку с CD-ROM на загрузку с Hard Drive

Теперь по умолчанию VM будет загружать свежеустановленную систему.

После загрузки на виртуальную машину можно зайти не только через Web Console, но и удаленно по протоколу SSH. Для этого можно в терминале зайти по ssh с пользователем, которого Вы создали при установке. У нас это og.

После загрузки на виртуальную машину можно зайти не только через Web Console, но и удаленно по протоколу SSH. Для этого можно в терминале зайти по ssh с пользователем, которого Вы создали при установке. У нас это og.

Возможно, Вы не создавали никаких ssh ключей, или они изменялись. Тогда у Вас появится ошибка, типа:

Ssh порекомендует, что нужно сделать для исправления ошибки. В нашем случае это

В Вашем случае будет какая-то другая команда, можете просто ее скопировать и выполнить с терминала. Потом снова попытайтесь зайти через ssh.

Шаг 5. Настройка apt, создание резервных BE и установка Open VM Tools

Дальнейшие действия требуют административных прав. Залогиньтесь под root:

Теперь нужно создать BE с образом установленной системы при помощи утилиты beadm для того, чтобы в дальнейшем можно было использовать эту версию в качестве исходной точки, т.е. чтобы можно было пропустить все шаги этой инструкции от начала до этого места:

к этой исходной точке, выполните следующие команды:

После перезагрузки Вы попадёте в оригинальную систему, которая была Вами установлена из ISO файла.

Далее надо выбрать последнюю стабильную версию системы в качестве базовой версии DilOS, на которую будут устанавливаться любые другие (тестовые) версии. Для этого прежде всего нужно настроить пакетный менеджер apt, для чего поменять файл /etc/apt/sources.list.

В нём должен быть указан адрес репозитория, в котором лежат последние оттестированные стабильные версии DilOS:

Вы можете это сделать с помощью редактора или выполнив команду:

После этого нужно заставить apt обновить информацию о репозиториях:

Теперь обновляем пакет os-upgrade и запускаем os-upgrade:

Утилита os-upgrade предназначена для создания нового BE, содержащего последнюю версию системы DilOS из репозиториев, адреса которых указаны в файле /etc/apt/sources.list.

Формат команды:

При запуске без параметров по умолчанию утилита пытается создать BE с именем той версии, которую она находит в репозитории. Например, dilos_2.0.2.96 или dilos_2.0.3.8-20221221-1-0+int2. Поэтому если Вы пытаетесь установить установить версию, которая уже была установлена на эту VM, Вы можете принудительно удалить её и поставить апгрейд поверх неё командой:

Или оставить уже созданный BE, а новому дать другое имя. Например, если dilos_2.0.2.96 уже есть:

Если хотите перезагрузиться после установки апгрейда, просто укажите ключик -r:

После обновления логинимся под root и устанавливаем Open VM Tools, для чего вводим команду:

После успешной установки, запускаем Open VM Tools:

Теперь перезагрузим машину, либо с помощью меню Power | Reset, либо с помощью команды

Если все установилось и запустилось корректно, в vSphere для Вашей машины Вы должны увидеть ее IP адреса.

Note : До выхода новой оттестированной стабильной версии Вы можете использовать этот BE в качестве базового, т.е. все шаги, которые Вы выполнили от начала инструкции до этого места, можно будет пропустить. Для этого аналогично dilos_ISO_orig выполните команду:

beadm create dilos_BASE

А когда Вам понадобится загрузиться с этого BE, достаточно будет выполнить команды:

beadm activate dilos_BASE

reboot

Для этого можно выполнить команду beadm list:

Шаг 6. Подготовка машины для запуска тестов

Теперь подготавливаем машину для запуска тестов (все команды также должны запускаться из под root). Для входа в режим root-а можно воспользоваться командой:

  1. Установите версию DilOS, которую Вы будете тестировать. Для этого нужно указать менеджеру apt адреса репозиториев, аналогично тому, как Вы это делали выше. В файле /etc/apt/sources.list должны быть указаны следующие адреса для RELEASE версий:

Вы можете это сделать с помощью редактора или выполнив команду:

 Для DEBUG версий эти адреса, соответственно:

или:

Затем снова запустите обновление системы:

После перезагрузки снова логинимся под root.

Если по каким-то причинам версия для тестирования не грузится, можно посмотреть её файлы, как описано здесь.

Тут Вы можете проверить, что установка прошла без проблем, если введёте следующую команду:

2. А здесь Вы можете запустить готовый скрипт или выполнить следующие шаги. Cоздаем юзера ztest:

3. Настраиваем NAT по инструкции Как настроить сеть на Виртуальной Машине для глобальной зоны с коммутатором etherstub до создания зоны, потому что для тестов нужна зона dhcp.

Шаг 7. Создание тестовых зон

Шаги 1-3 Вы можете заменить запуском готового скрипта или выполнить их с проверками, как они описаны ниже.

  1. Создаем mountpoint, куда будут монтироваться все зоны:

2. Сначала создаем и запускаем зону dhcp:

Проверяем, что зона dhcp установилась:

Можно проверить, что установка зоны прошла успешно при помощи команды:

3. Заходим в зону, проверяем адреса и устанавливаем и запускаем сервер dhcp:

4. Теперь создаем клиентскую зону, если она Вам нужна (здесь приведён пример создания клиентской зоны - скорее всего Вам будет нужна какая-то другая зона или даже несколько клиентских зон):

5. Если всё получилось, то машина готова для запуска тестов.


См. beadm