Virtuálne servery na svinka.fei.tuke.sk
Server svinka.fei.tuke.sk má vhodné hardvérové a softvérové prostriedky pre nasadenie Kernel based virtual machine (KVM).
- CPU: Intel core 2 duo
- OS: GNU/Linux Ubuntu 8.04 hardy
Inštalácia KVM
Nasledujúci inštalačný návod vychádza z
Ubuntu Server Guide > Virtualization
Overenie hardvérovej podpory virtualizácie:
egrep '(vmx|svm)' --color=always /proc/cpuinfo
Príkaz by mal vypísať dostupné rozšírenia CPU. Ak nič nevypíše, tak rozšírenia požadované pre funkčnosť KVM nie sú dostupné.
Potrebné súčasti systému sa nainštalujú z balíkov nasledujúcim príkazom:
sudo apt-get install kvm libvirt-bin
Používateľa, ktorý má byť schopný spravovať virtuálne servery, je nutné pridať do skupiny
libvirtd:
sudo adduser $USER libvirtd

Zmena sa prejaví až po odhlásení a znovuprihlásení daného používateľa.
Nastavenie siete
NAT režim
Tento režim je predvolený, teda nie je potrebné ho zvlášť nastavovať. Je však nutné nastaviť v hostiteľskom systéme DHCP, aby virtuálne stroje získali nastavenia siete automaticky.
IP adresný rozsah je možné zistiť na virtuálnom sieťovom rozhraní hostiteľského stroja
vnet0. Napr. pomocou príkazu:
Nastavenia pre DHCP daemona
dnsmasq (/etc/dnsmasq.conf):
# vnet0 KVM subnet
interface=vnet0
dhcp-range=192.168.122.100,192.168.122.200,12h
bridge režim
Umožňuje pripojiť virtuálny stroj priamo do siete reálneho stroja. Nastavenie vysvetľuje
Ubuntu Server Guide > Virtualization
Inštalácia nástrojov na správu virtuálnych strojov
Nástroje pre inicializáciu (
virt-install) a klonovanie (
virt-clone) virtuálneho stroja sú súčasťou balíka
python-virtinst.
sudo apt-get install python-virtinst
Virtual machine manager (
virt-manager) je nástroj pre správu virtuálnych strojov s grafickým rozhraním. Inštaluje sa na pracovnej stanici správcu príkazom:
sudo apt-get install virt-manager
Virtual machine viewer (
virt-viewer) je nástroj pre (vzdialený) prístup ku konzole virtuálneho stroja.
sudo apt-get install virt-viewer
Vytvorenie virtuálneho stroja
Vytvorenie virtuálneho stroja spočíva v jeho inicializácii a v nainštalovaní operačného systému. Najprv je potrebné vytvoriť virtuálny disk (dynamický formát QCOW2 s maximálnou kapacitou 4GB):
qemu-img create -f qcow2 /data/virt/lucid_b2.qcow2 4G
Inicializáciu virtuálneho stroja a spustenie inštalácie jeho operačného systému vykoná nasledujúci príkaz:
virt-install --connect qemu:///system --name lucid_b2 --ram 256 --file /data/virt/lucid_b2.qcow2 --vnc --noautoconsole --hvm --accelerate --os-type=linux --os-variant=generic26 --cdrom=/tmp/ubuntu-10.04-beta2-server-i386.iso --network=network:default

Voľba
--accelerate je nekompatibilná s
frame buffer-om a preto ju treba odstrániť alebo vypnúť frame buffer pridaním voľby
fb=0 pre jadro Linuxu, po stlačení F6, Esc v úvodnom menu spúšťača CD.
Inštalácia Ubuntu JeOS 10.04 lucid
- language: English
- location: other - Europe - Slovakia
- keyboard layout: no auto-detection, USA, USA
- hostname: ubox
- timezone: Europe/Bratislava
- partitioning: Guided - use entire disk
- full name of user: TEMPORARY USER (REMOVE)
- username: ubox
- password: ubox
- use weak password: yes
- encrypt home directory: no
- proxy server: [blank]
- automatic updates: no automatic updates
- software selection: Basic Ubuntu server + OpenSSH server
- install grub in master boot record: yes
- installation complete: continue
Po úspešnom nainštalovaní je virtuálny stroj vypnutý. Zapnúť ho možno príkazom:
Odvodzovanie virtuálnych strojov
Aby v odvodenom virtuálnom stroji okamžite fungovala sieť, je nutné v základnom virtuálnom stroji upraviť súbor
/etc/udev/rules.d/70-persistent-net.rules. A to zmazať
ATTR{address}="...".
Virtuálny stroj môže byť vytvorený odvodením od už existujúceho virtuálneho stroja:
virt-clone --connect=qemu:///system --original=lucid_b2 --name=lucid_b2.monica --file=/data/virt/lucid_b2.monica.qcow2

