====== Virtualizace ======
Jelikoz CentOS ze sve podpory zcela vyradil XEN po vzoru sve matky RedHat, doinstalovani cele podpory zpet je zbytecne slozite. Zajemce odkazuji na docela dobry navod pro CentOS 6.2
http://www.howtoforge.com/virtualization-with-xen-on-centos-6.2-x86_64-paravirtualization-and-hardware-virtualization
Po spusteni systemu Debian wheezy (toho casu testing) nabehne system do kernelu 3.2.0-xxx a je treba nainstalovat XEN hypervizor - mikrokernel, ktery bude fyzicky ovladat hardware a linuxovy system tzv. dom0 bude pouzivat jako pomucku, aby nemusel umet vsechny drivery. Hypervizor prakticky jen rozdeluje cpu-time a pamet. Coz je velice chytre vymyslene.
{{ :linux:skoleni:xen-schema.png?200|}}
Najit spravny balik pomuze prikaz
aptitude search xen
a rada pouzit pseudo balik **xen-linux-system**, ktery sam o sobe neobsahuje zadna data, pouze zavislosti na mnoha baliccich.
==== Uprava Grubu ====
Do ''/etc/default/grub'' pridat nastaveni pameti dom0 na 1GiB
GRUB_CMDLINE_XEN="dom0_mem=1024M"
nasleduje prikaz //update-grub//.
Links
* https://www.howtoforge.com/how-to-set-up-xen-4.3-on-debian-wheezy-7.0.2-and-then-upgrade-to-jessie
Abych nezdrzoval pri jednotlivych krocich, nainstalujeme si v dalsim kroku vsechny potrebne programy predem
apt-get install xen-utils xen-tools lvm2 squid virt-manager xfce4 iceweasel
Kdo pri instalaci nezvolil LVM oddil (coz pro root fs nedoporucuji) bude muset nejdrive vytvorit partition pro lvm (napr /dev/sda6) a lvm inicializovat rucne
{{ :linux:skoleni:lvm_setup14.jpg?200|}}
cfdisk /dev/sda
pvcreate /dev/sda6
vgcreate vg_virt /dev/sda6
Pro dalsi ukazky je dobre stahnout maly 150MB debian net install iso image
* http://gensho.acc.umu.se/cdimage/weekly-builds/amd64/iso-cd/debian-testing-amd64-netinst.iso
Obdobne si stahnete a pouzijte CentOS nebo Windows.
Sitovani, obzvlaste ve slozitejsich konfiguracich, doporucuji nastavit rucne, abyste meli plnou kontrolu nad systemem. Jako ukazka poslouzi jeden bridge. Nejdrive se zbavime ''eth0''. Upozornuji na rozdil mezi prikazem ''ifdown eth0'' lokalne na notebooku a stejnym prikazem provedenym vzdalene na serveru, kam jste pripojeni pres ''eth0''.
ifdown eth0
brctl addbr xenbr0
brtctl addif xenbr0 eth0
ifconfig eth0 up
ifconfig xenbr0 up
dhclient xenbr0
brctl show
Permanentni nastaveni prezivsi boot: Smazat konfiguraci eth0 v /etc/network/interfaces, pro kloubouky v /etc/sysconfig/network-scripts/ifcfg-eth0.
auto xenbr0
iface xenbr0 inet static
address 192.168.5.62
netmask 255.255.255.0
bridge_ports eth0
bridge_maxwait 5
bridge_fd 1
bridge_stp off
Nyni lze pohodlne ovladat novy inteface prikazy ''ifup/ifdown xenbr0''.
====== Virt-manager ======
Prakticky intuitivni ovladani. Dulezite je zvolit XEN, nikoliv nabizene qemu nebo kvm. Jediny osklivy trik je nutnost vytvoreni tzv. storage poolu pro pridelovani lvm. Zde mohu citovat ze svych poznamek na papire ke skoleni: //!Pozor: Jako obvykle az budes hledat LVM, musi se nejdrive pridat pool -> Connection -> Storage//
Na prvni pokus se prihlaseni ke xen nepodari, protoze xen defaultne neposloucha na 0.0.0.0:8000. Proto je treba nastavit v konfiguracnim souboru
(xend-http-server yes)
(xend-unix-server yes)
a nezapomenout na ''service xend restart''.
URL pro virt manager
* debian: http://ftp.cz.debian.org/debian/dists/oldstable/main/installer-amd64/
* centos: http://ftp.riken.jp/Linux/centos/5/os/x86_64/
* opensuse: http://ftp.riken.jp/Linux/opensuse/distribution/openSUSE-current/repo/oss/
* mandriva: http://ftp.riken.jp/Linux/MandrivaLinux/official/current/x86_64/
* fedora: http://ftp.riken.jp/Linux/fedora/releases/12/Fedora/x86_64/os/
====== Prichazi tezke vahy - Day 2 =======
Zapomente na virt-manager a virsh. Budeme pouzivat prikaz "xm" pro veskere dalsi ovladani virtualnich stroju. Nejprve si pro potreby instalace upravime ''/etc/xen-tools/xen-tools.cfg''. Misto puvodni obsahle prikazove radky typu
xen-create-image --hostname xen-mail --dhcp --lvm=vg_virt --install-method=debootstrap --bridge=xenbr0 --size=3G --noswap
diky uprave konfiguracniho souboru pak staci psat proste
xen-create-image --hostname xen-jahoda
Zobrazuji jen relevantni radky, uplny soubor naleznete v materialech predanych na flash disku.
lvm = vg_virt
install-method = debootstrap
# pro predvyber baliku
debootstrap-cmd=/usr/sbin/debootstrap --include=apt-file,tcpdump,vim,less
dhcp = 1
size = 3Gb # Disk image size.
memory = 1024Mb # Memory size
noswap = 1 # Don't use swap at all for the new system.
fs = ext4
dist = wheezy # Default distribution to install.
image = full
serial_device = hvc0
Je velmi dobre prohlednout si instalacni log ''/var/log/xen-tools/xen-mail.log''. Minimalne proto, ze tam bude ulozeno heslo na roota, ale take muzete pres ''tail -f /var/....log'' sledovat prubeh instalace.
Spusteni, vypnuti, pripojeni konzole a proste bezne prakticke ovladani virtualnich stroju
xm create xen-mail.cfg
Pokud chcete ihned dostat virtualni konzoli hvc0 a sledovat boot paravirtualizovaneho stroje, muzete vytvorit stroj s parametrem ''-c''.
xm create -c xen-mail.cfg
Pripojeni k virtualnimu stroji
xm console xen-mail
Naopak odpojeni je docela neintuitivni ''ctrl-]''. V pripade, ze by vas virtualni konzole zlobila nebo se vam povedlo dvakrat pripojit, nejjednodussi zpusob je v Dom0 dat prikaz ''killall xenconsole''. Obzvlaste zaseknute konzole budete muset odstrelit devitkou ''killall -9 xenconsole''.
[[inittab]]
=====vnc=====
Vybornou pomuckou je pristup na virtualni server pres VNC. Na strane klienta je situace obzvlaste jednoducha
apt-get install vncviewer
vncviewer 192.168.5.62 5909
Na strane serveru pro paravirtualizovane virtualy staci pridat jednu jedinou radku do
vfb = [ 'type=vnc,vncdisplay=9,vncpasswd=aaa,vnclisten=192.168.5.62' ]
Vncdisplay je offset vuci portu 5900, tedy v nasem pripade 5900+9=5909. Vnclisten je restrikce na konretni IP. Velmi dobra pomucka pokud mate vice virtualizacnich serveru - temer cloud - a nejake interface jsou duveryhodne (lokalni sit apod.) na kterych muzete vnc nechat beztrestne bezet a muze byt dobrym pomocnikem.
===== SnapShoty =====
lvcreate -L 100M --snapshot /dev/vg_virt/root_mail -n muj_backup_mail
Obvykle pak nasleduje zkopirovani snapshotu na pozadovanou destinaci
dd if=/dev/vg_virt/muj_backup_mail of=/backup/root_mail.img bs=16M
Nezapomente snapshot zrusit prikazem
lvremove /dev/vg_virt/muj_backup_mail
Bez problemu muzete nyni v konfiguracnim souboru ''/etc/xen/xen-mail.cfg'' zmenit fyzicky harddisk pro virtualni server z 'phy' na 'file' a spustit xen-mail.
[[pozn. jak je to s kern+initrd]]
====== iSCSI - den treti ======
Vytvorime si pet pokusnych kraliku v podobe logical volumes root1 az root5 pro budouci export pres iSCSI.
lvcreate -L 3G virt -n root1
lvcreate -L 3G virt -n root2
lvcreate -L 3G virt -n root3
lvcreate -L 3G virt -n root4
lvcreate -L 3G virt -n root5
server:
apt-get install iscsitarget iscsitarget-dkms
Target iqn.2009-05.cz.jahoda:storage.pole2.root1
Lun 0 Path=/dev/virt/root1,Type=fileio
Target iqn.2009-05.cz.jahoda:storage.pole2.root2
Lun 0 Path=/dev/virt/root2,Type=fileio
Target iqn.2009-05.cz.jahoda:storage.pole2.root3
Lun 0 Path=/dev/virt/root3,Type=fileio
Target iqn.2009-05.cz.jahoda:storage.pole2.root4
Lun 0 Path=/dev/virt/root4,Type=fileio
Target iqn.2009-05.cz.jahoda:storage.pole2.root5
Lun 0 Path=/dev/virt/root5,Type=fileio
client:
apt-get install open-iscsi
iscsiadm -m discovery -t st -p 10.0.2.2
iscsiadm -m node --login -p 10.0.2.2 -T iqn.2009-05.cz.jahoda:storage.pole2.xen-mail_data
Po startu systemu Dom0 a automatickeho spusteni open-iscsi (klobouci: chkconfig open-iscsi on) lze pripojit automaticky nektere iscsi targety zmenou
#node.startup = manual
node.startup = automatic
Zvyseni redundace sitoveho pripojeni
modprobe bonding
ifconfig bond0 192.168.0.1 netmask 255.255.0.0 up
ifenslave bond0 eth0 eth1
Ziva migrace
Musime nastavit nasledujici polozky v ''/etc/xen/xend-config.sxp'' aby migrace fungovala
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '192.168.5.62')
# a nebo vsechny
(xend-relocation-address '')
(xend-relocation-hosts-allow '')
Pokud nepouzijete SSH nebo TLS, bude se prenaset binarni obraz pameti bez sifrovani. Coz je ve vasi siti obvykle uplne jedno, takze si nezeslozitujte zbytecne zivot slovem bezpecnost tam, kde je irelevantni. V jinych pripadech je rozumejsi nez ssh/tls uvest povolene hosty nebo jedno pravidlo do firewallu.
A nezapomenout na restart sluzby
# service xend restart
**Zlaty hreb skoleni**
xm migrate --live xen-mail 192.168.5.66
Video v anglictine popisujici migraci:
* [[http://www.youtube.com/watch?v=8qHn6t4ywuQ|{{:linux:skoleni:migrate.jpeg}}]]
====== FUN ======
watch se da simulovat takto:
while :; do
xm list
sleep 2
clear
done
===== Links =====
* https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Virtualization/chap-Virtualization-Xen_live_migration.html
* http://www.howtoforge.com/virtualization-with-xen-on-centos-6.2-x86_64-paravirtualization-and-hardware-virtualization
* [[http://starlab.cz/virt.img.gz | Komprimovany obraz disku]]
* {{:linux:skoleni:history.txt|.bash_history}}
* {{:linux:skoleni:etc-virt.tar.gz|}}
* dotazy a pripominky na **dalibor.straka@starlab.cz, +420 602 592 307**
**Jakekoliv kopirovani, linkovani a citovani z techto stranek, povazuji autori za projev nejvyssiho uznani.**