Настройка Buildbot для виртуальных машин — FreeBSD 9.2
Базовая установка
qemu-img create -f qcow2 /kvm/vms/vm-freebsd92-amd64-serial.qcow2 15G qemu-img create -f qcow2 /kvm/vms/vm-freebsd92-i386-serial.qcow2 15G
Запускайте каждую ВМ, загружаясь с образа серверной установки по одной за раз, и выполняйте следующие шаги установки:
kvm -m 2048 -hda /kvm/vms/vm-freebsd92-amd64-serial.qcow2 -cdrom /kvm/iso/freebsd/9.2/FreeBSD-9.2-RELEASE-amd64-dvd1.iso -boot d -smp 2 -cpu qemu64 -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:2283-:22 kvm -m 2048 -hda /kvm/vms/vm-freebsd92-i386-serial.qcow2 -cdrom /kvm/iso/freebsd/9.2/FreeBSD-9.2-RELEASE-i386-dvd1.iso -boot d -smp 2 -cpu qemu64 -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:2284-:22
После запуска вы можете подключиться к серверу VNC с вашего локального хоста с помощью:
vncviewer -via ${remote_host} localhost
Замените ${remote_host}
на хост, на котором запущена ВМ.
Примечание: При активации установки vncviewer может отключиться через некоторое время с жалобой о том, что прямоугольник слишком большой. Это нормально. Установщик только что изменил размер экрана vnc. Просто переподключитесь.
Установите, в основном выбрав стандартные параметры, с учетом следующих замечаний:
- Выбор раскладки: не устанавливайте нестандартную раскладку
- Имя хоста: freebsd-92-amd64 или freebsd-92-i386
- Выбор дистрибутива: снимите флажок «игры», оставьте флажок «порты»
- Разбиение: Руководство и использование всего диска
- Примите стандартное разбиение (Завершить, затем Подтвердить)
- Извлечение архивов: ...подождите, пока установщик установит ОС...
- Настройка сети: выберите
vtnet0- настройка ipv4 с помощью DHCP
- не настраивайте ipv6
- Настройка системы: оставьте sshd выбранным, не выбирайте другие
- Настройка Dumpdev: не активировать дампы сбоев
- Добавление пользователя buildbot
- добавить пользователя в группу 'wheel'
- Окончательная настройка: Применить конфигурацию и выйти
- Настройка вручную: да, открыть оболочку
-
echo 'console="comconsole"' >> /boot/loader.conf - Отредактируйте /etc/ttys и измените off на on, а dialup на vt100 для записи ttyu0.
-
shutdown -p now
-
Теперь, когда ВМ установлена, пришло время ее настроить. Если у вас достаточно памяти, вы можете сделать следующее одновременно:
kvm -m 2048 -hda /kvm/vms/vm-freebsd92-amd64-serial.qcow2 -boot c -smp 2 -cpu qemu64 -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:2283-:22 -nographic kvm -m 2048 -hda /kvm/vms/vm-freebsd92-i386-serial.qcow2 -boot c -smp 2 -cpu qemu64 -net nic,model=virtio -net user,hostfwd=tcp:127.0.0.1:2284-:22 -nographic ssh -p 2283 localhost ssh -p 2284 localhost su - cd /usr/ports/security/sudo; make install clean # accept defaults visudo # uncomment the '# %wheel ALL=(ALL) NOPASSWD: ALL' line exit cd /usr/ports/ports-mgmt/portmaster; sudo make install clean # select both autocomplete options ssh hasky.askmonty.org exit sudo su buildbot - ssh hasky.askmonty.org exit exit exit scp -P 2283 /kvm/vms/authorized_keys localhost:.ssh/ scp -P 2283 /kvm/vms/authorized_keys buildbot@localhost:.ssh/ scp -P 2284 /kvm/vms/authorized_keys localhost:.ssh/ scp -P 2284 /kvm/vms/authorized_keys buildbot@localhost:.ssh/ ssh -p 2283 localhost ssh -p 2284 localhost sudo portsnap fetch extract sudo portsnap fetch update sudo portmaster -Da sudo shutdown -p now
ВМ для сборки BSD bintars
for i in '/kvm/vms/vm-freebsd92-amd64-serial.qcow2 2283 qemu64' '/kvm/vms/vm-freebsd92-i386-serial.qcow2 2284 qemu64' ; do \
set $i; \
runvm --user=buildbot --logfile=kernel_$2.log --base-image=$1 --port=$2 --cpu=$3 "$(echo $1 | sed -e 's/serial/build/')" \
"cd /usr/ports/devel/libevent; sudo make install clean BATCH=yes" \
"cd /usr/ports/devel/boost-all; sudo make install clean BATCH=yes" \
"cd /usr/ports/devel/cmake; sudo make install clean BATCH=yes" \
"cd /usr/ports/devel/thrift/; sudo make install clean BATCH=yes" \
"cd /usr/ports/devel/bzr/; sudo make install clean BATCH=yes" \
"cd /usr/ports/devel/bison/; sudo make install clean BATCH=yes" \
"cd /usr/ports/databases/unixODBC; sudo make install clean BATCH=yes" \
"cd /usr/ports/devel/doxygen; sudo make install clean BATCH=yes"; \
done
ВМ для тестирования установки.
qemu-img create -b /kvm/vms/vm-freebsd92-amd64-serial.qcow2 -f qcow2 /kvm/vms/vm-freebsd92-amd64-install.qcow2
qemu-img create -b /kvm/vms/vm-freebsd92-i386-serial.qcow2 -f qcow2 /kvm/vms/vm-freebsd92-i386-install.qcow2
for i in '/kvm/vms/vm-freebsd92-amd64-serial.qcow2 2283 qemu64' '/kvm/vms/vm-freebsd92-i386-serial.qcow2 2284 qemu64' ; do \
set $i; \
runvm --user=buildbot --logfile=kernel_$2.log --base-image=$1 --port=$2 --cpu=$3 "$(echo $1 | sed -e 's/serial/install/')" \
"sudo portsnap cron update"; \
done
ВМ для тестирования обновления MySQL
for i in '/kvm/vms/vm-freebsd92-amd64-serial.qcow2 2283 qemu64' '/kvm/vms/vm-freebsd92-i386-serial.qcow2 2284 qemu64' ; do \
set $i; \
runvm --user=buildbot --logfile=kernel_$2.log --base-image=$1 --port=$2 --cpu=$3 "$(echo $1 | sed -e 's/serial/upgrade/')" \
"cd /usr/ports/databases/mysql55-server; sudo make install clean BATCH=yes" \
"sudo /usr/local/etc/rc.d/mysql-server onestart" \
'mysql -uroot -e "create database mytest; use mytest; create table t(a int primary key); insert into t values (1); select * from t"' ;\
done
ВМ для тестирования обновления MariaDB
for i in '/kvm/vms/vm-freebsd92-amd64-serial.qcow2 2283 qemu64' '/kvm/vms/vm-freebsd92-i386-serial.qcow2 2284 qemu64' ; do \
set $i; \
runvm --user=buildbot --logfile=kernel_$2.log --base-image=$1 --port=$2 --cpu=$3 "$(echo $1 | sed -e 's/serial/upgrade2/')" \
"cd /usr/ports/databases/mariadb55-server; sudo make install clean BATCH=yes" \
"sudo /usr/local/etc/rc.d/mysql-server onestart" \
'mysql -uroot -e "create database mytest; use mytest; create table t(a int primary key); insert into t values (1); select * from t"'; \
done
Добавление ключа в known_hosts
Выполните следующие действия на каждом сервере kvm-хоста (terrier, terrier2, i7 и т. д.) для добавления ВМ в known_hosts.
# freebsd92-amd64 cp -avi /kvm/vms/vm-freebsd92-amd64-install.qcow2 /kvm/vms/vm-freebsd92-amd64-test.qcow2 kvm -m 1024 -hda /kvm/vms/vm-freebsd92-amd64-test.qcow2 -redir tcp:2283::22 -boot c -smp 2 -cpu qemu64 -net nic,model=virtio -net user -nographic sudo su - buildbot ssh -p 2283 buildbot@localhost sudo shutdown -p now # answer "yes" when prompted exit # the buildbot user rm -v /kvm/vms/vm-freebsd92-amd64-test.qcow2 # freebsd92-i386 cp -avi /kvm/vms/vm-freebsd92-i386-install.qcow2 /kvm/vms/vm-freebsd92-i386-test.qcow2 kvm -m 1024 -hda /kvm/vms/vm-freebsd92-i386-test.qcow2 -redir tcp:2284::22 -boot c -smp 2 -cpu qemu64 -net nic,model=virtio -net user -nographic sudo su - buildbot ssh -p 2284 buildbot@localhost sudo shutdown -p now # answer "yes" when prompted exit # the buildbot user rm -v /kvm/vms/vm-freebsd92-i386-test.qcow2
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/buildbot-setup-for-virtual-machines-freebsd-92/