UEC

Prehľad

Tento návod hovorí o inštalácii UEC z CD disku Ubuntu 10.04 LTS Server Edition, pričom predpokladá použitie základnej topológie siete s jednoduchou obsluhou v štýle "všetko v jednom" a s jedným alebo viacerými pripojenými uzlami.

V tomto návode sa naučíme, ako nainštalovať, nakonfigurovať, zaregistrovať a vykonávať základné operácie v nastaveniach UEC, čím získame jedného správcu mraku (cloud controller) s "rozhraním" a jeden alebo viacero uzlov na spúšťanie inštancií virtuálnych počítačov (VM). V začiatkoch nám pomôžu aj príklady využitia vlastného súkromného mraku.

Požiadavky

Ak chceme implementovať najmenšiu infraštruktúru mraku, potrebujeme najmenej dva špecializované systémy:

  • Rozhranie.
  • Jeden alebo viac uzlov.

Z nasledujúcej časti odporúčame miesto fixných požiadaviek použiť odporúčania vychádzajúce zo skúseností autorov tejto dokumentácie.

Požiadavky na rozhranie

Nasledujúca tabuľka platí pre systém, na ktorom bude bežať jeden alebo viac:

  • Správca mraku - Cloud Controller (CLC)
  • Správca klastra - Cluster Controller (CC)
  • Walrus (úložisko dát podobné službe S3)
  • Správca úložiska - Storage Controller (SC)

Požiadavky rozhrania UEC

Hardvér Minimum Odporúčané Poznámky
CPU1 GHz2 x 2 GHzPre rozhranie všetko v jednom je vhodné, ak budeme mať aspoň dvojjadrový procesor.
Pamäť
512 MB
2 GBPre rozhranie v jazyku Java bude lepšie ak bude mať veľa dostupnej pamäte.
Disk5400 ot./min IDE7200 ot./min SATAPomalšie disky fungujú, ale bude potrebný oveľa dlhší čas na štart inštancie.
Miesto na disku40 GB200 GB40GB je miesto len pre jeden obraz, vyrovnávaciu pamäť, atď. Eucalyptus nemá rád keď mu dôjde voľné miesto na disku.
Sieť100 Mbps1000 MbpsObrazy počítačov majú stovky MB a je potrebné, aby sa po sieti kopírovali na uzly

Požiadavky uzlov

Ďalšími systémami sú uzly, na ktorých bude spustený:

  • Správca uzla - Node Controller (NC)

Požiadavky uzlov UEC

Hardvér Minimum Odporúčané Poznámky
CPURozšírenia pre VTVT, 64-bit, Viac jadier64 bitové systémy umožňujú spúšťať inštancie pre architektúry i386 aj amd64. Eucalyptus umožňuje spustiť na jednom uzle iba jeden virtuálny počítač na jadro procesora.
Pamäť
1 GB
4 GBViac pamäte zamená viac hosťujúcich systémov a umožnuje imlementovať rozsiahlejšie systémy.
Disk5400 ot./min IDE7200 ot./min SATA alebo SCSI
Uzly systému Eucalyptus sú závislé od rýchlosti disku; čakanie na V/V operácie bude predstavovať úzke hrdlo pri výkone.
Miesto na disku40 GB100 GBObrazy sa  ukladajú do lokálnej vyrovnávacej pamäte. Eucalyptus nemá rád nedostatok miesta na disku.
Sieť100 Mbps1000 MbpsObrazy počítačov majú stovky MB a je potrebné, aby sa po sieti kopírovali na uzly

Inštalácia mraku, klastra, úložiska, a systému Wairus na server s rozhraním

  1. Stiahneme ISO súbor systému Ubuntu 10.04 LTS Server ISO a napálime ho na CD disk.
  2. Pri zavádzaní systému vyberieme “Install Ubuntu Enterprise Cloud”.
  3. Na otázku, či chceme nainštalovať “Cluster” alebo “Node” vyberieme “Cluster”.
  4. Počas inštalácie dostaneme ešte ďalšie dve otázky týkajúce sa mraku:
    • Názov mraku.
      napr.: mrak1.
    • Rozsah verejných IP adries v LAN, ktoré mrak automaticky vyhradí pre inštancie.
      napr. 192.168.1.200-192.168.1.249.

Inštalácia správcu uzla (uzlov)

Inštalácia správcu uzla je ešte jednoduchšia. Iba sa uistíme, či máme pripojenie do siete, v ktorej už beží správca mraku alebo klastra.

  1. Na zavedenie systému na uzloch použijeme rovnaký ISO súbor.
  2. Vyberieme “Install Ubuntu Enterprise Cloud”.
  3. Teraz by inštalátor mal automaticky rozpoznať prítomnosť klastra a predvoliť možnosť inštalácie uzla - “Node”.
  4. Potvrdíme schému rozdelenia disku.
  5. Zvyšok inštalácie by mal prebehnúť bez prerušenia. Dokončíme inštaláciu a reštartujeme uzol.

