Linux KVM: различия между версиями
(GIZYoIRXesYzdeZ) |
Sirmax (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | =KVM= |
||
− | MIK9Ms <a href="http://guwwlryrrhcn.com/">guwwlryrrhcn</a>, [url=http://jdnqngjtqptq.com/]jdnqngjtqptq[/url], [link=http://exgkmcyawfok.com/]exgkmcyawfok[/link], http://gmzeyycfkksb.com/ |
||
+ | KVM - система виртуализации котороая включена в состав ядра linux начиная с 2.6.20. Вероятно, наиболее прогрессивная система, т.к. RedHat переключилась на нее с XEN. |
||
+ | Задача - запускать внутри виртуальных машин ОС отличную от хостовой (в моем случае - win32, FreeBSD, linux но другие версии ядра отличные от хостовых). |
||
+ | <p>Сейчас использую VMWare, решил отказаться из-за следующих недостатков |
||
+ | * Неудобство управления (нужно держать под рукой vmware-console) |
||
+ | * Большие накладные расходы. |
||
+ | * VMWare не позволяет эмулировать более 2 процессоров (проверить!) |
||
+ | * Иногда - проблемы при обновлении ядра. |
||
+ | * Нет механизмов ограничения процессорного времени. (или я о них не знаю) |
||
+ | ==Hardware== |
||
+ | KVM требует наличия x86-совместимого процессора с поддержкой одной из технологий аппаратной виртуализации — Intel VT либо AMD SVM. На данный момент KVM в состоянии запускать в качестве гостевых ОС GNU/Linux (32-битные и 64-битные), Windows (32-битные и 64-битные) и другие системы. |
||
+ | |||
+ | Для полноценной работы <b>немодифицированных</b> гостевых ОС потребуется процессор с поддержкой аппаратной виртуализации: |
||
+ | Проверить наличие поддержки можно по наличию соответвующих флагов - комманда ниже должна дать непустой результат |
||
+ | {{Root|<nowiki>#cat /proc/cpuinfo | egrep flags.*'svm|vmx'</nowiki>}} |
||
+ | |||
+ | В моем случае это |
||
+ | <PRE> |
||
+ | #cat /proc/cpuinfo |
||
+ | processor : 0 |
||
+ | vendor_id : AuthenticAMD |
||
+ | cpu family : 15 |
||
+ | model : 107 |
||
+ | model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ |
||
+ | stepping : 1 |
||
+ | cpu MHz : 2310.439 |
||
+ | cache size : 512 KB |
||
+ | physical id : 0 |
||
+ | siblings : 2 |
||
+ | core id : 0 |
||
+ | cpu cores : 2 |
||
+ | apicid : 0 |
||
+ | initial apicid : 0 |
||
+ | fpu : yes |
||
+ | fpu_exception : yes |
||
+ | cpuid level : 1 |
||
+ | wp : yes |
||
+ | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch |
||
+ | bogomips : 4620.87 |
||
+ | TLB size : 1024 4K pages |
||
+ | clflush size : 64 |
||
+ | cache_alignment : 64 |
||
+ | address sizes : 40 bits physical, 48 bits virtual |
||
+ | power management: ts fid vid ttp tm stc 100mhzsteps |
||
+ | |||
+ | processor : 1 |
||
+ | vendor_id : AuthenticAMD |
||
+ | cpu family : 15 |
||
+ | model : 107 |
||
+ | model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ |
||
+ | stepping : 1 |
||
+ | cpu MHz : 2310.439 |
||
+ | cache size : 512 KB |
||
+ | physical id : 0 |
||
+ | siblings : 2 |
||
+ | core id : 1 |
||
+ | cpu cores : 2 |
||
+ | apicid : 1 |
||
+ | initial apicid : 1 |
||
+ | fpu : yes |
||
+ | fpu_exception : yes |
||
+ | cpuid level : 1 |
||
+ | wp : yes |
||
+ | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch |
||
+ | bogomips : 4621.05 |
||
+ | TLB size : 1024 4K pages |
||
+ | clflush size : 64 |
||
+ | cache_alignment : 64 |
||
+ | address sizes : 40 bits physical, 48 bits virtual |
||
+ | power management: ts fid vid ttp tm stc 100mhzsteps |
||
+ | </PRE> |
||
+ | |||
+ | ==Конфигурация ядра== |
||
+ | Что бы включить поддержку KVM, следует включить следующие опции ядра (я использовал модули): |
||
+ | {{Kernel|Поддержка KVM|<pre> |
||
+ | Device Drivers ---> |
||
+ | [*] Virtualization ---> |
||
+ | --- Virtualization |
||
+ | <M> Kernel-based Virtual Machine (KVM) support |
||
+ | <M> KVM for Intel processors support |
||
+ | <M> KVM for AMD processors support |
||
+ | </pre>}} |
||
+ | |||
+ | ==Необходимое ПО== |
||
+ | Для работы с kvm нужны следующие пакеты: |
||
+ | * app-emulation/kvm |
||
+ | * sys-apps/usbutils (только если нужна поддержка USB. Мне - не нужен) |
||
+ | * net-misc/bridge-utils (только если планируется bridged-net) |
||
+ | * sys-apps/usermode-utilities (нужен для управлениея tap-устройствами) |
||
+ | |||
+ | Еще я использовал: |
||
+ | * app-misc/screen |
||
+ | |||
+ | ==Запуск первой виртуальной машины== |
||
+ | Добавляю в /etc/modules.autoload.d/kernel-2.6: |
||
+ | <PRE> |
||
+ | kvm-amd |
||
+ | tun |
||
+ | </PRE> |
||
+ | и загружаю модули (tun нужен для работы сети, на этапе запуска виртуальной машины и установки гостевой WinXP - не нужен) |
||
+ | |||
+ | Далее, создаю диск с именем test1 размером 10G |
||
+ | {{Root|kvm-img create -f qcow2 test1.img 10G}} |
||
+ | |||
+ | {{Note|"qcow2": KVM image format, the most versatile format. Use it to have smaller images (useful if your filesystem does not supports holes, for example on Windows), optional AES encryption, zlib based compression and support of multiple VM snapshots. |
||
+ | }} |
||
+ | Что бы посмотретьинформацию о диске можно воспользоваться следующей коммандой |
||
+ | {{Root|# kvm-img info ./test1.img |
||
+ | image: ./test1.img |
||
+ | file format: qcow2 |
||
+ | virtual size: 10G (10737418240 bytes) |
||
+ | disk size: 1.4G |
||
+ | cluster_size: 4096 |
||
+ | }} |
||
+ | |||
+ | Далее пробую установить WinXP с образа установочного диска: |
||
+ | {{Command|<nowiki>kvm -hda /var/virt/test1.img -cdrom /var/virt/XP_BOOTCD.iso -boot d</nowiki>}} |
||
+ | Т.к. все эксперементы я провожу на удаленном сервере, где нет ничего связанного с Х, то получаю следующее сообщение |
||
+ | <PRE>Could not initialize SDL - exiting</PRE> |
||
+ | Очевидно, что kvm попробовал вывести на экран какую-то графику и у него это не получилось. Отмечу, что я не сразу нашел решение, наиболее простое и правильное - перенаправить вывод графики на vnc. |
||
+ | Соответвенно, комманда приобретает вид |
||
+ | {{Command|<nowiki>kvm -hda /var/virt/test1.img -cdrom /var/virt/XP_BOOTCD.iso -boot d -vnc :10 </nowiki>}} |
||
+ | |||
+ | {{Root|<nowiki># netstat -ntpl |
||
+ | Active Internet connections (only servers) |
||
+ | Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name |
||
+ | tcp 0 0 0.0.0.0:5910 0.0.0.0:* LISTEN 18328/kvm |
||
+ | </nowiki> |
||
+ | }} |
||
+ | {{Note|Здесь :10 - номер порта, :1 заставило бы kvm слушать соединения vnc на порту 5901}} |
||
+ | |||
+ | Теперь можно подключиться к серверу на порт 5910 по vnc и пронаблюдать загрузку виртуальной машины. |
||
+ | {{Note|При переключении разрешения внутри виртуальной машины на этапе загрузки у меня отваливался vnc из пакета net-misc/vnc. Лучше работает net-misc/tightvnc но и с ним работа с виртуальной машиной - мучение. Решение проблемы я не искал т.к. использовал vnc только до того момента как настроил сеть}} |
||
+ | |||
+ | Далее, наблюдаю за установкой и жму "далее" через vnc. |
||
+ | |||
+ | Если ОС не использует графику совсем - то запускать с параметром -curses вместо -vnc. В этом случае вывод будет праямо на текущюю консоль, что в большенстве случаев достаточно удобно. |
||
+ | |||
+ | ==Натройка сети на хост-системе и виртуальных машинах== |
||
+ | Вцелом схема сети выглядит так: (вторая гостевая система пока только в процессе подготовки) |
||
+ | <pre> HOST KVM Гостевая система 1 (WinXP) |
||
+ | +-----------------------+ +-----------------+ |
||
+ | | 95.69.хх.xx | | | |
||
+ | INET---+---- eth0 | | | |
||
+ | | | | | KVM Гостевая система 2 (FreeBSD 7.2) |
||
+ | | +------+ +--+---+---- nic0 | +--------------+ |
||
+ | | |kvm_tap0---------+ | |172.16.254.6 | | | |
||
+ | | | 172.16.254.5 | | | | | |
||
+ | | |kvm_tap0---------+ | +-----------------+ | | |
||
+ | | | 172.16.254.9 | | | | |
||
+ | | +------+ | | | | |
||
+ | | +--+-------------------------+---- nic0 | |
||
+ | | | |172.16.254.10 | |
||
+ | +-----------------------+ +--------------+</pre> |
||
+ | === Конфигурация ядра для поддержки сети === |
||
+ | Понадобиться поддержка в ядре TUN/TAP устройств и возможно VLAN (не уверен что это необходимо). Я в своей конфигурации предпочел использовать routed а не bridged соеднение, и поддержка birdge обязательной не является. Поддержка VLAN мне необходима в любом случае, выключить ее я не могу. |
||
+ | {{Kernel|Поддержка bridging, TUN и VLAN|<pre> |
||
+ | Device Drivers ---> |
||
+ | [*] Network device support ---> |
||
+ | <M> Universal TUN/TAP device driver support |
||
+ | |||
+ | Networking support ---> |
||
+ | Networking options ---> |
||
+ | <M> 802.1d Ethernet Bridging |
||
+ | <*> 802.1Q VLAN Support |
||
+ | </pre>}} |
||
+ | |||
+ | === Настройка сети в хост-системе === |
||
+ | * Загружаем соответвующий модуль) |
||
+ | {{Root|modprobe tun}} |
||
+ | <PRE> |
||
+ | [433164.306111] tun: Universal TUN/TAP device driver, 1.6 |
||
+ | [433164.306114] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> |
||
+ | </PRE> |
||
+ | * Добавляем соответвующие интерфейсы и именуем их как нравится. |
||
+ | |||
+ | {{Root|tunctl -b -u root -t kvm_tap0}} |
||
+ | {{Root|tunctl -b -u root -t kvm_tap1}} |
||
+ | |||
+ | {{Note|У меня к уттилите tunctl нет man-страниц хотя судя по USE-должны быть. |
||
+ | {{Root|<nowiki># equery uses sys-apps/usermode-utilities</nowiki>}} |
||
+ | <PRE> |
||
+ | [ Searching for packages matching sys-apps/usermode-utilities... ] |
||
+ | [ Colour Code : set unset ] |
||
+ | [ Legend : Left column (U) - USE flags from make.conf ] |
||
+ | [ : Right column (I) - USE flags packages was installed with ] |
||
+ | [ No USE flags found for sys-apps/usermode-utilities-20040406-r1] |
||
+ | </PRE> |
||
+ | }} |
||
+ | |||
+ | В результате имеем 2 интерфейса в системе. |
||
+ | <PRE> |
||
+ | #ifconfig -a |
||
+ | kvm_tap0 Link encap:Ethernet HWaddr 1e:56:79:e2:41:eb |
||
+ | BROADCAST MULTICAST MTU:1500 Metric:1 |
||
+ | RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
||
+ | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
||
+ | collisions:0 txqueuelen:500 |
||
+ | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
||
+ | |||
+ | kvm_tap1 Link encap:Ethernet HWaddr 1e:56:79:e2:41:eb |
||
+ | BROADCAST MULTICAST MTU:1500 Metric:1 |
||
+ | RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
||
+ | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
||
+ | collisions:0 txqueuelen:500 |
||
+ | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
||
+ | </PRE> |
||
+ | |||
+ | Настраиваем адреса на них: |
||
+ | {{Root|ifconfig kvm_tap0 172.16.254.5 netmask 255.255.255.252 up}} |
||
+ | {{Root|ifconfig kvm_tap1 172.16.254.9 netmask 255.255.255.252 up}} |
||
+ | |||
+ | Теперь нужно перезапустить виртуальную машину для того что бы включить в ней поддержку сети. |
||
+ | {{Root|<nowiki># kvm -hda test1.img -boot c -vnc :10 -net nic -net tap,ifname=kvm_tap0,script=no,downscript=no</nowiki>}} |
||
+ | При запуске можно указать какая именно сетевая карта будет сэмулирована для гостевой ОС (по умолчанию - реалтек) и куда его подключить (в моем случае к kvm_tap0). Обязательно указать что никаких скриптов при старте выполнять не нужно (script=no,downscript=no) |
||
+ | |||
+ | {{Note| Не забыть разрешить ip_forward на хостовой системе.}} |
||
+ | |||
+ | == Вторая виртуальная машина (FreeBSD 7.2) == |
||
+ | Наcтроил dhcpd что бы не прописывать адрес руками |
||
+ | <pre> |
||
+ | option domain-name "noname.com.ua"; |
||
+ | option domain-name-servers 193.33.48.33, 193.33.49.160; |
||
+ | default-lease-time 36000; |
||
+ | max-lease-time 72000; |
||
+ | ddns-update-style none; |
||
+ | log-facility local7; |
||
+ | subnet 172.16.254.8 netmask 255.255.255.252 { |
||
+ | range 172.16.254.10 172.16.254.10; |
||
+ | option routers 172.16.254.9; |
||
+ | option domain-name "virtual.noname.com.ua"; |
||
+ | option broadcast-address 172.16.254.9; |
||
+ | default-lease-time 60000; |
||
+ | max-lease-time 720000; |
||
+ | } |
||
+ | |||
+ | Запускаю на установку: |
||
+ | </pre> |
||
+ | {{Root|<nowiki>kvm -hda freebsd72.img -cdrom /var/virt/7.2-RELEASE-amd64-dvd1.iso -boot d -vnc :1 -net nic -net tap,ifname=kvm_tap1,script=no,downscript=no</nowiki>}} |
||
+ | |||
+ | == Windows 7 (тест) == |
||
+ | Ну, есть и хорошая новость - она работает ) |
||
+ | |||
+ | ==ToDo== |
||
+ | * Ограничение процессорного времени |
||
+ | * Приоритезация (возможно ли?) |
||
+ | * Разделение памяти |
||
+ | |||
+ | ==Ссылки== |
||
+ | Есть некоторая доля вероятности, что какую-то из ссылок которой я воспользовался я забыл указать. Потому, если такое вдруг случиться - укажите мне на ошибку. Я исправлю. |
||
+ | * http://www.ibm.com/developerworks/ru/library/l-linux-kvm/ |
Версия 23:07, 4 ноября 2009
KVM
KVM - система виртуализации котороая включена в состав ядра linux начиная с 2.6.20. Вероятно, наиболее прогрессивная система, т.к. RedHat переключилась на нее с XEN. Задача - запускать внутри виртуальных машин ОС отличную от хостовой (в моем случае - win32, FreeBSD, linux но другие версии ядра отличные от хостовых).
Сейчас использую VMWare, решил отказаться из-за следующих недостатков
- Неудобство управления (нужно держать под рукой vmware-console)
- Большие накладные расходы.
- VMWare не позволяет эмулировать более 2 процессоров (проверить!)
- Иногда - проблемы при обновлении ядра.
- Нет механизмов ограничения процессорного времени. (или я о них не знаю)
Hardware
KVM требует наличия x86-совместимого процессора с поддержкой одной из технологий аппаратной виртуализации — Intel VT либо AMD SVM. На данный момент KVM в состоянии запускать в качестве гостевых ОС GNU/Linux (32-битные и 64-битные), Windows (32-битные и 64-битные) и другие системы.
Для полноценной работы немодифицированных гостевых ОС потребуется процессор с поддержкой аппаратной виртуализации: Проверить наличие поддержки можно по наличию соответвующих флагов - комманда ниже должна дать непустой результат
В моем случае это
#cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 107 model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ stepping : 1 cpu MHz : 2310.439 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch bogomips : 4620.87 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc 100mhzsteps processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 107 model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ stepping : 1 cpu MHz : 2310.439 cache size : 512 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch bogomips : 4621.05 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc 100mhzsteps
Конфигурация ядра
Что бы включить поддержку KVM, следует включить следующие опции ядра (я использовал модули):
Linux Kernel Configuration: Поддержка KVM |
Device Drivers ---> [*] Virtualization ---> --- Virtualization <M> Kernel-based Virtual Machine (KVM) support <M> KVM for Intel processors support <M> KVM for AMD processors support |
Необходимое ПО
Для работы с kvm нужны следующие пакеты:
- app-emulation/kvm
- sys-apps/usbutils (только если нужна поддержка USB. Мне - не нужен)
- net-misc/bridge-utils (только если планируется bridged-net)
- sys-apps/usermode-utilities (нужен для управлениея tap-устройствами)
Еще я использовал:
- app-misc/screen
Запуск первой виртуальной машины
Добавляю в /etc/modules.autoload.d/kernel-2.6:
kvm-amd tun
и загружаю модули (tun нужен для работы сети, на этапе запуска виртуальной машины и установки гостевой WinXP - не нужен)
Далее, создаю диск с именем test1 размером 10G
Что бы посмотретьинформацию о диске можно воспользоваться следующей коммандой
image: ./test1.img file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 1.4G cluster_size: 4096
Далее пробую установить WinXP с образа установочного диска:
Т.к. все эксперементы я провожу на удаленном сервере, где нет ничего связанного с Х, то получаю следующее сообщение
Could not initialize SDL - exiting
Очевидно, что kvm попробовал вывести на экран какую-то графику и у него это не получилось. Отмечу, что я не сразу нашел решение, наиболее простое и правильное - перенаправить вывод графики на vnc. Соответвенно, комманда приобретает вид
Теперь можно подключиться к серверу на порт 5910 по vnc и пронаблюдать загрузку виртуальной машины.
Далее, наблюдаю за установкой и жму "далее" через vnc.
Если ОС не использует графику совсем - то запускать с параметром -curses вместо -vnc. В этом случае вывод будет праямо на текущюю консоль, что в большенстве случаев достаточно удобно.
Натройка сети на хост-системе и виртуальных машинах
Вцелом схема сети выглядит так: (вторая гостевая система пока только в процессе подготовки)
HOST KVM Гостевая система 1 (WinXP) +-----------------------+ +-----------------+ | 95.69.хх.xx | | | INET---+---- eth0 | | | | | | | KVM Гостевая система 2 (FreeBSD 7.2) | +------+ +--+---+---- nic0 | +--------------+ | |kvm_tap0---------+ | |172.16.254.6 | | | | | 172.16.254.5 | | | | | | |kvm_tap0---------+ | +-----------------+ | | | | 172.16.254.9 | | | | | +------+ | | | | | +--+-------------------------+---- nic0 | | | |172.16.254.10 | +-----------------------+ +--------------+
Конфигурация ядра для поддержки сети
Понадобиться поддержка в ядре TUN/TAP устройств и возможно VLAN (не уверен что это необходимо). Я в своей конфигурации предпочел использовать routed а не bridged соеднение, и поддержка birdge обязательной не является. Поддержка VLAN мне необходима в любом случае, выключить ее я не могу.
Linux Kernel Configuration: Поддержка bridging, TUN и VLAN |
Device Drivers ---> [*] Network device support ---> <M> Universal TUN/TAP device driver support Networking support ---> Networking options ---> <M> 802.1d Ethernet Bridging <*> 802.1Q VLAN Support |
Настройка сети в хост-системе
- Загружаем соответвующий модуль)
[433164.306111] tun: Universal TUN/TAP device driver, 1.6 [433164.306114] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
- Добавляем соответвующие интерфейсы и именуем их как нравится.
[ Searching for packages matching sys-apps/usermode-utilities... ] [ Colour Code : set unset ] [ Legend : Left column (U) - USE flags from make.conf ] [ : Right column (I) - USE flags packages was installed with ] [ No USE flags found for sys-apps/usermode-utilities-20040406-r1]
В результате имеем 2 интерфейса в системе.
#ifconfig -a kvm_tap0 Link encap:Ethernet HWaddr 1e:56:79:e2:41:eb BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) kvm_tap1 Link encap:Ethernet HWaddr 1e:56:79:e2:41:eb BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Настраиваем адреса на них:
Теперь нужно перезапустить виртуальную машину для того что бы включить в ней поддержку сети.
При запуске можно указать какая именно сетевая карта будет сэмулирована для гостевой ОС (по умолчанию - реалтек) и куда его подключить (в моем случае к kvm_tap0). Обязательно указать что никаких скриптов при старте выполнять не нужно (script=no,downscript=no)
Вторая виртуальная машина (FreeBSD 7.2)
Наcтроил dhcpd что бы не прописывать адрес руками
option domain-name "noname.com.ua"; option domain-name-servers 193.33.48.33, 193.33.49.160; default-lease-time 36000; max-lease-time 72000; ddns-update-style none; log-facility local7; subnet 172.16.254.8 netmask 255.255.255.252 { range 172.16.254.10 172.16.254.10; option routers 172.16.254.9; option domain-name "virtual.noname.com.ua"; option broadcast-address 172.16.254.9; default-lease-time 60000; max-lease-time 720000; } Запускаю на установку:
Windows 7 (тест)
Ну, есть и хорошая новость - она работает )
ToDo
- Ограничение процессорного времени
- Приоритезация (возможно ли?)
- Разделение памяти
Ссылки
Есть некоторая доля вероятности, что какую-то из ссылок которой я воспользовался я забыл указать. Потому, если такое вдруг случиться - укажите мне на ошибку. Я исправлю.