Проверка поддержки процессором виртуализации
1 |
# cat /proc/cpuinfo | egrep '(vmx|svm)' |
Пустой вывод у данной команды, означает отсутствие поддержки аппаратной виртуализации. Если же команда произвела вывод флагов процессора, есть смысл начать установку kvm
Установка и запуск
1 |
# apt-get install kvm libvirt-bin virtinst bridge-utils virt-manager |
Проверка загрузки модулей kvm:
1 |
# lsmod | grep kvm |
1 2 |
kvm_intel 121968 0 kvm 287749 1 kvm_intel |
Настройка сетевого интерфейса хоста:
1 |
# nano /etc/network/interfaces |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto bridge0 iface bridge0 inet static address 192.168.1.51 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 dns-search kamaok.org.ua bridge_ports eth0 |
1 |
# /etc/init.d/networking restart |
Проверяем наличие созданного интерфейса
1 |
# brctl show |
1 2 |
bridge name bridge id STP enabled interfaces bridge0 8000.000c29f79300 no eth0 |
Управление виртуальными машинами удаленного сервера с удобным графическим интерфейсом (используя virt-manager)
Отсюда качаем и устанавливаем X Server для Windows
http://sourceforge.net/projects/xming/
Запускаем этот сервер на Windows
2. В настройках PuTTY включить «Enable X11 Forwarding»
В момент подключения к удаленному серверу Xming должен быть уже запущен.
3.На хост-сервере с Debian для SSH включить X11 Forwarding, для этого отредактируйте файл sshd_config:
1 |
# nano /etc/ssh/sshd_config |
1 2 3 |
X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes |
1 |
# /etc/init.d/sshd restart |
Устанавливаем(если еще не установлен пакет virt-manager)
1 |
# apt-get install virt-manager |
(у меня он установлен еще при установки kvm)
Перелогиниваемся!!!
Запускаем менеджер виртуальных машин
1 |
# virt-manager |
1 2 3 4 5 |
/usr/share/virt-manager/virt-manager.py:306: DeprecationWarning: Importing dbus.glib to use the GLib main loop with dbus-python is deprecated. Instead, use this sequence: from dbus.mainloop.glib import DBusGMainLoop DBusGMainLoop(set_as_default=True) import dbus.glib |
Теперь виртуалки можно создавать,как с CLI(через virt-install), так и через GUI(virt-manager).
Создание виртуальных машин через CLI
Centos64
1 |
# virt-install -n Centos64 --ram 1024 --arch=x86_64 --vcpus=1 --cpu host --check-cpu --os-type linux --os-variant=rhel6 --boot cdrom,hd,menu=on --disk path=/dev/mapper/myvggroup-centos64,bus=virtio --network=bridge:bridge0,model=virtio --graphics vnc,listen=0.0.0.0,keymap=ru,password=123456 --noautoconsole --watchdog default,action=reset --virt-type=kvm --autostart --cdrom=/home/iso/CentOS-6.4-x86_64-minimal.iso |
Debian71
1 |
# virt-install -n Debian7 --ram 1024 --arch=x86_64 --vcpus=1 --cpu host --check-cpu --os-type linux --os-variant=debianwheezy --boot cdrom,hd,menu=on --disk path=/dev/mapper/myvggroup-debian71,bus=virtio --network=bridge:bridge0,model=virtio --graphics vnc,listen=0.0.0.0,keymap=ru,password=123456 --noautoconsole --watchdog default,action=reset --virt-type=kvm --autostart --cdrom=/home/iso/debian-7.1.0-amd64-netinst.iso |
В данном случае виртуалка размещается на LVM-разделе
1 |
--disk path=/dev/mapper/myvggroup-centos64 |
Если использовать файл на хосте под виртуалку, тогда параметр —disk будет выглядеть, например(размер виртуалки 10 Gb)
1 |
--disk /vms/centos64/centos64.img,size=10 |
Проверка на каком порту слушает запросы по VNC
1 |
# virsh vncdisplay Centos64 |
1 |
:0 |
Т.е на 5900
Проверка запуска виртуалки
1 |
# ps ax | grep qemu |
1 |
4618 ? Sl 2:13 /usr/bin/kvm -S -M pc-1.1 -cpu Westmere,+rdtscp,+hypervisor,+avx,+osxsave,+xsave,+x2apic,+vmx,+pclmuldq,+ht,+ss,+ds,+vme -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name Centos64 -uuid ab89b9f2-0b4e-f9d6-75ea-2c4b4abb3bfe -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Centos64.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/dev/mapper/myvggroup-centos64,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/home/iso/CentOS-6.4-x86_64-minimal.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=23,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:da:4c:23,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:0,password -k ru -vga cirrus -device i6300esb,id=watchdog0,bus=pci.0,addr=0x6 -watchdog-action reset -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 |
1 |
# netstat -nlpt | grep kvm |
1 |
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 4618/kvm |
FreeBSD9.2
1 |
# virt-install -n Freebsd92 --ram 1024 --arch=i386 --vcpus=2 --cpu host --check-cpu --os-variant=freebsd8 --boot cdrom,hd,menu=on --disk path=/dev/mapper/myvggroup-freebsd92,bus=virtio --network=bridge:bridge0,model=virtio --graphics vnc,listen=0.0.0.0,keymap=ru,password=123456 --noautoconsole --watchdog default,action=reset --virt-type=kvm --autostart --cdrom=/home/iso/FreeBSD-9.2-RELEASE-amd64-disc1.iso |