Registrácia uzla (uzlov)

Uzly sú fyzické systémy v rámci UEC,  na ktorých v skutočnosti bežia inštancie virtuálnych počítačov mraku.

Po tom, ako je na jeden alebo viacero uzlov nainštalovaný Ubuntu Server a beží na nich služba eucalyptus-nc, prihlásime sa do Správcu mraku (CLC) a spustíme:

sudo euca_conf --no-rsync --discover-nodes

Tento príkaz preskúma systémy bežiace v sieti so spustenou službou eucalyptus-nc a administrátor môže potvrdiť registráciu každého uzla podľa jeho IP adresy.

Ak systém od nás bude vyžadovať heslá, alebo cez scp zašle chyby, bude potrebné prejsť inštrukcie na synchronizáciu kľúčov podľa UEC/NodeInstallation.

Získanie poverení

Po nainštalovaní a zavedení <emphasis>Správcu mraku</emphasis> je potrebné, aby používatelia získali svoje poverenia. To sa dá urobiť buď cez webový prehliadač alebo cez príkazový riadok.

Cez webový prehliadač

  1. Vo webovom prehliadači (buď zo vzdialeného počítača alebo priamo na serveri Ubuntu) zadáme nasledujúcu URL adresu:
    https://<ip-adresa-správcu-mraku>:8443/
    [Caution] Musíte použiť zabezpečené pripojenie, preto sa uistite či ste v URL adrese použili "https" a nie "http". Po zadaní sa zobrazí varovanie o bezpečnosti certifikátu. Tu je potrebné pridať výnimku aby sa stránka zobrazila. Ak výnimku nepotvrdíte, nebude možné zobraziť konfiguračnú stránku systému Eucalyptus.
  2. Pri prvom prihlásení použijeme prihlasovacie meno 'admin' a heslo 'admin' (po prihlásení nas systém vyzve na zmenu hesla).
  3. Potom budeme postupovať podľa zobrazený inštrukcií na zmenu hesla správcu a jeho emailovej adresy.
  4. Po dokončení prvotného konfiguračného procesu, klikneme na kartu 'credentials' umiestnenú v ľavej hornej časti obrazovky.
  5. Klikneme na tlačidlo 'Download Credentials' čím získame naše poverenia.
  6. Súbor uložíme do priečinka <filename>~/.euca</filename>.
  7. Rozbalíme stiahnutý súbor do bezpečného miesta (<filename>~/.euca</filename>).
    unzip -d ~/.euca mycreds.zip

Cez príkazový riadok

  1. Ak máme k dispozícii len príkazový riadok <emphasis>Správcu mraku</emphasis>, použijeme takýto postup:
    mkdir -p ~/.euca
    chmod 700 ~/.euca
    cd ~/.euca
    sudo euca_conf --get-credentials mycreds.zip
    unzip mycreds.zip
    ln -s ~/.euca/eucarc ~/.eucarc
    cd -

Rozbalenie a používanie poverení

Teraz bude potrebné na našom serveri pomocou certifikátov X.509 nastaviť EC2 API a nástroje AMI.  

  1. Spustíme rozbalený súbor "eucarc", ktorým nastavíme prostredie systému Eucalyptus:
    . ~/.euca/eucarc
  2. Môžeme tiež tento príkaz pridať do súboru ~/.bashrc, aby sa prostredie Eucalyptus nastavilo automaticky po prihlásení. Eucalyptus zaobchádza s touto sadou poverení ako s povereniami 'administratora', ktoré umožnia držiteľovi globálnych prifilégii prechádzať mrak. Ako také by mali byť chráné rovnakým sposobom, ako sú chránené ostatné úrovne prístupu (napr. by nemali byť viditeľné pre bežných používateľov).
    echo "[ -r ~/.euca/eucarc ] && . ~/.euca/eucarc" >> ~/.bashrc
  3. Nainštalujeme potrebné používateľské nástroje mraku:
    sudo apt-get install euca2ools
  4. Keď chceme overiť, či všetko pracuje správne, vyžiadame si podrobnosti o dostupnosti lokálneho klastra:
    . ~/.euca/eucarc
    euca-describe-availability-zones verbose
    AVAILABILITYZONE myowncloud 192.168.1.1
    AVAILABILITYZONE |- vm types free / max cpu ram disk
    AVAILABILITYZONE |- m1.small 0004 / 0004 1 128 2
    AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5
    AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10
    AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20
    AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20
[Note]

Váš výstup z predchádzajúceho príkazu sa bude líšiť.

