воскресенье, 21 февраля 2010 г.

гипервизор virtualbox работа без gui

На сервере про который я писал ниже возникла необходимость поднять несколько виртуалок, сначала был выбран vmware но из-за своей матерой проприетарности
да и просто из-за того что офигеть как странно работал на анстейбле попробовал
в качестве системы виртуализации VirtualBox и мне очень понравилось, да так что решил оставить все это дело на сервере.

Так как это сервер то естественно возникла потребность, чтобы все виртуалки поднимались автоматически после ребута, а так же чтобы ими можно было управлять через
/etc/init.d/ как и любым нормальным демоном.
Недолго покурил примеры runscript и заделал вот такую штуку



#!/sbin/runscript
# polovinamozga.blogspot.com
depend() {
use dns logger
need net
provide cron
}

start() {
ebegin "Starting VBox"
/bin/su -l -c "/opt/bin/VBoxManage startvm xp --type headless" user
/bin/su -l -c "/opt/bin/VBoxManage startvm ubuntu --type headless" user
/bin/su -l -c "/opt/bin/VBoxManage startvm freebsd --type headless" user
eend $?
}

stop() {
ebegin "Stopping VBox"
/bin/su -l -c "/opt/bin/VBoxManage controlvm xp savestate" user
/bin/su -l -c "/opt/bin/VBoxManage controlvm ubuntu savestate" user
/bin/su -l -c "/opt/bin/VBoxManage controlvm freebsd savestate" user
eend $?
}



А теперь по пунктам, что вся эта черная магия значит.
depend() {
use dns logger
need net
provide cron
}
Говорит о том что нужно запускать когда включилась сеть, работает логгер,крон это если совсем вкртаце, кто хочет
большего то лучше наверное почитать что пишут по этому поводу на официальном сайте генты.
start() {
ebegin "Starting VBox"
/bin/su -l -c "/opt/bin/VBoxManage startvm xp --type headless" user
/bin/su -l -c "/opt/bin/VBoxManage startvm ubuntu --type headless" user
/bin/su -l -c "/opt/bin/VBoxManage startvm freebsd --type headless" user
eend $?
}


Так как виртуалбокс мы не будем запускать от рута в целях безопасности и по причинам особенностей разбиение дисков
то естественно его нужно запускать от пользователя итак :

/bin/su -l -c "/opt/bin/VBoxManage startvm xp --type headless" user

В переводе на русский означает:
запустить su с логином пользователя передав команду  /opt/bin/VBoxManage startvm xp --type headless 

Команда эта означает что нужно запустить виртуальную машину без окна.
Потом делаем chmod +x /etc/init.d/vbox

и rc-update add vbox default

И теперь у нас после перезапуска системы стартует демон виртуабокса.

Комментариев нет:

Отправить комментарий