Zvládnout XEN? Otázka 2 hodin, maximálně odpoledne! ;-) (Debian Wheezy/ubuntu 12.04)

Jde to i bez LVM hezky imagem. 😉

Než začnete na linuxu instalovat jakoukoliv virtualizaci, sjeďte si základy bridgování a dalších srand. V podstatě by se dalo říct, že není rozdíl v nastavování bridgů pro Xen a pro KVM.  Je to dobře vysvětleno už v návodech na KVM s debianem Squeeze zde. Od bodu  apt-get install bridge-utils až po to, jak nějak má vypadat Váš /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.100
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

1) instalujeme

apt-get install xen-linux-system xen-tools

2) Vložíme podporu vix virtuálních rozhranní pro budoucí virtuální mašiny. Uvedenými 2 příkazy se to doplní na konec souboru. etc/xen/xend-config.sxp

echo "(network-script network-nat)" >> etc/xen/xend-config.sxp
echo "(vif-script     vif-nat)" >> etc/xen/xend-config.sxp

3) Tohle je riskantní a dávejte si bacha, abyste příšte nabootovali! Xen stručně řečeno je v podstatě upravený image vašeho současného linuxu, takže potřebujete do něho naboootovat, aby Vám xen začal vůbec chodit. První příkaz hodí xen jako první k bootu a druhý příkaz rebootne server/počítač na kterém se snažíte xen rozchodit.

dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen update-grub
reboot

4) Příkazem

xen dmesg

Zkontrolujete, jestli je vše OK.

5) Příkazem

xm list

Se dozvíte, jestli Vám xen nastartuje a vypíše to něco jako:

xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 612 2 r----- 2192.4

Name = název

ID je zkrátka pořadové číslo

Mem je použitá paměť

VCPUs: je počet použitých procesorů

State – tam je důležité, že když to běží, tak tam uvidíte r—– a pokud uvidíte -b—— tak to znamená blocked. Ale k tomu se dostaneme.

Na LVM se tentokrát vykašleme, protože ne každý lvm upřednostňuje a já si rozjíždím xen na datastoru s intel atomem, kde jsem LVM nepoužil protože by to pro mě nemělo žádný přínos.

6) Příkazem

nano /etc/xen-tools/xen-tools.conf

se dostaneme do konfiguračnímu souboru, kde můžeme nastavit defaultní configurace pro nové Xeňácké Virtuální stroje (dále jen VM). V mém případě jsem si nastavil, aby každá virtuálka měla nastavenou ip adresu brány, masky a broadcastu.

gateway = 192.168.123.1
 netmask = 255.255.255.0
 broadcast = 192.168.123.255

Ale tento bod je teoreticky nepovinný. CTRL + O zapíšeme a uložíme změny. CTRL X ukončíme editor nano. Pokud jste neměli nainstalovaný editor nano tak použijte příkaz

apt-get install nano -y

(Přepínač -y znamená -> neptát se na potvrzení na y a enterování, prostě to rovnou začne bez dalšího optávání rovnou stahovat a instalovat).

Dále se ve stejném souboru nacházejí tyto řádky:

size = 4Gb # Disk image size.
swap = 128Mb # Swap size

Editací těchto 2 řádků si zajistíte příkazem size velikost diskového image. Tedy souboru, do kterého bude váš virtuální stroj (dále jen VM) zapisovat jako kdyby to byl virtuální harddisk. Swap je soubor, do kterého bude Váš VM zapisovat, jako kdyby to byl diskový oddíl určený na odkládací prostor pro Váš linux na VM.

7) Vytvořte si adresář, kde se Vám budou ukládat .img virtuálních strojů příkazem:

cd /
mkdir xen
cd xen
mkdir image

Spusťte tento příkaz potom co si ho editnete:

xen-create-image --hostname=nazevVirtualky \
 --memory=384mb \
 --vcpus=1 \
 --ip=192.168.123.32 \
 --netmask=255.255.255.0 \
 --gateway=192.168.123.1 \
 --dir=/xen/image/ \
 --dist=wheezy

–memory říká – kolik bude mít vaše virtuálka RAM, jak vidíte, dal jsem ji 384MB ram.

–vcpus=1 říká, že virtuálka bude mít jen 1 jádro procesoru

–ip= ipadresa virtuálky, kterou to tomu nastaví a přiřadí hezky za vás 😉

–netmask – maska podsítě kterou to virtuálce nastaví

–gateway – ip adresa brány, kterou se bude virtuálka dostávat do internetu. Pokud Natujete, tak nastavujete ip adresu virtuálního rozhranní, pokud používáte bridge, to znamená, že virtuálka je na síti na stejné úrovni, jako je fyzický stroj, na kterém běží, tak použijete pravděpodobně něco jako ip adresa rozhraní br0 nebo rozhraní br1 apod.

–dir=/xen/image <- to je adresář, kde se vytvoří oba dva image

–dist=wheezy <- distribuce debian wheezy.

Pokud chcete změnit vytvářecí velikost diskového image VM, tak stačí připsat parametr –size=20Gb  (tím nastavíte velikost virtuálního image na 20Gb). Standardně byla nastavena v configu na 4Gb.

Ta lomítka symbolizují další řádek. Tato procedura potom co odkliknete enter může trvat i několik minut, na starých strojích i desítky minut v závislosti na tom, jak velké image vytváříte.

8) Pokud jste si po vytvoření virtuálky nepoznamenali heslo na roota, tak dejte příkaz

tail /var/log/xen-tools/nazevVirtualky.log

a vypíše Vám to něco jako:

All done
Installation Summary
---------------------
Hostname : nazevVirtualky
Distribution : wheezy
IP-Address(es) : 192.168.123.32
RSA Fingerprint : cf:58:63:7e:51:e1:at:ak:da:le
Root Password : VaseHesloNaPrihlaseniPodRootaNaVirtualce

9) Pro nahození virtuálky (pokud se nenahodila a nevidíte ji po zadání příkazu xm list) napište příkaz:

xm create /etc/xen/nazevVirtualky.cfg

10) Potom co byste ji měli vidět v seznamu, tak by virtuálka měla jít pingnout a už by měla být nastartovaná.

Pro připojení na terminál virtuálky napište příkaz:

xm console nazevVirtualky

Případně z jiného stroje pak už půjde

ssh root@192.168.123.32

a mělo by Vás to tam připojit.

 

Edit: Pro vyjetí z konzole xm console <názevVirtuálky> stiskněte:

Buď: Ctrl + ‚]‘
Anebo: Ctrl + ‚5‘

Enjoy -> zdroj

 

Doporučím na závěr tento zdroj. A další. A ještě tenhle a tenhle.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

nine + 12 =