Spustenie obrazu

Existuje mnoho spôsobov, akými sa dajú vytvárať inštancie obrazu v UEC:  

  • Použitím príkazového riadka 
  • Použitím jedného z nástrojov na správu UEC, akým je napríklad Landscape. 
  • Použitím rozšírenia pre prehliadač Firefox s názvom ElasticFox.

V tomto návode popíšeme postup pomocou príkazového riadka:

  1. Pred spustením inštancie nášho obrazu, by sme mali najskôr vytvoriť dvojicu kľúčov (ssh), prostredníctvom ktorých sa do inštancie po jej zavedení prihlásime ako používateľ root. Kľúč sa uloží, preto stačí, ak to urobíme raz.
    Spustíme nasledujúci príkaz:
    if [ ! -e ~/.euca/mykey.priv ]; then
    mkdir -p -m 700 ~/.euca
    touch ~/.euca/mykey.priv
    chmod 0600 ~/.euca/mykey.priv
    euca-add-keypair mykey > ~/.euca/mykey.priv
    fi
    [Note]

    Váš kľúč môžete nazvať ako chcete (v tomto príklade sa kľúč volá <emphasis>'mykey'</emphasis>), nesmiete však zabudnúť, ako sa volá. Ak zabudnete, môžete spustiť príkaz <command>euca-describe-keypairs</command>, ktorým zobrazíte zoznam vytvorených kľúčov uložených v systéme.

  2. Musíme tiež v naších inštanciách povoliť prístup k portu 22:
    euca-describe-groups
    euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
  3. Ako ďalší krok môžeme vytvoriť inštancie našich registrovaných obrazov:
    euca-run-instances $EMI -k mykey -t m1.small
    [Note]

    Ak sa zobrazí chyba vzťahujúca sa k <emphasis>image_id</emphasis>, podrobnosti môžete nájsť zobrazením stránky Images alebo klknutím na <emphasis>"How to Run"</emphasis> na stránke <emphasis>Store</emphasis>, na ktorej nájdete ukážky príkazov.

  4. Pri prvom spustení inštancie, systém nastaví vyrovnávacie pamäte pre obraz, z ktorého bol vytvorený. Toto môže trvať nejaký čas, preto prvé spustenie inštancie obrazu virtuálneho počítača zvyčajne trvá dosť dlho.
    Keď chceme sledovať stav našej inštancie, spustíme:
    watch -n5 euca-describe-instance
    Vo výstupe príkazu by sme mali vidieť informácie o inštancii vrátane jej stavu. Keď prebieha ukladanie do vyrovnávacej pamäte počas prvého spustenia, stav inštancie je <emphasis>'pending'</emphasis>.
  5. Keď sa inštancia úplne naštartuje, je stav sa zmení na <emphasis>'running'</emphasis>. Vo výstupe si pozrieme IP adresu priradenú inštancii a potom sa k nej pripojíme:
    IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
    ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR
  6. Keď skončíme prácu v inštancii, opustíme naše SSH pripojenie a potom ukončíme inštanciu:
    INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
    euca-terminate-instances $INSTANCEID

Inštalácia obrazu z úložiska

Nasledujúci postup predstavuje najjednoduchší spôsob, ako nainštalovať obraz. Pokročilejší používatelia sa však môžu zaujímať o to, ako Pripojiť svoj vlastný obraz.

Najjednoduchší spôsob, ako pridať obraz do UEC, je nainštalovať ho z Úložiska obrazov prostredníctvom webového rozhrania UEC.

  1. Otvoríme webové rozhranie na nasledujúcej URL adrese (Uistite sa že ste zadali https):
    https://<ip-adresa-správcu-mraku>:8443/
  2. Zadáme prihlasovacie meno a heslo (ak budeme o to požiadaný, a nebudeme už prihlásený).
  3. Klikneme na kartu Store.
  4. Prelistujeme zoznam dostupných obrazov.
  5. Klikneme na install pri obraze, ktorý chceme nainštalovať.

Po stiahnutí a nainštalovaní môžeme kliknúť na odkaz <emphasis>"How to run?"</emphasis>, ktorý pod tlačidlom zobrazí príkaz na vytvorenie inštancie (spustenie) tohto obrazu.

Ďalšie informácie

Návod na používanie Správcu úložiska.

Ovládanie služieb eucalyptus:

  • sudo service eucalyptus [start|stop|restart] (na strane CLC/CC/SC/Walrus)
  • sudo service eucalyptus-nc [start|stop|restart] (na strane uzla)

Umiestnenie niektorých dôležitých súborov:

  • Súbory záznamov:
    /var/log/eucalyptus
  • Konfiguračné súbory:
    /etc/eucalyptus
  • Databáza:
    /var/lib/eucalyptus/db
  • Kľúče:
    /var/lib/eucalyptus
    /var/lib/eucalyptus/.ssh

