Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

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

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

  • 4 ядра

  • 8Gb памяти

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

В SPB Labs виртуальные машины находятся в vSphere по адресу https://photon.spb.dilos.org/ui/#?extensionId=vsphere.core.vm.summary&objectId=urn:vmomi:VirtualMachine:vm-260:8bb8caa4-62ba-4222-ad45-7dfbbbc3502e&navigator=vsphere.core.viTree.hostsAndClustersView

2. Ваша машина будет доступна по некоторому IP адресу. Для этого нужно зайти на страничку /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:

Если она у вас появится, то нужно удалить драйвер 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) и вводим логин и пароль:

Можете ввести какое-нибудь имя для ноды, если это принципиально. В противном случае оставьте его, как есть, для чего нажмите Enter:

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

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

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

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

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

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

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

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

Дальше логинтесь под root с паролем, который Вы установили в начале процедуры установки:

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

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

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

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

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

 На VM можно зайти не только через Web Console, но и удаленно по SSH

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

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

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

ssh-keygen -f "/home/olga/.ssh/known_hosts" -R "[localhost]:22117"

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

Шаг 5. Настройка apt и установка Open VM Tools

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

su -

Теперь нужно настроить пакетный менеджер apt, для этого нужно поменять файл /etc/apt/sources.list.

В нём должны быть указаны следующие строки:

deb http://apt2.dilos.org/dilos dg2-unstable main contrib non-free 
deb http://apt2.dilos.org/dilos du2-unstable main contrib non-free 
deb-src http://apt2.dilos.org/dilos du2-unstable main contrib non-free

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

cat > /etc/apt/sources.list <<EOT
deb http://apt2.dilos.org/dilos dg2-unstable main contrib non-free 
deb http://apt2.dilos.org/dilos du2-unstable main contrib non-free 
deb-src http://apt2.dilos.org/dilos du2-unstable main contrib non-free 
EOT

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

apt update

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

apt install os-upgrade
os-upgrade

 

 Для DEBUG версий

Вам нужно опять настроить apt менеджер, для чего опять поменять файл /etc/apt/sources.list, как Вы это делали выше :

deb http://apt2.dilos.org/dilos dgdbg-unstable main contrib non-free
deb http://apt2.dilos.org/dilos du2-unstable main contrib non-free
deb-src http://apt2.dilos.org/dilos du2-unstable main contrib non-free

или выполнив команду:

cat > /etc/apt/sources.list <<EOT
deb http://apt2.dilos.org/dilos dgdbg-unstable main contrib non-free
deb http://apt2.dilos.org/dilos du2-unstable main contrib non-free
deb-src http://apt2.dilos.org/dilos du2-unstable main contrib non-free
EOT

И снова запустите обновление системы os-upgrade для версии DEBUG:

os-upgrade

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

apt install open-vm-tools

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

svcadm enable open-vm-tools

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

reboot

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

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

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

og@dilos:~# su -
  1. Cоздаем юзера ztest:

root@dilos:~# useradd -m -d /var/ztest -g staff -s /bin/bash ztest
root@dilos:~# passwd ztest
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@dilos:~# echo "ztest ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers.d/ztest

и юзера admin:

root@dilos:~# useradd -m -g staff admin
root@dilos:~# passwd admin
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@dilos:~# echo "admin ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers.d/admin

2. Если Вы тестируете DEBUG версию, устанавливаем сертификаты:

root@dilos:~# apt install ca-certificates

и перезагружаемся:

root@dilos:~# reboot

После перезагрузки опять логинимся под root. Проверяем, что admin создался:

root@dilos:~# ls /export/home
admin  og

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

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

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

root@dilos:~# zfs create -o mountpoint=/zones rpool/zones
root@dilos:~# mkdir /export/builds

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

root@dilos:~# cat > dhcp.cmd <<EOT
create -b
set zonepath=/zones/dhcp
set brand=dpkg
set autoboot=false
set ip-type=exclusive
add fs
set dir="/export/home/admin"
set special="/export/home/admin"
set type="lofs"
end
add fs
set dir="/export/builds"
set special="/export/builds"
set type="lofs"
end
add net
set physical="iz1"
set global-nic="vsw0"
add property (name=ip,value="192.168.0.1")
add property (name=netmask,value="255.255.255.0")
add property (name=gateway,value="192.168.0.254")
add property (name=primary,value="true")
end
add attr
set name="resolvers"
set type="string"
set value="8.8.8.8"
end
verify
commit
EOT

