Общие команды:
Начнем создавать guest-машины.
создаем саму машину:
VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(name — имя машины, ostype — тип системы. полный список всех типов можно узнать командой VBoxManage list ostypes)
настраиваем
VBoxManage modifyvm ubuntu --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp on --vrdpport 3390
тут с большего все понятно. в качестве типа сети можно указать также NAT (--nic1 nat). также включаем rdp
создаем hdd диск для виртуальной машины:
VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register
добавляем контроллер IDE в нашу машину
VBoxManage storagectl ubuntu --name "IDE Controller" --add ide
цепляем на IDE0 созданный ранее hdd
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
на IDE1 цепляем установочный образ
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
говорим машине грузиться с диска
VBoxManage modifyvm ubuntu --boot1 dvd
запускаем машину
nohup VBoxHeadless --startvm ubuntu &
для того чтобы поставить базовую систему воспользуемся rdp-клиентом (у меня KDE, в стандартную поставку входит KRDC). коннектимся на хостовую машину на порт, который указали в настройках (--vrdpport 3390), ставим систему, делаем sudo apt-get install openssh-server. теперь на виртуальную машину можно попасть по ssh
останавливаем виртуальную машину
VBoxManage controlvm ubuntu acpipowerbutton
через acpi
или более жестко
VBoxManage controlvm ubuntu poweroff
говорим грузится с hdd
VBoxManage modifyvm ubuntu --boot1 disk
можно также отцепить установочный диск
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --medium none
и снова запускаем
nohup VBoxHeadless --startvm ubuntu &
еще полезные команды:
VBoxManage list runningvms
просмотр всех запущенных машин
VBoxManage showvminfo ubuntu
просмотр информации о виртуальной машине
Включение rdp
VBoxManage modifyvm <vmname> —vrdp on
Просмотр расширений
VBoxManage list extpacks
Ниже для примера приведены команды для включения, выключения и работы с образами дисков.
1. Запуск группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):
for M in test1 test2 test3 ; do VBoxManage startvm $M --type=headless ; sleep 30 ; done
Если не указывать sleep 30 некоторые машины могут не запуститься из-за очень интенсивного чтения с жесткого диска сервера при запуске и некоторые гостевые системы решат, что у них ошибка чтения с жесткого диска.
2. Выключение группы гостевых систем (можно сделать автоматическим при включении и перезагрузке сервера):
for M in test1 test2 test3 ; do VBoxManage controlvm $M acpipowerbutton ; sleep 30 ; done
Практически все машины понимают нажатие на кнопку выключения питания и смогут корректно завершиться.
Увеличение размера динамического диска ВМ
VBOXManage modifyhd «%new_name%» –resize %new_size%
Добавление шары в гостевую систему
vboxmanage sharedfolder add «vbox_name» —name install —hostpath /install —automount
vboxmanage sharedfolder remove «vbox_name» —name install
Установка гостевых дополнений:
vboxmanage guestcontrol updateadditions «vbox_name» —source /usr/share/virtualbox/VBoxGuestAdditions.iso —verbose
ind the IDE Controller device numbers
[host] # vboxmanage showvminfo "vbox_name" | grep "Storage Controller Name" Storage Controller Name (0): IDE controller
1b.Get the port and device numbers
[host] # vboxmanage showvminfo "vbox_name" | grep "IDE controller" IDE controller (1, 0): Empty
1c. If not found, add it
[host] # vboxmanage storagectl "vbox_name" --name "IDE controller" --add ide
2. Attach the VBoxGuestAdditions.iso as dvddrive
Port and device numbers needed here!
[host] # vboxmanage storageattach "vbox_name" --storagectl "IDE controller" \ --port 1 --device 0 --type dvddrive \ --medium /usr/share/virtualbox/VBoxGuestAdditions.iso
3. Mount the DVD drive on Guest OS
[guest] # mkdir /mnt/dvd [guest] # mount -t iso9660 -o ro /dev/dvd /mnt/dvd