Очень коротко пробежимся по установке KVM в Debian 6 и создадим 1 виртуальную машину.

KVM (или Kernel-based Virtual Machine) — это программное решение, поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).

Обязательно! Поддержка виртуализации вашем процессором (без аппаратной поддержки процессора все будет очень медленно работать), проверить можно так

если вывод пустой то не поддрживает или если в выводе присутствует флаг svm (Secure Virtual Machines) — значит у вас процессор с поддержкой аппаратной виртуализации от AMD, если vmx (Virtual Machine eXtension) — значит процессор Intel.

Устанавливать лучше на 64 битную ос, у меня как раз такая, ставим пакеты

qemu-kvm — основной эмулятор, сама виртуализация (модуль для ядра).
bridge-utils — утилиты для конфигурирования Linux Ethernet мост.
libvirt-bin — виртуальная оболочка API.
virtinst — софт для создания впс.

Для управления вирт машинами можно использовать графическую оболочку virt-manager но нам оно не надо.

Проверяем модуль

теперь нужно вклчючить возможность форвардинга и проксирования arp запросов

в /etc/sysctl.conf и применить их

Настраиваем bridge

Мой выглядел так:

Стал таким:

Перезагрузим сеть:

по идеи все готово, осталось сделать диск для впс и соорудить команду для запуска

у меня все будет в каталоге kvm, создаем диск

в том же каталоге лежит debian-live-6.0.3-amd64-kde-desktop.iso скачанный с оф сайта, создаем впс

-n vm1 — хост имя вирт машины
-r 512 — выделяемый объем ОЗУ
-f /kvm/vm1.img — жесткий диск для виртуалки
-s 1 — объем этого диска в гигабайтах
-c /kvm/debian-live-6.0.3-amd64-kde-desktop.iso — диск подключаемый как виртуальный cdrom
—accelerate —os-type=linux —os-variant=generic26 -v — оптимизация виртуалки
—vnc — vnc сервер
-w bridge:br0 — сетевой мост

теперь можно подключится к vnc серверу

получилось так что vnc слушает только на локал хосте поэтому будем подключатся через туннель я исрользую kitty

Connection-SSH-Tunnels в поля:
Source port пишем 59000
Destination пишем localhost:5900

произойдет перенаправление порта 5900 ноды на наш локальный 59000 порт

в качестве vnc клиента у меня UltraVNC, подключаемся к localhost:59000

Управление виртуальными машинами при помощи virsh

