Ez az ismertető bemutatja az UEC telepítését az Ubuntu 10.10 kiszolgáló változatának CD-jéről, és felépít egy alapszintű hálózati topológiát, amelyben egyetlen rendszer szolgál „mindent egy helyen” vezérlőként, és legalább egy csomópont csatlakozik hozzá.
Ebből az ismertetőből megtanulhatja egy alapszintű UEC telepítését, konfigurálását, regisztrálását és számos művelet végrehajtását rajta, amely eredménye egy egy vezérlős „előtétből” és egy legalább egy csomópontból álló, virtuálisgép-példányokat futtató csomópontokból álló számítási felhő.
A minimális számítási felhő infrastruktúra telepítéséhez legalább két dedikált rendszerre van szükség:
-
Egy előtétre.
-
Legalább egy csomópontra.
Az alábbiak inkább javaslatok, mint kőbe vésett követelmények. A következő javaslatokat a dokumentáció írásakor szerzett tapasztalataink alapján tesszük.
Az alábbi táblázat alapján állítsa össze azt a rendszert, amely a következők egyikét fogja futtatni:
-
Felhővezérlő (CLC)
-
Fürtvezérlő (CC)
-
Walrus (az S3-szerű tárolószolgáltatás)
-
Tárolóvezérlő (SC)
19.1. táblázat - UEC előtét előfeltételei
Hardver |
Minimális |
Javasolt |
Megjegyzés |
---|---|---|---|
CPU |
1 GHz |
2 x 2 GHz |
A mindent egy helyen előtét esetén hasznos, ha az legalább egy kétmagos processzorral rendelkezik. |
Memória |
2 GB |
4 GB |
A Java-alapú webes felületnek jól fog jönni a rengeteg elérhető memória. |
Lemez |
5400 RPM IDE |
7200 RPM SATA |
A lassabb lemezek is megfelelők, de a példányok indítási ideje sokkal hosszabb lesz. |
Lemezhely |
40 GB |
200 GB |
40 GB csak egy lemezképhez, gyorsítótárhoz stb. elég. Az Eucalyptus nem tűri jól a lemezhely elfogyását. |
Hálózatkezelés |
100 Mbps |
1000 Mbps |
A gépek lemezképei több száz MB méretűek, és a hálózaton kell azokat átmásolni a csomópontokra. |
A többi rendszert csomópontnak nevezzük, amelyeken a következők futnak:
-
a csomópontvezérlő (NC)
19.2. táblázat - UEC csomópont előfeltételei
Hardver |
Minimális |
Javasolt |
Megjegyzés |
---|---|---|---|
CPU |
VT kiterjesztések |
VT, 64 bit, több mag |
A 64 bites gépek képesek i386 és amd64 példányok futtatására is. Az Eucalyptus alapértelmezésben CPU-magonként csak egy virtuális gépet futtat a csomópontokon. |
Memória |
1 GB |
4 GB |
A több memória több és nagyobb vendégeket jelent. |
Lemez |
5400 RPM IDE |
7200 RPM SATA vagy SCSI |
Az Eucalyptus csomópontok intenzíven használják a lemezt, az I/O várakozás lesz valószínűleg a teljesítményben a szűk keresztmetszet. |
Lemezhely |
40 GB |
100 GB |
A lemezképek gyorsítótárazva lesznek helyileg, az Eucalyptus nem tűri jól a lemezhely elfogyását. |
Hálózatkezelés |
100 Mbps |
1000 Mbps |
A gépek lemezképei több száz MB méretűek, és a hálózaton kell azokat átmásolni a csomópontokra. |
-
Töltse le az Ubuntu 10.10 kiszolgáló ISO-fájlját, és írja CD-re.
-
A rendszer indításakor válassza Az Ubuntu Enterprise Cloud telepítése lehetőséget. A telepítő észleli a további Eucalyptus összetevők jelenlétét.
-
Ezután kiválaszthatja a telepítendő összetevőket a kiválasztott topológiától függően.
-
Amikor a telepítő megkérdezi, hogy Fürtöt vagy Csomópontot szeretne telepíteni, válassza a Fürt lehetőséget.
-
A telepítés során két további, a fürttel kapcsolatos kérdést kell megválaszolnia:
-
Mi a fürt neve?
-
például: fürt1.
-
-
Nyilvános IP-címek tartománya a helyi hálózaton, amelyeket a számítási felhő a példányok számára lefoglalhat.
-
például: 192.168.1.200-192.168.1.249.
-
-
A csomópontvezérlők telepítése ennél is egyszerűbb. Csak arról kell meggyőződnie, hogy csatlakozik ahhoz a hálózathoz, amelyen a felhő/fürtvezérlő már fut.
-
Indítsa el a gépet ugyanarról az ISO-ról a csomópontokon.
-
A rendszer indításakor válassza Az Ubuntu Enterprise Cloud telepítése lehetőséget.
-
Válassza Az Ubuntu Enterprise Cloud telepítése lehetőséget.
-
Ennek észlelnie kell a fürtöt, és ki kell választania a Csomópont telepítést.
-
Erősítse meg a particionálási sémát.
-
A telepítés további részének megszakítás nélkül kell folytatódnia. Várja meg a telepítés befejeződését, és indítsa újra a csomópontot.
-
A csomópontok fizikai rendszerek az UEC-n belül, amelyek a számítási felhő virtuálisgép-példányait ténylegesen futtatják.
Minden összetevő regisztrációjának automatikusnak kell lennie, feltételezve:
-
A nyilvános SSH kulcsok megfelelően ki lettek cserélve.
-
A szolgáltatások megfelelően vannak beállítva.
-
A megfelelő uec-component-listener fut.
-
Ellenőrizze a regisztrációt.
Az a – e lépések csak akkor szükségesek, ha az UEC/PackageInstall módszert használja. Ellenkező esetben, ha ezt az útmutatót követi, ezek a lépések automatikusan végrehajtásra kerülnek, így az „a” és „e” lépések kihagyhatók.
-
-
Nyilvános kulcsok cseréje
A felhővezérlő eucalyptus felhasználójának SSH-hozzáféréssel kell rendelkeznie a Walrus vezérlőhöz, a fürtvezérlőhöz és a tárolóvezérlőhöz az eucalyptus felhasználónévvel.
Telepítse a felhővezérlő eucalyptus felhasználójának nyilvános SSH kulcsát:
-
A célvezérlőn ideiglenesen állítson be jelszót az eucalyptus felhasználónak:
sudo passwd eucalyptus
-
Ezután a felhővezérlőn adja ki a következőt:
sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@<CSOMÓPONT_IP_CÍME>
-
Most már eltávolíthatja az eucalyptus fiók jelszavát a célvezérlőn:
sudo passwd -d eucalyptus
-
-
Szolgáltatások konfigurálása
A felhővezérlőn:
-
A fürtvezérlő regisztrálásához:
-
Definiálja a CC_NAME környezeti változót az
/etc/eucalyptus/eucalyptus-cc.conf
fájlban -
Definiálja a CC_IP_ADDR környezeti változót az
/etc/eucalyptus/eucalyptus-ipaddr.conf
fájlban IP-címek szóközzel elválasztott listájaként.
-
-
A Walrus vezérlő regisztrálásához:
-
Definiálja a WALRUS_IP_ADDR környezeti változót az
/etc/eucalyptus/eucalyptus-ipaddr.conf
fájlban egyetlen IP-címként.
-
A fürtvezérlőn:
-
A tárolóvezérlő regisztrálásához:
-
Definiálja a CC_NAME környezeti változót az
/etc/eucalyptus/eucalyptus-cc.conf
fájlban -
Definiálja az SC_IP_ADDR környezeti változót az
/etc/eucalyptus/eucalyptus-ipaddr.conf
fájlban IP-címek szóközzel elválasztott listájaként.
-
-
-
Közzététel
Most indítsa el a közzétételi szolgáltatásokat.
-
Walrus vezérlő:
sudo start eucalyptus-walrus-publication
-
Fürtvezérlő:
sudo start eucalyptus-cc-publication
-
Tárolóvezérlő:
sudo start eucalyptus-sc-publication
-
Csomópontvezérlő:
sudo start eucalyptus-nc-publication
-
-
Indítsa el a figyelőt
A felhővezérlőn és a fürtvezérlőkön futtassa a következőt:
sudo start uec-component-listener
-
Ellenőrizze a regisztrációt
cat /var/log/eucalyptus/registration.log
2010-04-08 15:46:36-05:00 | 24243 → Calling node cluster1 node 10.1.1.75 2010-04-08 15:46:36-05:00 | 24243 → euca_conf --register-nodes returned 0 2010-04-08 15:48:47-05:00 | 25858 → Calling walrus Walrus 10.1.1.71 2010-04-08 15:48:51-05:00 | 25858 → euca_conf --register-walrus returned 0 2010-04-08 15:49:04-05:00 | 26237 → Calling cluster cluster1 10.1.1.71 2010-04-08 15:49:08-05:00 | 26237 → euca_conf --register-cluster returned 0 2010-04-08 15:49:17-05:00 | 26644 → Calling storage cluster1 storage 10.1.1.71 2010-04-08 15:49:18-05:00 | 26644 → euca_conf --register-sc returned 0
A gépén a kimenet el fog térni a fenti példától.
A felhővezérlő telepítése és elindítása után a felhő felhasználóinak szükségük lesz a hitelesítési adataik lekérésére. Ez történhet webböngészőben, vagy parancssorban.
-
A webböngészőben (távolról, vagy az Ubuntu kiszolgálón) nyissa meg a következő URL-címet:
https://<felhő-vezérlő-ip-címe>:8443/
Ehhez használjon biztonságos kapcsolatot, győződjön meg róla, hogy az URL-címben „https”-t és nem „http”-t ad meg. A biztonsági tanúsítvány megbízhatatlanságával kapcsolatban figyelmeztetést fog kapni. Fel kell vennie egy kivételt az oldal megjelenítéséhez, ellenkező esetben nem lesz képes az Eucalyptus konfigurációs oldalának megnézésére.
-
Használja az „admin” felhasználónevet és az „admin” jelszót az első bejelentkezéshez (a rendszer meg fogja kérni a jelszava megváltoztatására).
-
Kövesse a képernyőn megjelenő utasításokat a rendszergazdai jelszó és e-mail cím frissítéséhez.
-
Az első konfigurációs folyamat végén kattintson a képernyő bal felső részén található „credentials” lapra.
-
Kattintson a „Download Credentials” gombra a tanúsítványai lekéréséhez.
-
Mentse ezeket a
~/.euca
könyvtárba. -
Bontsa ki a letöltött zip fájlt egy biztonságos helyre (
~/.euca
).unzip -d ~/.euca mycreds.zip
-
Ennek alternatívájaként a felhővezérlő parancssorában használhatja a következőt is:
mkdir -p ~/.euca chmod 700 ~/.euca cd ~/.euca sudo euca_conf --get-credentials mycreds.zip unzip mycreds.zip ln -s ~/.euca/eucarc ~/.eucarc cd -
Ezután be kell állítania az EC2 API és AMI eszközöket a kiszolgálón az X.509 tanúsítványok segítségével.
-
Telepítse a szükséges felhőfelhasználói eszközöket:
sudo apt-get install euca2ools
-
A megfelelő működés ellenőrzéséhez kérje le a helyi fürt elérhetőségi adatait:
. ~/.euca/eucarc euca-describe-availability-zones verbose
AVAILABILITYZONE sajátfelhőm 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
A fenti parancs kimenete eltérhet.
Az alábbi módszer messze a legegyszerűbb megoldás lemezképek telepítésére. Ugyanakkor a gyakorlott felhasználók érdeklődésére számot tarthat a saját lemezképek csomagolása wiki oldal.
A lemezképek UEC-hez adásának legegyszerűbb módja annak telepítése az Image Store-ból az UEC webes felületén.
-
Nyissa meg a webes felületet a következő URL-címen (használjon https-t http helyett):
https://<felhő-vezérlő-ip-címe>:8443/
-
Adja meg bejelentkezési nevét és jelszavát (ha szükséges, lehet hogy korábbról még be van jelentkezve).
-
Kattintson a Store lapra.
-
Válogasson az elérhető lemezképek között.
-
A kívánt lemezkép esetén kattintson az install lehetőségre.
A lemezkép letöltése és telepítése után a lemezkép gombja alatt megjelenő „How to run?” hivatkozásra kattintva megjelenítheti a lemezkép példányosításához (elindításához) szükséges parancsot. A lemezkép megjelenik az Image lapon látható listában is.
Számos módon példányosíthat egy lemezképet az UEC-ben:
-
A parancssor használatával.
-
Az UEC-kompatibilis felügyeleti eszközök egyikével, mint például a Landscape.
-
Az ElasticFox Firefox kiterjesztés használatával.
Itt a parancssoros eljárást írjuk le:
-
Mielőtt a lemezkép példányait futtatná, létre kell hoznia egy kulcspárt (SSH-kulcsot), amelynek segítségével bejelentkezhet rendszergazdaként a futó példányra. Ez a kulcs elmentésre kerül, így ezt csak egyszer kell végrehajtania.
Adja ki a következő parancsot:
if [ ! -e ~/.euca/kulcs.priv ]; then mkdir -p -m 700 ~/.euca touch ~/.euca/kulcs.priv chmod 0600 ~/.euca/kulcs.priv euca-add-keypair kulcs > ~/.euca/kulcs.priv fi
A kulcsnak tetszőleges nevet adhat (ebben a példában kulcs), de ne felejtse el a nevet. Ha mégis elfelejti, bármikor futtathatja az euca-describe-keypairs parancsot a rendszeren tárolt létrehozott kulcsok listájának lekéréséhez.
-
Engedélyeznie kell a 22-es port elérését is a példányokon:
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
-
Ezután létrehozhatja a regisztrált lemezkép példányait:
euca-run-instances $EMI -k kulcs -t m1.small
Ha az image_id-ra vonatkozó hibaüzenetet kap, akkor az Images lap megnyitásával jelenítheti meg, vagy a Store lap „How to Run” pontjára kattintva elérheti a példa parancsot.
-
A példány első futtatásakor a rendszer gyorsítótárakat állít fel a lemezképhez, amelyből létre fog jönni. Ez az első alkalommal gyakran sokáig tart, mivel a virtuális gépek lemezképei elég nagyok.
A példány állapotának monitorozásához adja ki a következőt:
watch -n5 euca-describe-instances
A kimenetében információkat kell látnia a példányról, beleértve annak állapotát. Az első alkalommal végzett gyorsítótárazáskor a példány állapota pending lesz.
-
A példány teljes elindulásakor a fenti állapot megváltozik és running lesz. Keresse meg a példányhoz társított IP-címet a kimenetben, és kapcsolódjon hozzá:
IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}') ssh -i ~/.euca/kulcs.priv ubuntu@$IPADDR
-
Miután befejezte a munkát a példányon, lépjen ki az SSH-kapcsolatból, és állítsa le a példányt:
INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}') euca-terminate-instances $INSTANCEID
A cloud-init csomag biztosítja az Ubuntu UEC lemezképek „első indítás” funkcionalitását. Ez felelős az elinduló általános fájlrendszerlemezkép beállításáért az adott példány számára. Ez a következőket takarja:
-
A gépnév beállítása.
-
A megadott nyilvános SSH kulcsok elhelyezése a
~ubuntu/.ssh/authorized_keys
alá. -
Felhasználó által megadott parancsfájl futtatása, vagy a lemezkép más úton történő módosítása.
A gépnév beállítása és a rendszer konfigurálása, hogy az azt elindító személy bejelentkezhessen rá, nem túl érdekes. A cloud-init segítségével végrehajtható érdekes dolgokat az indítási időben megadott, felhasználói adatoknak nevezett adatok teszik lehetővé.
Első lépésként telepítse a cloud-init csomagot:
sudo apt-get install cloud-init
Ha a felhasználói adatok „#!” karakterekkel kezdődnek, akkor azok a példány első indításakor az indítási folyamat végén rootként kerülnek végrehajtásra. A parancsfájl kimenet a konzolra van irányítva.
Például hozzon létre egy ud.txt
fájlt a következő tartalommal:
#!/bin/sh echo ========== Szia világ: $(date) ========== echo "Ennyi másodperce működök: $(cut -d\ -f 1 < /proc/uptime)"
Most indítsa el a példányt a --user-data-file kapcsolóval:
euca-run-instances $EMI -k kulcs -t m1.small --user-data-file=ud.txt
Várja meg a rendszer elindulását, és a konzol elérhetővé válását. Az adatfájlban lévő parancsok eredményének megjelenítéséhez adja ki a következőt:
euca-get-console-output $EMI | grep --after-context=1 Szia
========== Szia világ: 2010. szept. 16., csütörtök, 01.28.02 CEST ==========
Ennyi másodperce működök: 28.26
A tényleges kimenet ettől eltérhet. |
A fentebb bemutatott egyszerű megközelítés hatalmas erőt ad. A felhasználói adatok tetszőleges nyelven írt parancsfájlt tartalmazhatnak, ha az értelmező már telepítve van a lemezképen (#!/bin/sh, #!/usr/bin/python, #!/usr/bin/perl, #!/usr/bin/awk …).
Sok esetben a felhasználó nem akar programot írni. Erre az esetre a cloud-init a személyre szabáshoz tartalmazza a cloud-config nevű, konfigurációalapú megközelítést. A cloud-config szintaxis kihasználásához a megadott felhasználói adatoknak a #cloud-config karakterlánccal kell kezdődniük.
Például hozzon létre egy clout-config.txt
fájlt a következő tartalommal:
#cloud-config apt_upgrade: true apt_sources: - source: "ppa:ubuntu-server-edgers/server-edgers-apache " packages: - build-essential - pastebinit runcmd: -echo ========== Szia világ: $(date) ========== -echo "Ennyi másodperce működök: $(cut -d\ -f 1 < /proc/uptime)"
Hozzon létre egy új példányt:
euca-run-instances $EMI -k kulcs -t m1.small --user-data-file=cloud-config.txt
A fenti rendszer elindulása után:
-
Fel lesz véve az Apache Edgers PPA.
-
Az elérhető összes frissítés telepítésre kerül
-
A „build-essential” és „pastebinit” parancsok telepítésre kerülnek
-
A fenti parancsfájléhoz hasonló üzenet kerül kírásra
A fenti példában az Apache Edgers PPA az Apache legújabb verzióját tartalmazza a fejlesztői forrástárolókból. A PPA csomagok nem támogatottak, és a helyzettől függően lehet ez kívánatos vagy sem. További részletekért lásd az Ubuntu Server Edgers weboldalát. |
A „runcmd” parancsok az indításkor ugyanakkor futnak le, mint a „#!” parancsfájl az előző példában. Jelenlétével lehetővé válik egy parancsnyelv teljes erejének használata a cloud-config elhagyása nélkül.
A cloud-config segítségével végrehajtható dolgokkal kapcsolatos további információkért lásd a forrás doc/examples könyvtárát.
Hogyan használható a tárolóvezérlő?
Eucalyptus szolgáltatások vezérlése:
-
sudo service eucalyptus [start|stop|restart] (a CLC/CC/SC/Walrus oldalon)
-
sudo service eucalyptus-nc [start|stop|restart] (a csomópont oldalon)
Néhány fontos fájl helye:
-
Naplófájlok:
-
/var/log/eucalyptus
-
-
Konfigurációs fájlok:
-
/etc/eucalyptus
-
-
Adatbázis:
-
/var/lib/eucalyptus/db
-
-
Kulcsok:
-
/var/lib/eucalyptus
-
/var/lib/eucalyptus/.ssh
-
A klienseszközök futtatása előtt ne feledje el felvenni a |
-
A példányok betöltésével kapcsolatos információkért nézze meg az Eucalyptus wikioldalát.
-
Eucalyptus projektoldal (fórumok, dokumentáció, letöltések).
-
Segítséget kérhet a Freenode #ubuntu-virt, #eucalyptus és #ubuntu-server szobáiban is.
Az Ubuntu Enterprise Cloud dokumentációja olyan terminológiát használ, amely egyes olvasók számára ismeretlen lehet. Ez az oldal az ilyen kifejezések és rövidítések gyűjteményét tartalmazza.
-
Cloud – Fizikai gépek egyesített halmaza, amely dinamikusan létrehozott és visszatöltött virtuális gépek segítségével biztosít számítási erőforrásokat.
-
Felhővezérlő (CLC) -A webes felhasználói felületet (https kiszolgáló a 8443-as porton) biztosító Eucalyptus összetevő, amely megvalósítja az Amazon EC2 API-t. Az UEC telepítésben csak egy felhővezérlőnek kell lennie. Ezt a szolgáltatást az Ubuntu eucalyptus-cloud csomagja biztosítja.
-
Fürt – A fürtvezérlőhöz társított csomópontok gyűjteménye. Az UEC telepítésben több fürt is lehet. A fürtök néha csomópontok fizikailag elválasztott halmazai (például első emelet, második emelet, stb.).
-
Fürtvezérlő (CC) – A csomópont-erőforrások gyűjteményeit kezelő Eucalyptus összetevő. Ezt a szolgáltatást az Ubuntu eucalyptus-cc csomagja biztosítja.
-
EBS – Rugalmas blokktároló (Elastic Block Storage).
-
EC2 – Rugalmas számítási felhő (Elastic Compute Cloud). Az Amazon idő- és gigabájtalapon elszámolt nyilvános számításifelhő-ajánlata.
-
EKI – Eucalyptus kernel-lemezkép (Eucalyptus Kernel Image).
-
EMI – Eucalyptus gép-lemezkép (Eucalyptus Machine Image).
-
ERI – Eucalyptus RAM-lemezkép (Eucalyptus Ramdisk Image).
-
Eucalyptus – Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems. Nyílt forrású projekt, amely eredetileg a University of California at Santa Barbara berkeiből indult, ma pedig az Eucalyptus Systems, egy Canonical Partner támogatja.
-
Előtét – A magas szintű Eucalyptus összetevők (felhő, walrus, tárolóvezérlő, fürtvezérlő) legalább egyikét kiszolgáló fizikai gép.
-
Csomópont – A csomópont egy csomópontvezérlőt futtató, virtuális gépek futtatására képes fizikai gép. Ubuntu alatt ez általában azt jelenti, hogy a CPU VT-kiterjesztésekkel rendelkezik és képes a KVM hipervizor futtatására.
-
Csomópontvezérlő (NC) – A felhőt alkotó virtuális gépeket kiszolgáló csomópontokon futó Eucalyptus összetevő. Ezt a szolgáltatást az Ubuntu eucalyptus-nc csomagja biztosítja.
-
S3 – Egyszerű tárolószolgáltatás (Simple Storage Service). Az Amazon gigabájtalapon elszámolt állandó tárolási megoldása az EC2-höz.
-
Tárolóvezérlő (SC) – A dinamikus blokkos tárolószolgáltatásokat (EBS) kezelő Eucalyptus-összetevő. Az Eucalyptus telepítésben minden fürt saját tárolóvezérlővel rendelkezhet. Ezt az összetevőt az eucalyptus-sc csomag biztosítja.
-
UEC – Ubuntu Enterprise Cloud. Az Ubuntu Eucalyptus alapú számításifelhő-megoldása.
-
VM – Virtuális gép.
-
VT – Virtualizációs technológia. Egyes modern processzorok szolgáltatása, amely lehetővé teszi a virtuális gépek gyorsabb kiszolgálását.
-
Walrus – A virtuálisgép-lemezképek és felhasználói adatok tárolására használt, Amazon S3 API-t megvalósító Eucalyptus összetevő, amely az S3 bucket put/get absztrakciókat használja.