Стенд в виртуальной среде

Проверка конфигурации на VM

Опасно

Никто не хочет положить продуктивную среду при обновлении!

Рано или поздно перед каждым из нас встает задача проверки конфигурации при ее обновлении на мажорную или минорную версию. Важно не только прочитать Release Notes, но и в боевой среде проверить как пройдет процесс обновления. Перед тем как произвести обновление ПО, не зависимо от того мажорный это релиз или нет, возникает вполне резонное желание проверить как конфиг с текущей версии ПО применится в новой версии. А так же, очень полезно проверить существуют ограничения на обновления или же все пройдет гладко. Увы, ничто не идеально и проверять нужно всё.

Для версии 3.7 и 3.9 рекомендуется использовать следующие гипервизоры:
  • VMWare
  • VirtualBox(vbox)

У обоих гипервизоров есть свои особенности и недостатки (TODO: перчислить).

Создание VM для ЦУС

Для обоих гипервизоров выбор профиля ОС одинаков:
  • Версия 3.7 - 32-х разрядная версия FreeBSD
  • Версия 3.9 - 64-х разрядная версия FreeBSD

Примечание

Если для версии 3.7 выбрать 64-х битный профиль ничего страшного не произойдет.

Необходимые ресурсы для VM:
  • CPU: 1 и более ядро
  • RAM: 1024 Мб и более
  • HDD: 2 Гб и более
  • USB: версия контроллера не ниже v2.0

Примечание

Количество сетевых интерфейсов зависит от того сколько их на вашем реальном ЦУС, и сколько можно добавить в определенном гипервизоре.

В VMWare максимальное количество сетевых интерфесов ⩽ 8, в VirtualBox зависит от платформы где работает гипервизор (Linux - phpvitualbox более 14, Windows не более 6 интерфейсов). При использовании гипервизора, который не поддерживает большее количество интерфейсов, чем на вашем ЦУС, можно получить определенные ограничения для проверки конфигурации, о них далее.

Установка ПО на VM

В зависимости от версии существуют разные образы для установки на VM. Образы делятся на «vm_release» и «vm_debug», мы рекомендуем сразу устанавливать debug версию. Установка проходит в обычном режиме. В качестве ID (КШ №) необходимо указать ID вашего ЦУС.

Подготовка ЦУС

Для того чтобы можно было применить вашу конфигурацию на виртулаьный ЦУС необходимо отредактировать интерфейсы в соотвествии с тем как они есть на реальном ЦУС. Для этого можно воспользоваться специальным редактором интерфейсов БД ЦУС, распростарняемым в виде OVA-образа виртуальной машины, или внести изменения в ручном режиме при использовании скриптов, о них ниже.

Если гипервизор поддерживает необходимое количество интерфейсов, то это хорошо и вам необходимо минимум телодвижений. Для начала нужно включить «мягкий режим» на ЦУС, или настроить соотвествующие правила фильтрации для доступа на ЦУС по ssh (tcp/22). Реквизиты для доступа на ЦУС по умолчанию в debug версии:

  • Логин: root
  • Пароль: chay6spu3reswefE

После успешного подключения к ЦУС по протоколу SSH нужно перейти в директорию:

cd /etc/rc.startup/

В ней создать пустой файл:

cat /dev/null >/etc/rc.startup/001if

И записать в него скрипт который будет переименовывать интерфейсы до старта демона/сервиса ЦУС. Пример скрипта для переименовывания интерфейсов под IPC-3000F:

cat << end >> /etc/rc.startup/001if
#!/bin/sh
ifconfig em0 name ix0
ifconfig em1 name ix1
ifconfig em2 name igb0
ifconfig em3 name igb1
ifconfig em4 name igb2
ifconfig em5 name igb3
ifconfig em6 name igb4
ifconfig em7 name igb5
ifconfig em8 name igb6
ifconfig em9 name igb7
ifconfig em10 name em0
ifconfig em11 name em1
ifconfig em12 name ix2
ifconfig em13 name ix3
end

Далее нужно сделать скрипт исполняемым:

chmod +x /etc/rc.startup/001if

После чего перезагрузить КШ коммандой:

reboot

Если всё прошло гладко, то при выводе списка интерфейсов, через меню Alt+F2, у вас будут те названия, которые вы задавали в скрипте.

Примечание

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

Пример:

ifconfig tun1 create; ifconfig tun1 name em1
ifconfig tun2 create; ifconfig tun2 name em2
...

Внимание

Интерфейсы tun являются не настоящими с точки зрения виртуальной машины.

Если на подобном tun интерфейсе будет назначен какой-либо IP адрес, он не будет доступен в виртуальной сетевой инфраструктуре. В этом случае в скрипте учитывать порядок создания и переименовая интерфейсов. Если невозможно закрыть все условные «пробелы» tun интерфейсами, нужно выбрать более подходящий гипервизор для этих целей.

После перезагрузки виртуальной машины необходимо переинизиализировать ЦУС. По этому можно сразу зайти в меню администратора («Для входа нажмите ENTER»), вход в которое доступен в течении 5 секунд.

В меню администратора нужно зайти в:

3: Управление

4: Переинизиализировать ЦУС

Загрузка конфига в ЦУС

После переинициализации ЦУС нужно подключиться к нему используя ключ который был создан при инициализации. Далее загрузить кофинг и после того как ЦУС перезагрузится и применит новую конфигурацию, нужно использовать ключ, который используется для подключения к реальному ЦУС или можно создать новый ключ в меню администратора:

4: Настройки безопасности

1: Зарегистрировать нового администратора