VirtualBox: Запуск образа для QEMU/KVM: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 140: | Строка 140: | ||
на этой стадии у меня загрузился мой образ, получил IP по DHCP и я могу получить доступ с хоста. Так же RDP на хост-машину на порт 5000 проброшен на ВМ. Но графика не работает (отсутвует драйвер видеокарты) |
на этой стадии у меня загрузился мой образ, получил IP по DHCP и я могу получить доступ с хоста. Так же RDP на хост-машину на порт 5000 проброшен на ВМ. Но графика не работает (отсутвует драйвер видеокарты) |
||
===Графика=== |
===Графика=== |
||
− | Для нормальной работы - доставить драйвер. |
+ | Для нормальной работы - доставить драйвер. Я делал это просто: скопировал iso с драйверами, запустил .run, дождался исполнения, перезагрузился. |
+ | <PRE> |
||
+ | scp VBoxGuestAdditions_4.1.12.iso root@192.168.56.101: |
||
+ | </PRE> |
||
+ | Здесь 192.168.56.101 это адрес ВМки |
||
+ | |||
===Проброс портов=== |
===Проброс портов=== |
||
Это пример, смысл мне пока что не сильно ясен, оставлдяю для дальнейшей доработки<BR> |
Это пример, смысл мне пока что не сильно ясен, оставлдяю для дальнейшей доработки<BR> |
Версия 14:53, 24 октября 2012
VirtualBox
Задача: есть образ виртуальной машины. (qemu, kvm). Нужно запускать его на хост-машине с VirtualBox. В качестве хост-машины убунту. ВиртуалБокс 4.1.12
# VBoxManage -v 4.1.12_Ubuntur77245
Этот документ является компоновкой из нескольких, потому возможны некоторые ошибки в именах машин и путям к образам. Иногда используются относительные пути, иногда абсолютные.
Создание виртуальной машины
Cоздать виртуальную машину (xml)
Машина должнв быть зарегистрирована. Не вижу смысла создавать незарегистрированную машину.
VBoxManage createvm -name CentOS-5.8_i386_PayPalLinux_09___VM_09 -register
# VBoxManage createvm -name CentOS-5.8_i386_PayPalLinux_09___VM_09 -register Virtual machine 'CentOS-5.8_i386_PayPalLinux_09___VM_09' is created and registered. UUID: c3afd038-b4cc-4152-acad-6332b761b7ea Settings file: '/root/VirtualBox VMs/CentOS-5.8_i386_PayPalLinux_09___VM_09/CentOS-5.8_i386_PayPalLinux_09___VM_09.vbox'
потом можно посмотреть список:
#VBoxManage list vms "CentOS-5.8_i386_PayPalLinux_09___VM_09" {c3afd038-b4cc-4152-acad-6332b761b7ea}
И посмотреть детали виртуальной машины:
VBoxManage showvminfo CentOS-5.8_i386_PayPalLinux_09___VM_09 Name: CentOS-5.8_i386_PayPalLinux_09___VM_09 Guest OS: Red Hat UUID: c3afd038-b4cc-4152-acad-6332b761b7ea Config file: /root/VirtualBox VMs/CentOS-5.8_i386_PayPalLinux_09___VM_09/CentOS-5.8_i386_PayPalLinux_09___VM_09.vbox Snapshot folder: /root/VirtualBox VMs/CentOS-5.8_i386_PayPalLinux_09___VM_09/Snapshots Log folder: /root/VirtualBox VMs/CentOS-5.8_i386_PayPalLinux_09___VM_09/Logs Hardware UUID: c3afd038-b4cc-4152-acad-6332b761b7ea <skipped> Вывод поскипан, но обычно все что нужно можно найти.
создать .vdi диск для системы
Мне не нужно - конвертирую, как создавать - только пример. Описание конвертации ниже.
VBoxManage createvdi -filename "ubuntu-server.vdi" -size 5000
Добавить контроллер
VBoxManage storagectl ubuntu --name "IDE Controller" --add ide
Добавить диск (к контроллеру
VBoxManage storageattach CentOS-5.8_i386_PayPalLinux_09___VM_09 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/mmaxur/virtual/CentOS-5.8_i386_PayPalLinux_09___VM_09.img.vdi
конвертация с raw (QEMU)
Конвертация тривиальна но нашел как это сделать я не сразу http://mydebianblog.blogspot.com/2010/05/img-qemu-virtualbox-vditool.html
VBoxManage convertdd CentOS-5.8_i386_PayPalLinux_09___VM_09.img.raw CentOS-5.8_i386_PayPalLinux_09___VM_09.img.vdi
Модификация ВМ
Указать тип системы, сеть, --vrde - для удаленного доступа.
в примерах обычно пишут так:
VBoxManage modifyvm CentOS-5.8_i386_PayPalLinux_09___VM_09 --ostype redhat --memory 1024 --vrde on
Но думаю это не совсем вероно. Следуует указать еще тип авторизации и порт (если ВМок больше чем 1 то это обязательно). Я использовал следующюю комманду:
VBoxManage modifyvm CentOS-5.8_i386_PayPalLinux_09___VM_09 --vrde on --vrdeauthtype null --vrdemulticon off --vrdeport 5000
Сеть
NAT - не совсем то что мне нужно, это только пример: <PRE> VBoxManage hostonlyif create ipconfig vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0
Я использовал следующие комманды:
Создал Host-Only интерфейс:
потом указал что сеть хост-онли:
VBoxManage modifyvm CentOS-5.8_i386_PayPalLinux_09___VM_09 --nic1 hostonly --hostonlyadapter1 vboxnet0
Собственно, этого достаточно:
vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00 inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:507 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:85774 (85.7 KB)
Старт ВМ
Простой неправильный пример - в этом случае вывод будет на монитор и в случае если это удаленный сервер - ничего не получится
VBoxManage startvm ubuntu
Прааильный вариант - так:
VBoxManage startvm CentOS-5.8_i386_PayPalLinux_09___VM_09 --type headless
все параметы портов и рдп будут взяты из конфига ВМ (настроено выше)
Внимание:должны быть установлены екстеншены!!!
Установка дополнений
Скачать с сайта виртуалбокса, есть для всех не слишком старых версий. Установить так:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.12-77245.vbox-extpack.tar.gz
После чего машина стартует нормально, и начинает слушать порт (5000 у меня)
netstat -ntpl | grep 5000 tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 16029/VBoxHeadless
Импорт/Экспорт
VBoxManage export ubuntu -o ubuntu.ova
сохраняем нашу систему как .ova
VBoxManage import ubuntu.ova
после чего можем её импортировать
Работа с госевой ОС
на этой стадии у меня загрузился мой образ, получил IP по DHCP и я могу получить доступ с хоста. Так же RDP на хост-машину на порт 5000 проброшен на ВМ. Но графика не работает (отсутвует драйвер видеокарты)
Графика
Для нормальной работы - доставить драйвер. Я делал это просто: скопировал iso с драйверами, запустил .run, дождался исполнения, перезагрузился.
scp VBoxGuestAdditions_4.1.12.iso root@192.168.56.101:
Здесь 192.168.56.101 это адрес ВМки
Проброс портов
Это пример, смысл мне пока что не сильно ясен, оставлдяю для дальнейшей доработки
Пробросили 24 порт гостевой машины на 4444 порт 127.0.0.1
VBoxManage modifyvm spite-windows --natpf1 "rule 3",tcp,127.0.0.1,4444,,24
Пропрос портов на ходу
VBoxManage controlvm ubuntu natpf1 "rule 3",tcp,127.0.0.1,4444,,24
VBoxManage sharedfolder add "spite-windows" --name "sharename" --hostpath "/home/vnaboychenko/gns"
Для windows в консоли net use Y: \\vboxsvr\sharename или делаем это с флагом –automount
VBoxManage sharedfolder add "spite-windows" --name "gns" --hostpath "/home/vnaboychenko/gns" -automount
тогда нам не придется монтировать её в системе.
Для гостевой Ubuntu Linux нужны пакеты: <PRE> virtualbox - x86 virtualization solution - base binaries virtualbox-guest-utils - x86 virtualization solution - non-X11 guest utilities virtualbox-guest-x11 - x86 virtualization solution - X11 guest utilities virtualbox-qt - x86 virtualization solution - Qt based user interface
Для CentOS достаточно (по видимому) того что установлен VBoxManage sharedfolder add "ubuntu-guest" --name "sharedfolder" --hostpath "/home/vnaboychenko/gns" Делаем шаред фолдер для нашей системы
и с гостевой системы монтируем папку
mount.vboxsf sharedfolder /mnt/test
ссылки
(Если что то забыл. пишите - исправлю)