virsh —connect qemu:///system подключение к виртуальной оболочке
help список доступных команд
list запущенные виртуальные машины
start vm1 запуск vm1
shutdown vm1 остановка vm1
destroy vm1 немедленная остановка
undefine vm1 удаление vm1
quit выход

 

  13 комментариев в “Установка виртуализации KVM в Debian Squeeze”

  1. /etc/libvirt/qemu.conf
    vnc_listen = «0.0.0.0»
    /etc/init.d/libvirt-bin restart

     
  2. Здравстуйте, хотелось бы подробнее узнать о том что вы изменили в настройках сети (не хватает комментариев) и как оно вообще работает…

     
  3. Спасибо, сделал.

     
  4. rootden says:
    02.06.2012 на 21:24
    не всегда нужно vnc внаружу вытаскивать

    можно при создание задать ip внешний и порт

    Скажите пожалуйста как сделать чтоб виртуальная машина имела свой ip адрес. Чтоб сервер имел допусти 192.168.0.1 а виртуальная машина созданная в этом сервере имела 192.168.0.2. Чтоб другие компьютеры сети могли напрямую с виртуальной машиной общать а не с бриджом. заранее спасибо

     
    • вы просто внутри виртуалки настройте сеть как надо,

      например 192.168.1.8 — нода, то внутри виртуалки дайте 192.168.1.9 и гетвей 192.168.1.1

      и все будет работать

       
  5. # aptitude install qemu-kvm bridge-utils libvirt-bin virtinst
    Следующие НОВЫЕ пакеты будут установлены:
    defoma{a} fontconfig{a} fontconfig-config{a} hicolor-icon-theme{a} libatk1.0-0{a} libatk1.0-data{a} libcairo2{a}
    libcups2{a} libdatrie1{a} libfont-freetype-perl{ab} libfontconfig1{a} libfontenc1{a} libglade2-0{a} libgtk-vnc-1.0-0{a}
    libgtk2.0-0{a} libgtk2.0-bin{a} libgtk2.0-common{a} libjasper1{a} libjpeg62{a} libpango1.0-0{a} libpango1.0-common{a}
    libpixman-1-0{a} libthai-data{a} libthai0{a} libtiff4{a} libxcb-render-util0{a} libxcb-render0{a} libxcomposite1{a}
    libxcursor1{a} libxdamage1{a} libxfixes3{a} libxfont1{a} libxft2{a} libxinerama1{a} libxrandr2{a} libxrender1{a}
    python-libvirt{ab} python-libxml2{ab} python-pycurl{ab} python-urlgrabber{a} ttf-dejavu-core{a} virt-viewer{a} virtinst
    x-ttcidfont-conf{a} xfonts-encodings{a} xfonts-utils{a}
    0 пакетов обновлено, 46 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
    Необходимо получить 17,7 MB архивов. После распаковки 49,8 MB будет занято.
    Следующие пакеты имеют неудовлетворённые зависимости:
    python-pycurl : Зависит: python (< 2.7) но установлен 2.7.3~rc2-1
    perl-base : Конфликтует: defoma (< 0.11.12) но устанавливается 0.11.11.
    perl-modules : Конфликтует: defoma (< 0.11.12) но устанавливается 0.11.11.
    libfont-freetype-perl : Зависит: perlapi-5.10.0 который является виртуальным пакетом.
    python-libvirt : Зависит: python (= 0.6.11) но его установка не запланирована.
    python-libxml2 : Зависит: python (< 2.7) но установлен 2.7.3~rc2-1
    Следующие действия разрешат зависимости:

    Сохранить для следующих пакетов их текущие версии:
    1) defoma [Не установлен]
    2) libfont-freetype-perl [Не установлен]
    3) libglade2-0 [Не установлен]
    4) libgtk-vnc-1.0-0 [Не установлен]
    5) libgtk2.0-0 [Не установлен]
    6) libgtk2.0-bin [Не установлен]
    7) libpango1.0-0 [Не установлен]
    8) libpango1.0-common [Не установлен]
    9) python-libvirt [Не установлен]
    10) python-libxml2 [Не установлен]
    11) python-pycurl [Не установлен]
    12) python-urlgrabber [Не установлен]
    13) virt-viewer [Не установлен]
    14) virtinst [Не установлен]
    15) x-ttcidfont-conf [Не установлен]

    Оставить следующие зависимости неразрешёнными:
    16) defoma рекомендует libfont-freetype-perl
    17) libgtk2.0-common рекомендует libgtk2.0-0

    Принять данное решение? [Y/n/q/?] y
    Ни одного пакета не будет установлено, обновлено или удалено.
    0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
    Необходимо получить 0 B архивов. После распаковки 0 B будет занято.

     
  6. Как подключаться по VNC если одна виртуалка понятно. А как быть если виртуалки две и более

     
  7. Не пойму, все сделал как положено, поставил две win server 2003 в одной винде все норм, в другой при абсолютном бездействии загрузка цп 70%.. зашел на хост, запустил top показывает kvm 70 % что за…

     
  8. Скажите если сервер имеет внешний ip и только eth0. как настроить сеть виртуалки, чтобы виндовс имел свой ip и видели его через внешку+ линукс и виндовс видели друг друга
    Например у меня в /dev/gv0/lvWinXP стоит виндовс. мне надо настроить сеть для виндовс.
    auto kvmbr0
    iface kvmbr0 inet static
    address XXX.XXX.XXX.XXX
    netmask 255.255.255.248
    network XXX.XXX.XXX.XXX
    broadcast XXX.XXX.XXX.XXX
    gateway XXX.XXX.XXX.XXX
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp on
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers XXX.XXX.XXX.XXX

     
  9. Скажите если сервер KVM имеет внешний ip и только 1 if eth0. как настроить сеть виртуалки, чтобы виртуалка имела свой ip и видели его через внешку+ Сервер и виртуалка видели друг друга
    Например у меня в /dev/gv0/lvWinXP стоит виндовс. мне надо настроить сеть.
    вот МОСТ и IP Сервера KVM
    auto kvmbr0
    iface kvmbr0 inet static
    address XXX.XXX.XXX.XXX
    netmask 255.255.255.248
    network XXX.XXX.XXX.XXX
    broadcast XXX.XXX.XXX.XXX
    gateway XXX.XXX.XXX.XXX
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp on
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers XXX.XXX.XXX.XXX

     

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

(обязательно)

(обязательно)

 
Copyright © 2012. Linuxguru.ru