Když chceme začít virtualizovat, tak je nejprve nutné si nějaký virtualizovaný OS nainstalovat. Například můžeme použít 64 bitový CentOS Linux virtualizovaný pomocí technologie XEN.
XEN použijeme tehdy, pokud chceme použít paravirtulizované prostředí:
virt-install --paravirt \
--name pokus \
--ram 512 \
--file=/home/xen/pokus.img \
--file-size 20 \
--nonsparse \
--nographics \
--os-type=linux --os-variant=rhel5.4 \
--location http://ftp.cvut.cz/centos/5.5/os/x86_64/ \
--mac 00:16:3e:00:11:22 --bridge xenbr0
Význam jednotlivých voleb a parametrů je následující:
Pokud chcete použít Xen k virtualizaci Windows XP, tak je potřeba instalovat Windows pomocí obrazu instalačního CD Windows XP SP2 (nikoliv SP3 … s ním instalace selže). Vlastní příkaz potom může vypadat následovně:
virt-install --hvm \
--name windows_xp \
--ram 512 \
--file=/home/xen/windows_xp.img \
--file-size 20 \
--nonsparse \
--os-type=windows \
--os-variant=winxp \
--cdrom /root/iso/windows_xp_pro_sp2.iso \
--mac 00:16:3e:12:34:56 \
--bridge xenbr0
Pokud chceme použít plnou virtualizaci, tak můžeme použít KVM. Před použitím KVM je potřeba ověřit, že procesor má podporu pro virtualizaci. Když vypíšeme obsah souboru /proc/cpuinfo, tak procesor(y) by měli mít příznak vmx (Intel) nebo vms (AMD). Potom je také většinou potřeba podporu pro virtualizaci zapnout v BIOSu. Bývá většinou vypnutá. To, jestli je zapnutá nebo ne ne, lze poznat pomocí příkazu:
dmesg | grep kvm
V případě, že je v podpora pro virtualizaci v BIOSu vypnutá, tak to vrátí
kvm: disabled by bios
Než nainstalujeme KVM, tak je nejprve potřeba nastavit síťový most, protože KVM to za nás na rozdíl od Xenu neudělá. Je potřeba vytvořit soubor:
/etc/sysconfig/network-scripts/ifcfg-br0
který bude obsahovat následující konfiguraci:
DEVICE="br0"
TYPE="Bridge"
BOOTPROTO="dhcp"
ONBOOT="yes"
DELAY="0"
NM_CONTROLLED="no"
Následně je potřeba upravit konfigurační soubor odpovídající síťovému zařízení, které chceme přemostit. V našem případě to bylo zařízeni em1:
/etc/sysconfig/network-scripts/ifcfg-em1
kde bylo potřeba upravit/přidat tyto řádky:
NM_CONTROLLED="no"
BRIDGE="br0"
Nakonec je potřeba restartovat nastavení sítě pomocí
service network restart
Vlastní instalaci lze provést několika způsoby. My si ukážeme instalaci pomocí příkazu virt-install:
virt-install \
--accelerate --hvm \
--connect qemu:///system \
--name pokus \
--ram 512 \
--file=/home/kvm/pokus.img \
--file-size 20 \
--nonsparse \
--vnc --noautoconsole \
--os-type=linux --os-variant=rhel6.3 \
--location http://ftp.cvut.cz/centos/6.3/os/x86_64/ \
--mac 52:54:00**:00:11:22 --network=bridge:br0
Tento příkaz pouze spustí instalaci. Vlastní průběh instalace je nutné sledovat a provádět například přes virt-manager, který se připojí k hypervizorovi (lze i vzdáleně pomocí ssh).
Poznámky:
export VIRSH_DEFAULT_CONNECT_URI="qemu:///system"
Každý výrobce síťových karet má přidělený nějaký rozsah nebo rozsahy MAC adres. Podobně je to i s tvůrci virtualizačních řešení.
Bohužel zde už vůbec neexistují mechanismy, které by zamezili tomu, aby na světě nebyli dva virtuální stroje se stejnou MAC adresou. V každém případě je na vás, abyste zajistili unikátnost všech virtualizovaných strojů ve vaší síti.
Pro KVM lze náhodnou MAC adresu vygenerovat pomocí:
printf '52:54:00:%02X:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256))