root@dilos:~# zonecfg -z dhcp -f dhcp.cmd
root@dilos:~# zonecfg -z dhcp info
zonename: dhcp
zonepath: /zones/dhcp
brand: dpkg
autoboot: false
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: exclusive
hostid:
fs-allowed:
uuid: 46b79185-7320-4ab6-b700-15058bd49c02
fs:
        dir: /export/home/admin
        special: /export/home/admin
        raw not specified
        type: lofs
        options: []
fs:
        dir: /export/builds
        special: /export/builds
        raw not specified
        type: lofs
        options: []
net:
        address not specified
        allowed-address not specified
        defrouter not specified
        global-nic: vsw0
        mac-addr not specified
        physical: iz1
        vlan-id not specified
        property: (name=ip,value="192.168.0.1")
        property: (name=netmask,value="255.255.255.0")
        property: (name=gateway,value="192.168.0.254")
        property: (name=primary,value="true")
attr:
        name: resolvers
        type: string
        value: 8.8.8.8
root@dilos:~# zoneadm -z dhcp install
root@dilos:~# zoneadm -z dhcp boot
root@dilos:~# zoneadm list -civ
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              dpkg     shared
   1 dhcp             running    /zones/dhcp                    dpkg     excl

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

root@dilos:~# zlogin dhcp
root@dhcp:~# ifconfig        
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
iz1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 9000 index 2
        inet 192.168.0.1 netmask ffffff00 broadcast 192.168.0.255
        ether 2:8:20:92:59:94 
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
root@dhcp:~# apt install isc-dhcp-server -y
root@dhcp:~# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bckp
root@dhcp:~# cat > /etc/dhcp/dhcpd.conf <<EOT
# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.100 192.168.0.200;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 8.8.8.8;
#  option domain-name "internal.example.org";
  option routers 192.168.0.254;
  option broadcast-address 192.168.0.255;
  default-lease-time 600;
  max-lease-time 7200;
}
EOT
root@dhcp:~# ifconfig 
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
iz1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 9000 index 2
        inet 192.168.0.1 netmask ffffff00 broadcast 192.168.0.255
        ether 2:8:20:92:59:94
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
root@dhcp:~# cat > /etc/default/isc-dhcp-server <<EOT
# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="iz1"
INTERFACESv6=""
EOT
root@dhcp:~# svcadm enable isc-dhcp-server
root@dhcp:~# svcs -xv
root@dhcp:~# svcs isc-dhcp-server
STATE          STIME    FMRI
online         10:46:50 svc:/network/isc-dhcp-server:default
root@dhcp:~# dhcp-lease-list 
To get manufacturer names please download http://standards.ieee.org/regauth/oui/oui.txt to /usr/local/etc/oui.txt
Reading leases from /var/lib/dhcp/dhcpd.leases
MAC                IP              hostname       valid until         manufacturer        
===============================================================================================
root@dhcp:~# exit
logout

4. Теперь создаем клиентскую зону:

root@dilos:~# cat > zone.cmd <<EOT
create
set zonepath=/zones/zone
set autoboot=false
set ip-type=exclusive
add net
set physical=int1
set global-nic="vsw0"
add property (name="ip",value="dhcp")
add property (name="primary",value="true")
end
commit
exit
EOT
root@dilos:~# zonecfg -z zone -f zone.cmd 
root@dilos:~# zoneadm -z zone install
root@dilos:~# zoneadm -z zone boot
root@dilos:~# zoneadm list -civ
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              dpkg     shared
   1 dhcp             running    /zones/dhcp                    dpkg     excl  
   2 zone             running    /zones/zone                    dpkg     excl
root@dilos:~# zlogin -l root dhcp dhcp-lease-list
To get manufacturer names please download http://standards.ieee.org/regauth/oui/oui.txt to /usr/local/etc/oui.txt
Reading leases from /var/lib/dhcp/dhcpd.leases
MAC                IP              hostname       valid until         manufacturer
===============================================================================================
02:08:20:a0:5a:92  192.168.0.100   dhcp           2022-11-24 10:20:34 -NA-
root@dilos:~# zlogin -l root zone ifconfig
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
int1: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 9000 index 2
        inet 192.168.0.100 netmask ffffff00 broadcast 192.168.0.255
        ether 2:8:20:a0:5a:92
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
root@dilos:~# uname -a
SunOS debug221122 5.11 2.0.3.7-20221122-1-0+int2 i86pc i386 i86pc

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

  • No labels