Virtuálny stroj, ktorý má byť klonovaný musí byť vypnutý.
Odvodenému virtuálnemu stroju boli vygenerované atribúty, u ktorých sa vyžaduje jedinečnosť. Virtuálny disk je kópiou pôvodného. Pre úsporu diskového priestoru hostiteľa je vhodné odvodenému virtuálnemu stroju vytvoriť disk ako odvodený. Virtuálny disk, ktorý je základom pre odvodený, môže byť použitý len na čítanie. Riešením, ktoré zachováva funkčnosť pôvodného virtuálneho stroja, je vytvorenie odvodeného disku s kópie základného disku, určenej len na čítanie:
cp /data/virt/lucid_b2.qcow2 /data/virt/ro_lucid_b2.qcow2
chmod a-w /data/virt/ro_lucid_b2.qcow2
qemu-img create -b /data/virt/ro_lucid_b2.qcow2 -f qcow2 /data/virt/lucid_b2.monica.qcow2

Odvodený virtuálny stroj nie je po vytvorení spúšťaný automaticky. Zapnúť ho možno príkazom:
virsh start lucid_b2.monica
Poinštalačné úpravy pre potreby výskumnej skupiny MONICA
- zmena mena (hostname) virtuálneho stroja na monicabox
/etc/hostname a /etc/hosts
- nastaviť locales
update-locale LANG=en_US.UTF-8 LC_LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
- nastaviť farebnú schému pre editor vim v súbore
sed '/^if has("syntax")/,/endif/ s/syntax on/&\n colo desert/' -i /etc/vim/vimrc
- pridanie CNL APT repozitára http://apt.cnl.sk
- aktualizácia systému
apt-get update
apt-get upgrade
- inštalácia ďalšieho softvéru
Overovanie používateľov voči LDAP-u
V
/tmp spustit nasledujúcu sériu príkazov:
cd /tmp
wget /dev/null http://ns.cnl.tuke.sk/cnl_ldap_setup
chmod +x cnl_ldap_setup
./cnl_ldap_setup
V súbore
/etc/ldap.conf zmeniť hodnotu atribútu
accessTo= z
Public-Resources na
qos-dev.cnl.tuke.sk . Možno to vykonať aj príkazom:
sed 's/accessTo=Public-Resources/accessTo=qos-dev.cnl.tuke.sk/g' -i /etc/ldap.conf
Vytvorené podľa návodu
UbuntuLdapAuth
V aspoň jednému používateľovi musia byť priradené administrátorské práva (zaradením do skupiny
sudo):

Používateľa
ubox treba po finálnom nasadení systému odstrániť:
deluser --remove-all-files ubox
Prihlásenie je možné aj cez SSH, ale len z hostiteľského stroja.
Spravovanie virtuálneho stroja z príkazového riadku
- zoznam virtuálnych strojov pod správou
virsh -c qemu:///system list
- spustie virtuálneho stroja
virsh -c qemu:///system start ub910_base
- vypnutie virtuálneho stroja
virsh -c qemu:///system shutdown ub910_base
- reštartovanie virtuálneho stroja
virsh -c qemu:///system reboot ub910_base
- uloženie stavu virtuálneho stroja
virsh -c qemu:///system save ub910_base ub910_base-20100409.state
- načítanie stavu virtuálneho stroja
virsh -c qemu:///system restore ub910_base-20100409.state
Spravovanie virtuálneho stroja z príkazového riadku
Pripojenie na lokálny supervisor virtuálnych strojov:
virt-manager -c qemu:///system
Pripojenie na vzdialený supervisor virtuálnych strojov:
virt-manager -c qemu+ssh://virtnode1.mydomain.com/system
Pripojenie virtuálneho disku do reálneho stroja
Pripojiteľný je jedine obraz disku vo formáte RAW.
kpartx -av /data/virt/ub910_base.img
ls -alF /dev/mapper
mkdir /mnt/virthdd/system
mount /dev/mapper/loop0p1 /mnt/virthdd/system
unmount /mnt/virthdd/system
kpartx -dv /data/virt/ub910_base.img
Vytvorené na základe
http://equivocation.org/node/107
-- Main.eqo - 07 Apr 2010