вторник, 7 февраля 2012 г.

Debian, KVM и виртуализация

Настройка виртуализации.

** проверяем поддерживает ли процессор аппаратную виртуализацию:
cat /proc/cpuinfo | egrep '(svm|vmx)'
Поддержка должна быть, иначе дальше нечего и мечтать о kvm.

** установка
sudo apt-get install kvm libvirt-bin virtinst bridge-utils
(при установке возможны траблы 404 из-за отсутствия либы в немецком репо)
reboot

** Проверяем (должно быть ТРИ слэша!!! иначе при двух нарвемся на сообщение вида: error: Cannot access CA certificate '/etc/pki/CA/cacert.pem': No such file or directory)

virsh -c qemu:///system list --all
В выводе пока виртуалок нет, но выводится что-то вроде "Id Name State -----"

** Добавим определение моста в /etc/network/interfaces

# virtual interfaces
auto br0
iface br0 inet static
bridge_ports vnet0
address 192.168.100.1
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
bridge_stp off

/etc/init.d/networking restart
смотрим ifconfig, есть ли br0


** Создаем виртуальную машину:

Создаем для удобства каталоги (к примеру в /srv) iso и vms
Качаем образ iso нужной ОС.

virt-install -n vm1 -r 1024 -f /srv/vms/vm1.img -s 10 -c /srv/iso/ваша_ОС.iso --accelerate --os-type=linux —os-variant=generic26 -v --vnc -w bridge:br0

опции:
-n vm1 — имя домена (виртуальной машины)
-r 1024 — количество оперативной памяти
-f /srv/vms/vm1.img — расположение «жесткого диска».
s 10 — размер «жесткого диска»
-c /srv/iso/ваша_ОС.iso — указываем iso образ, с которого будем производить установку системы.
--accelerate --os-type=linux --os-variant=generic26 -v — оптимизируем VDS для работы с виртуальным Linux с ядром 2.6.хх
--vnc — запускаем VNC-сервер для доступа к виртуальной машине.
-w bridge:br0 — указываем, что виртуальная машина должна использовать сетевой мост br0 хост-машины


** Подключаемся к виртуалке

ssh -L 5900:localhost:5900 _логин_@_ip_
И во второй консоли:
vncviewer localhost:5900

** Устанавливаем как обычно сервер.
Если понадобится сменить "диск" в приводе используем команду
virsh attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly
virsh attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly
attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly
virsh -c qemu:///system attach-disk имя_виртуалки /полный/путь/к/iso/образу hdc --type cdrom --mode readonly



** Настрока на хост серевере iptables на доступы извне по ssh и SNAT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.100.2:22
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source _ip_хоста_



** Удаление ВМ
virsh undefine vm1

Комментариев нет:

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