пятница, 16 декабря 2011 г.

Автозагрузка виртуальной гостевой машины VirtualBox в Ubuntu

Имеется VirtualBox на Ubuntu 11.10 на которой постоянно крутится гостевая Windows Server с рядом сервисов необходимых в  сети. Все настраивалось через стандартные графические инструменты но это накладывает одно неудобство, при перезагрузке необходимо вручную запускать заново виртуальную машину. А хочется что бы все запускалось автоматом и без графики.
Для запуска VirtualBox без графики, есть несколько параметров, мы воспользуемся следующим:

VBoxHeadless --startvm <uuid|name>
где <uuid|name> идентификатор или имя нашей гостевой ОС. 
Теперь нужно автоматизировать этот процесс, для этого создадим скрипт /etc/init.d/vbox следующего содержания:

#!/bin/sh
#Запуск ВМ
vm_start() {         log_daemon_msg "Starting Vbox WinServ2008 machine"         sleep 120 && su -l -c "VBoxHeadless --startvm \
        "WinServ2008" &" shajtan
        log_end_msg 0
        return 0
}

# выключение ВМ
vm_save()
{
        log_daemon_msg "Sending ACPI POWER OFF \
signal for Vbox WinServ2008 machine"
        su -l -c "VBoxManage controlvm \
        WinServ2008 acpipowerbutton" shajtan
        log_end_msg 0
        return 0
}

case "$1" in
start)
perform_start
;;

stop)
perform_save
echo "done."
exit 0;
;;

*)
echo "Usage: /etc/init.d/vbox start|stop"
exit 1
;;

esac
Добавим наш скрипт во все уровни запуска:
sudo update-rc.d slave start 99 2 3 4 5 . stop 01 0 1 6 .
Все будет стартовать автоматически, более того мы можем отключить или заново включить нашу ВМ командами:

/etc/init.d/slave start
/etc/init.d/slave stop








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

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