Шукати в цьому блозі

Показ дописів із міткою kvm. Показати всі дописи
Показ дописів із міткою kvm. Показати всі дописи

четвер, 31 січня 2013 р.

Заметки: QEMU, KVM

Для удобства управления виртуальными машинами можно поставить пакет aqemu. Но если это лениво или по каким-либо причинам недопустимо то следующие заметки, так сказать, "на память".

Создаём диск:
qemu-img create -f raw Knoppix_HDA.img 4G

Запускаем загрузку с LifeCD:
kvm -no-acpi -m 384 -cdrom KNOPPIX_V7.0.3CD-2012-06-25-EN.iso -hda Knoppix_HDA.img -boot d
или так:
kvm -monitor stdio -enable-kvm -m 1024 -localtime -cdrom KNOPPIX_V7.0.3CD-2012-06-25-EN.iso -hda Knoppix_HDA.img -boot order=dc,menu=on -net nic,vlan=0 -net user,vlan=0 -name "Knoppix" -vnc :10

Можно сконвертировать образ, если необходимо:
qemu-img convert -f raw Knoppix_HDA.img -O qcow2 Knoppix_QCOW2.img

Приоритет загрузки CD-ROM, затем HDD:
kvm -monitor stdio -enable-kvm -m 512 -localtime -hda Knoppix_HDA.img -boot order=dc,menu=on -net nic,vlan=0 -net user,vlan=0 -name "Knoppix" -vnc :10

Приоритет загрузки HDD, затем CD-ROM:
kvm -monitor stdio -enable-kvm -m 512 -localtime -hda Knoppix_HDA.img -boot order=cd,menu=on -net nic,vlan=0 -net user,vlan=0 -name "Knoppix" -vnc :10

Настройка сети.
Часто-густо описывается настройка сети где какой-нибудь внешний интерфейс бриджуется и уже на полученный бридж-интерфейс подвязываются виртуалки. Не спорю, что это простой, удобный и правильный путь, но путь настоящего джедая не всегда прост, а зачастую очень даже тернист. Поэтому чуть ниже рассказывается о том как со своей виртуалкой получить полноценную маршрутизируемую сеть.

Для начала, как и в статье про сеть в VirtualBox, установим все необходимые для этого пакеты:
sudo aptitude install uml-utilities
не забываем добавить нашего пользователя, для которого будет разрешено использовать сеть в виртуальной машине, в группу uml-net:
sudo adduser olden uml-net

Далее в /etc/network/interfaces пропишем настройки для нашего tap-интерфейса, который будет подвязан к виртуальной машине:
auto tap2
iface tap2 inet static
        address 172.16.24.5
        network 172.16.24.4
        netmask 255.255.255.252
        broadcast 172.16.24.7
        tunctl_user username

Собственно после этого можно запустить виртуальную машину и указать ей использовать только что построенный интерфейс:
kvm -monitor stdio -enable-kvm -m 512 -localtime -hda Knoppix_HDA.img -boot order=cd,menu=on -net nic,vlan=0 -net tap,vlan=0,ifname=tap2 -name "Knoppix" -vnc :10
Безусловно, что настроить сетевые настройки на интерфейсе гостевой системы придётся вручную.

вівторок, 10 січня 2012 р.

Конвертируем образ из VirtualBox в KVM

Преобразуем vdi в raw:
VBoxManage clonehd --format RAW .VirtualBox/HardDisks/WinXP.vdi WinXP.img
Преобразуем raw в qcow2:
qemu-img convert -f raw WinXP.img -O qcow2 WinXP
Хотя… сомнительна сама идея, что windows поднимется в новой конфигурации.
Но, что касается linux'а то думаю, что он переживёт транспортировку на новую платворму достаточно легко.

KVM и маршрутизируемая сеть

Чтобы в KVM появилась возможность добавлять маршрутизируемые сети, а не сплошь и рядом описанные bgidge-интерфейсы и NAT рисуем xml-файл, называем например vms.xml, следующего содержания:
<network>
  <name>vms</name>
  <forward mode='route'/>
  <bridge name='virbr1' />
  <ip address='192.168.200.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.200.2' end='192.168.200.254' />
    </dhcp>
  </ip>
</network>
затем объявляем его в virsh:
# virsh net-define vms.xml
После того как сделали объявление, стартуем и добавляем в это объявление в автозагрузку:
# virsh net-start vms
# virsh net-autostart vms
После этого в системе появится новый интерфейс и маршрут, например:
# ip a s virbr1
7: virbr1:  mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 1a:9d:ce:dd:09:8a brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.1/24 brd 192.168.200.255 scope global virbr1
# ip r s 192.168.200.0/24
192.168.200.0/24 dev virbr1  proto kernel  scope link  src 192.168.200.1
Не забываем включить форвард net.ipv4.ip_forward и добавить соответствующие правила в iptables.

В virt-manager наша маршрутизируемая сеть так же будет отображаться. Более того, теперь через virt-manager при желании можно объявить и другие маршрутизируемые сети.