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
ALERT! 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:

ip addr show dev vnet0

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

ALERT! 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

  1. language: English
  2. location: other - Europe - Slovakia
  3. keyboard layout: no auto-detection, USA, USA
  4. hostname: ubox
  5. timezone: Europe/Bratislava
  6. partitioning: Guided - use entire disk
  7. full name of user: TEMPORARY USER (REMOVE)
  8. username: ubox
  9. password: ubox
  10. use weak password: yes
  11. encrypt home directory: no
  12. proxy server: [blank]
  13. automatic updates: no automatic updates
  14. software selection: Basic Ubuntu server + OpenSSH server
  15. install grub in master boot record: yes
  16. installation complete: continue

Po úspešnom nainštalovaní je virtuálny stroj vypnutý. Zapnúť ho možno príkazom:

virsh lucid_b2 start

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
ALERT! 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

ALERT! 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

  1. zmena mena (hostname) virtuálneho stroja na monicabox /etc/hostname a /etc/hosts
  2. nastaviť locales
    update-locale LANG=en_US.UTF-8 LC_LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
  3. 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
  4. pridanie CNL APT repozitára http://apt.cnl.sk
  5. aktualizácia systému
    apt-get update
    apt-get upgrade
  6. inštalácia ďalšieho softvéru
    apt-get install wget

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):

adduser eqo sudo

ALERT! 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

Topic revision: r14 - 22 Apr 2010 - 20:37:52 - eqo
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback