Показаны сообщения с ярлыком kvm. Показать все сообщения
Показаны сообщения с ярлыком kvm. Показать все сообщения

вторник, 29 мая 2012 г.

virt-install ValueError: Virtual network 'default' has not been started.

Получили такую ошибку:

virt-install ValueError: Virtual network 'default' has not been started.

Решение:

virsh net-start default

пятница, 24 февраля 2012 г.

kvm, lvm и virtio

Сам не проверял, но интернеты советуют, в общем использовать virtio для сети и диска в виртуальной машине.

Можно создать примерно такой командой (изменив конечно все для себя)

virt-install \
--connect qemu:///system \
-n virt1 \
-r 2048 \
--vcpus=1 \
--disk path=/dev/virt/virt1,bus=virtio \
--vnc \
--os-type linux \
--accelerate \
--network=bridge:br0,model=virtio \
--hvm \
-c /work/iso/CentOS-6.2-x86_64-minimal.iso

kvm, lvm и доступ к разделам диска с хост системы.

Предположим, понадобилось что-то прочитать или исправить в госте
При этом у гостя поключен lvm раздел в качестве "диска" /dev/virt/virt1
Гостя стоит остановить или монтировать в ro режиме.

Для начала "маппим" нужный раздел (со своей таблицей разделов)
kpartx -a /dev/virt/virt1

Теперь в /dev/mapper/ будет что-то вроде virt-virt, virt-virt1p1, virt-virt1p2 ...
Это и есть нужные нам разделы.

Дальше как обычно - mount
mount /dev/mapper/virt-virt1p1 /mnt/virt1p1
И работаем с ним.
Затем umount
и
kpartx -d /dev/virt/virt1

Вроде все.

вторник, 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