Добрый день!
Есть RFRemix12.x64. Есть сановский VirtualBox (http://www.thg.ru/software/linux_windows_xp_virtualbox/index.html). Ставится, настраивается и работает безпроблемно. Есть несколько приложений серверного класса под Windows, отказываться от которых нет возможности. Есть лицензионной сервер Win 2000 SMB (small bisnes чего-то там). Естественное решение - Вынь 2000 сервер ставим в VirtualBox. С этим проблем не жду. Но пока непонятно следующее - как сделать так, чтобы сантехнический VirtualBox поднимался как сервис при старте сервера (перезагрузки возможны, по питанию, например) на полном автомате и запускал в своих нутрях мой Windows... Естественно при штатном ребуте его аккуратно укладывал баиньки... Сервис vboxdrv по дефолту включен. А вот как стартовать сам VB? Точнее - что надо прописать в скрипте в /etc/init.d/ для автоматического старта и корректного останова этой службы? Задачка то типовая...
========================================
решения тут:
http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-3.1.x-on-a-headless-fedora-12-server
Запуск VirtualBox'а как сервиса
Cruiser78,
А почему бы не заюзать VmWare Server? Он тоже бесплатный, работать может как сервис, поддерживает коннекты извне и т д, и т п
Cruiser78,
А почему бы не заюзать VmWare Server? Он тоже бесплатный, работать может как сервис, поддерживает коннекты извне и т д, и т п
тяжёлый очень и неудобный.
запуск виртуальной машины в консоли:
see VBoxManage, VBoxHeadless
examples:
VBoxManage startvm -type=headless <vms name|id>
а так же здесь смотри и Оф.Док. Autostart a vm on startup
запуск виртуальной машины в консоли:
see VBoxManage, VBoxHeadless
examples:
VBoxManage startvm -type=headless <vms name|id>
а так же здесь смотри и Оф.Док. Autostart a vm on startup
Увы...
# VBoxManage startvm -type=headless WinXP
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.
ERROR: Could not find a registered machine named 'WinXP'
Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "FindMachine(Bstr(VMName), machine.asOutParam())" at line 357 of file VBoxManageMisc.cpp
И что не так? Машина с именем WinXP создана и в гуях видна... И даже запускается. И в логах пишется имено с этим именем... Где собака зарылась?
покажите VBoxManage list vms
покажите VBoxManage list vms
Эту мысль я уже успел подумать. Показывать нечего. Ибо пусто.
# VBoxManage list vms
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.
#
И как его насытить???
Это говорит о том что не зарегистрированно ни одной машинки в системе. # VBoxManage list vms Вы от root запускаете все свои ВМ? oO
$VBoxManage list vms
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.
"WinXPSP2" {5fb086a1-d0ee-4d10-8db4-70d71e6ea3c5}
VBoxManage showvminfo WinXPSP2
$ VBoxManage showvminfo WinXPSP2
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.
Name: WinXPSP2
Guest OS: Windows XP
UUID: 5fb086a1-d0ee-4d10-8db4-70d71e6ea3c5
Config file: /Users/nb-bv/Library/VirtualBox/Machines/WinXPSP2/WinXPSP2.xml
Hardware UUID: 5fb086a1-d0ee-4d10-8db4-70d71e6ea3c5
Memory size: 256MB
VRAM size: 32MB
Number of CPUs: 1
Synthetic Cpu: off
CPUID overrides: None
Boot menu mode: message and menu
Boot Device (1): HardDisk
Boot Device (2): DVD
Boot Device (3): Not Assigned
Boot Device (4): Not Assigned
ACPI: on
IOAPIC: off
PAE: off
Time offset: 0 ms
Hardw. virt.ext: on
Hardw. virt.ext exclusive: off
Nested Paging: off
VT-x VPID: off
State: saved (since 2010-04-21T09:02:42.000000000)
Monitor count: 1
3D Acceleration: on
2D Video Acceleration: on
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address:
Teleporter Password:
Storage Controller Name (0): IDE Controller
Storage Controller Type (0): PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0): 2
Storage Controller Port Count (0): 2
Storage Controller Name (1): Floppy Controller
Storage Controller Type (1): I82078
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1): 1
Storage Controller Port Count (1): 1
IDE Controller (0, 0): /Users/nb-bv/Library/VirtualBox/HardDisks/WinXPSP3.vdi (UUID: ff02031d-b9aa-49a0-9008-64e6cd19cdaa)
IDE Controller (1, 0): /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso (UUID: 49ef5429-5035-4ab6-95c4-ee18eb4491ee)
Floppy Controller (0, 0): Empty
NIC 1: MAC: 080027E67732, Attachment: Bridged Interface 'en0: Ethernet', Cable connected: on, Trace: off (file: none), Type: Am79C973, Reported speed: 0 Mbps
NIC 2: disabled
NIC 3: disabled
NIC 4: disabled
NIC 5: disabled
NIC 6: disabled
NIC 7: disabled
NIC 8: disabled
UART 1: disabled
UART 2: disabled
Audio: enabled (Driver: CoreAudio, Controller: AC97)
Clipboard Mode: Bidirectional
VRDP: disabled
USB: enabled
USB Device Filters:
<none>
Shared folders:
Name: 'tmp', Host path: '/Users/nb-bv/tmp' (machine mapping), writable
Guest:
Statistics update: disabled
Это говорит о том что не зарегистрированно ни одной машинки в системе. # VBoxManage list vms Вы от root запускаете все свои ВМ? oO
1.Конечно от рута. Разве по символу # это не видно?
2. То, что оно не зарегестрировано - понятно. Непонятно почему оно не регистрируется на автомате, когда в гуях машина создается и имя ей определяется... Зарегистрировал руками:
VBoxManage createvm --name "WinXP" --register
Сам VB стартовать начал, а вот дальше - не может ось загрузить... Ну, направление поиска решения понятно...
Решение почти найдено. В непонятно пока мне где хранящемся конфиге путь к образу виртуальной машины определен как ~\.VirtualBox.... То есть идет от домашнего каталога текущего пользователя. Если я рут, то от /root, если alex, то от /home/alex.
Крайний вопрос совсем простой - как научить "загрузчик" (/etc/init.d) запускать VB с нужной машиной из фиксированного места. Ведь если запускать VB на старте оси, то юзера еще нет и неизвестно, когда он (и кем) придет. И потом - как в то гуевое окно переключиться, когда юзер с консоли зарегистрируется?
Cruiser78, вы в gui так же под root работаете? :[
Сам VB стартовать начал, а вот дальше - не может ось загрузить... Ну, направление поиска решения понятно...
от пользователя дайте вывод команд то что я вам привел
Cruiser78, вы в gui так же под root работаете? :[
...
от пользователя дайте вывод команд то что я вам привел
1. Естественно не от root'a работаю. Просто по потребности переключаюсь через su. Так что root не гуевый, а консольный.
2. У меня не такой большой опыт работы в юниксе, чтобы сообразить, как сделать вывод команд от нужного юзера. Как запустить процесс от юзера в кроне - знаю. А вот как из скрипта - нет. Прошу помощи зала :-)
А вот как из скрипта - нет. Прошу помощи зала :-)
NAME=evil-daemon
DAEMON=/usr/bin/$NAME
USER=system-root
. /lib/lsb/init-functions
start_daemon () {
if [ $ENABLE_DAEMON != 1 ]; then
log_progress_msg "(disabled, see /etc/default/${NAME})"
else
start-stop-daemon --start \
--chuid $USER \
--exec $DAEMON -- $OPTIONS
fi
}
как то так.
как то так.
Нашел вариант много проще:
su Username -c JOBТо есть пишем в /etc/rc5.d/S99...
su alex -c "VboxManage startvm WinXP"
И вроде должны иметь удовольствие. Но имеем в boot.log следующее:
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.
Waiting for the remote session to open...
ERROR: Virtual machine 'WinXP' has terminated unexpectedly during startup
Details: code NS_ERROR_FAILURE (0x80004005), component Machine, interface IMachine, callee <NULL>
Итак, как запусить этот самый VirtualBox не руками, а автоматом, при загрузке операционной системы? Как отвязать этот VB от сеанса конкретного юзера?
Cruiser78, вы не понимаете то что вы делаете, у вас етсь виртуальная машинка, вы создали ее? где она? покажите ее свойства? я пример уже привел то что должно получится
Я прекрасно понимаю, что делаю. Так как если я чего не понимаю, то того и не делаю :-). Ибо можно работающую систему сломать так, что с нуля переустанавливать придется. Это первое. Второе - виртуальная машина создана. В неё накачена WindowsXP. И проверена её работоспособность путем запуска в ней задачи 1С-Предприятие на весьма тяжелой базе (как стендовой, так и находящейся в промышленной эксплуатации).
Третье. Проблемы заключаются в том, что в моем (возможно уникальном) случае при создании виртуальной машины она не зарегистрировалась там, где ждет её регистрации VBoxManage. То есть его регистрационная база оказалась пуста. Но эта засада была быстро преодолена явной регистрацией в этой базе созданной гуевым "мастером" виртуальной машины. Таким образом виртуальную машину стало возможно поднимать "с руки", прописав её запуск и корректный останов в какой-либо скрипт. Это проверено и работает.
А вот четвертое - самое мне пока непонятное: у меня стоит задача не просто запустить виртуальную машину, а запустить её на СЕРВЕРЕ, то есть компьютере, к которому мало кто подходит (даже ремутно). Причем запустить её таким образом, чтобы после внештатного рестарта (ИБП скомандует, например) эта виртуальная машина полностью поднялась в автоматическом режиме. И вот как это сделать - я пока не понимаю. Как запустить гуевую задачу, внутри которой крутится тоже не терминал, как демона. И при необходимости вывести эту задачу в foreground, чтобы поуправлять теми гуями, что в ней крутятся, тем же Win2000-сервером. Ну нужен он мне для поддержки нескольких задач. А компьютер отдельный под это дело выделять не хочу. Как не хочу запускать эту виртуальную машину с сервером руками... Этот сервер должен быть "малообслуживаемым". Остановить её по команде с ИБП, с NUT'а я понимаю как (просто надо написать простой скрипт в две строчки:
service vboxdrv stop_vm # как-то так, точнее сейчас не скажу
poweroff
А вот как её стартовать корректно?... Особенно когда к "консоли" никто оперативно не подойдет.
=================================
Решение, похоже, нашел. Английским по понятному. Завтра протестирую...
http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-3.1.x-on-a-headless-fedora-12-server
Всем привет.
Ребят прошу у вас помощи, у меня установлена Win7 , на ней virtualbox с debian.
задача такая. у нас часто выключают свет, а я порой в командировках , купил сетевую карту с поддержкой Wake on. да бы через телефон(инет) включить комп.
требуется что бы virtualbox запускался сам и стартовал тот самый debian до ввода пароля в систему win7 . как это осуществить? видел тему http://kosmoflyko.blogspot.com/2010/05/virtualbox-service.html ну к сожалению там ничего не понял
Cruiser78
Интересно, какое решение было?
Cruiser78
Интересно, какое решение было?
Само рассосалось. Сейчас виртуалки стартуют из rc.local командами:
nice -n NN su vbxuser -c "nohup VBoxHeadless --startvm VMName &"
Все замечательно работает.
Только вот скрипта автозапуска не хватает.
Да и при если завершить работу сервера, все виртуальные машины резко грубо отключаются.
Сейчас вот пытаюсь написать скрипт для автозапуска и завершения работы.
Да и при если завершить работу сервера, все виртуальные машины резко грубо отключаются.
Сейчас вот пытаюсь написать скрипт для автозапуска и завершения работы.
А зачем грубо отключать то? Есть стандартный механизм S- и K-файлов /etc/rcX.d Запускать - через rc.local. Останавливать - через нужный K-файл в /etc/rcX.d. В нем тоже всё просто:
#!/bin/sh
#
VMS="WinXP mailCentOS TerminalSRV FreePBX"
#VMmodeoff=savestate
VMmodeoff=poweroff
for VM in $VMS
do
echo $VM stopping
su alex -c "VBoxManage controlvm $VM $VMmodeoff"
logger -t VirtualBox "VirtualBox $VM $VMmodeoff "$?
done