KVM (или Kernel-based Virtual Machine)

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

Всё что будет написано ниже проверено и 100% работает на Debian 7.Х

Проверить поддержку виртуализации процессором можно так:
cat /proc/cpuinfo | egrep '(vmx|svm)'
если вывод не пустой, можно смело продолжать.

ХОСТ система:
— OS: Debian 7.4 (Wheezy)
— IP: 192.168.0.2
Установлю необходимые пакеты:
aptitude install qemu-kvm bridge-utils libvirt-bin virtinst
включаю возможность форвардинга и проксирования arp запросов
echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.proxy_arp=1" >> /etc/sysctl.conf
применяю настройки:
sysctl -p
Настраиваю сеть (bridge)
nano /etc/network/interfaces
Было так:
root@debian:~#  cat /etc/network/interfaces |grep -v \#

auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
Стало так:
root@kvm01:~# cat /etc/network/interfaces |grep -v \#

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto kvmbr0
iface kvmbr0 inet static
        address 192.168.0.2
        netmask 255.255.255.0

bridge_ports eth0
Обновляю настройки сети:
root@kvm01:~# brctl show
bridge name     bridge id               STP enabled     interfaces
root@kvm01:~# /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...
Waiting for kvmbr0 to get ready (MAXWAIT is 32 seconds).
done.
root@kvm01:~# brctl show
bridge name     bridge id               STP enabled     interfaces
kvmbr0          8000.002590a06d6e       no              eth0
Создам ВМ для atslog-2.1.1:
  • HDD виртуальной машины будет здесь /mnt/disk4tb02/kvm.data/
  • Гостевая ОС: Denbian 7.4.0
загружаю установочный диск
cd /mnt/disk4tb02/kvm.data/iso
wget http://cdimage.debian.org/debian-cd/7.4.0/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso 
создаю HDD
cd /mnt/disk4tb02/kvm.data/

dd if=/dev/zero of=/mnt/disk4tb02/kvm.data/vm04_atslog_debian740.img bs=1024k count=10000
10000+0 записей считано
10000+0 записей написано
 скопировано 10485760000 байт (10 GB), 55,7215 c, 188 MB/c
создаю ВМ
virt-install -n vm04_atslog_debian740 \
-r 512 \
--disk path=/mnt/disk4tb02/kvm.data/vm04_atslog_debian740.img,size=10  \
--cdrom=/mnt/disk4tb02/kvm.data/iso/debian-7.4.0-amd64-netinst.iso \
--serial dev,path=/dev/ttyS0 \
--accelerate --os-type=linux --os-variant=debianwheezy -w bridge:kvmbr0 \
--autostart \
-v \
--graphics vnc,listen=192.168.0.2,port=60606,password=mypass
Немного о написаном
  • -n vm04_atslog_debian740 — хост имя вирт машины
  • -r 512 — выделяемый объем ОЗУ
  • —disk /mnt/disk4tb02/kvm.data/vm04_atslog_debian740.img — HDD для виртуалки
  • ,size 10 — объем этого диска в гигабайтах
  • —cdrom /mnt/disk4tb02/kvm.data/iso/debian-7.4.0-amd64-netinst.iso — диск подключаемый как виртуальный cdrom
  • —serial dev,path=/dev/ttyS0 — —serial dev,path=HOSTPATH. Host device. For serial devices, this could be /dev/ttyS0. For parallel devices, this could be /dev/parport0
PS ATSLog — будет работать с мини-АТС Panasonic через COM-порт (/dev/ttyS0)
PPS подключиться к виртуальной машине можно с помощью любого VNC-клиента, по адресу 192.168.0.2, порт — 60606, пароль — mypass