Upozornenia:

  • Nesmieme zabudnúť súbor <filename>~/.euca/eucarc</filename> spustiť skôr, ako spustíme klientské nástroje.

Odkazy:

Slovník

 

Dokumentácia pre Ubuntu Enterprise Cloud používa terminológiu, ktorá nemusí byť zrozumiteľná pre všetkých čitateľov. Táto stránka sa snaží vysvetliť niektoré pojmy a skratky.

  • Mrak (Cloud) - Združená množina fyzických počítačov, ktoré poskytujú výpočtové zdroje prostredníctvom virtuálnych počítačov, ktoré sú dynamicky zaopatrované a dovybavované.

  • Správca mraku (Cloud Controller - CLC) - Súčasť systému Eucalyptus, ktorá poskytuje webové užívateľské rozhranie (https server na porte 8443) a implementuje Amazon EC2 API. V jednej inštalácii UEC môže byť len jeden Správca mraku. Táto služba je poskytovaná Ubuntu balíkom eucalyptus-cloud.

  • Klaster (Cluster) - Kolekcia uzlov priradených k Správcovi mraku. V jednej inštalácii UEC môže byť viac ako jeden klaster. Klastre sú niekedy fyzicky oddelenými množinami uzlov. (napr. poschodie1, poschode2, poschodie2).

  • Správca klastra (Cluster Controller - CC) - Súčasť systému Eucalyptus, ktorá spravuje kolekciu zdrojov, ktoré poskytujú uzly. Táto služba je poskytovaná Ubuntu balíkom eucalyptus-cc.

  • EBS (Elastic Block Storage) - Úložisko s elastickými blokmi.

  • EC2 (Elastic Compute Cloud) - Elastický výpočtový mrak. Verejná služba výpočtových mrakov (cloud computing) poskytovaná spoločnosťou Amazon, ktorá je platená podľa hodín alebo podľa gigabajtov.

  • EKI (Eucalyptus Kernel Image) - Obraz jadra systému Eucalyptus.

  • EMI (Eucalyptus Machine Image) - Obraz počítača systému Ecalyptus.

  • ERI (Eucalyptus Ramdisk Image) - Obraz ramdisku systému Eucalyptus.

  • Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) - Elastický nástroj výpočtovej architektúry na pripojenie vašich programov do užitočných systémov. Je to projekt s otvoreným zdrojom vyvinutý na Kalifornskej univerzite v Santa Barbare. Teraz je podporovaný spoločnosťou Eucalyptus Systems (partner spoločnosti Canonical).

  • Rozhranie - Fyzický počítač, ktorý hostí jednu (alebo viac) súčastí systému Eucalyptus (správcu mraku, úložiska, klastra a walrus).

  • Uzol - Uzol je fyzický počítač, na ktorom sa dá spustiť virtuálny počítač, bežiaci cez správcu uzla. V Ubuntu to vlastne znamená, že CPU má rozšírenia pre VT a môže spúšťať hypervízor KVM.

  • Správca uzla (Node Controller - NC) - Súčasť systému Eucalyptus, ktorá spúšťa hostiteľské virtuálne počítače, ktoré tvoria mrak. Táto služba je poskytovaná Ubuntu balíkom eucalyptus-nc.

  • S3 (Simple Storage Service) - Jednoduchá služba úložiska. Riešenie trvácneho úložiska určeného pre EC2 poskytovaného spoločnosťou Amazon, ktoré sa platí za gigabajt.

  • Správca úložiska (Storage Controller - SC) - Súčasť systému Eucalyptus, ktorá spravuje službu úložiska s dynamickými blokmi (EBS). Každý 'klaster' v inštalácii Eucalyptus môže mať svojho vlastného Správcu úložiska. Táto súčasť je poskytovaná balíkom 'eucalyptus-sc'.

  • UEC (Ubuntu Enterprise Cloud) - Podnikový mrak od Ubuntu. Riešenie výpočtového mraku (cloud computing) od vývojárov Ubuntu, ktoré je založené na systéme Eucalyptus.

  • VM - Virtuálny počítať (Virtual Machine).

  • VT - Virtualizačná technológia. Doplnková funkcia niektorých moderných procesorov, umožňujúca urýchľované hosťovanie virtuálnych počítačov.

  • Walrus - Súčasť systému Eucalyptus, ktorá implementuje aplikačné rozhranie S3 API od spoločnosti Amazon, ktoré sa využíva na uchovávanie obrazov virtuálnych počítačov a používateľského úložiska, ktoré využíva abstrakcie S3 bucket put/get.

watch -n5 euca-describe-instances