Nu cu mult timp în urmă pe paginile rubricii syn / ack considerat
sistem deschis pentru
crearea de servicii de cloud Eucalyptus. care stă la baza programului Ubuntu
Enterprise Cloud. Astăzi vom vorbi despre principalul său concurent, unul dintre
dezvoltatorii cărora este agenția NASA, și printre patronii sunt enumerate
Intel, AMD, Dell sunt încă două duzini de companii eminente.
Suntem obișnuiți cu faptul că toate aplicațiile noastre, serviciile de rețea și bazele de date
lucrați pe mașini reale și tangibile care trebuie cumpărate,
livrați, alocați spațiu pentru instalare, configurare și monitorizare
capacitatea de lucru. Cu toate acestea, timpul se schimbă și se înlocuiește cu fierul costisitor
serverele vin în servere virtuale, care sunt mult mai ieftine, mai convenabile
serviciu și nu se tem complet de experimente și situații de urgență.
Câteva secunde după ce faceți clic pe butonul "cumpărați" noul nostru server nou
gata pentru muncă și nici nu suspectăm cum funcționează, ce parte
serverul ocupă și cât de mult dă căldură. Și, de asemenea, nu le pasă
înlocuirea în timp util a unităților hard disk și a altor componente ale sistemului. Toate astea
apare undeva în nor, este ascuns de ochii noștri.
Serverele virtuale au fost distribuite pe scară largă după descoperire
serviciul Amazon EC2, care a devenit standard pentru serviciile de cloud IaaS (acest
Atunci când o întreagă infrastructură pentru gestionarea virtuale
servere, mai degrabă decât o mașină sau o aplicație virtuală dedicată). EC2 permisă
organizațiile să-și abandoneze propriul server și jumătate din sistem
administratorii în favoarea unei flote de servicii convenabile, însoțite de servere de la distanță,
care pot fi utilizate pentru orice necesitate, crescând numărul de mașini proporțional
necesare. Serviciul creat de Amazon sa dovedit a fi nu numai convenabil în
de utilizare, dar, de asemenea, foarte tehnologice, astfel încât mulți care au încercat să creeze
nor pentru nevoile lor sau concurență cu Amazon, au eșuat. Pentru toți
simplitatea ideii însăși, serviciul IaaS la nivel de nor este foarte dificil de implementat,
deoarece necesită crearea unei infrastructuri inteligente, controlate de sine stătătoare
a fost capabil să distribuie uniform sarcina între mașini fizice, nu a fost frică
expansiune și a fost rezistent la defecțiuni ale echipamentelor. Acest lucru a fost posibil numai în cadrul
marile organizații comerciale care au solicitat produse considerabile
banii și cei care nu i-au putut plăti trebuiau să se mulțumească cu faptul că
există: un număr mare de componente disparate care trebuie colectate
împreună și pentru o lungă perioadă de timp pentru a testa fiabilitatea sistemului rezultat.
Tipuri de servicii cloud
SaaS - Software ca un serviciu (software în
calitatea serviciilor). Oferă utilizatorului posibilitatea de a utiliza software-ul,
lucrează în nor. Primul exemplu: gmail.
PaaS - platforma ca serviciu (platformă ca
serviciu). Permite consumatorului să desfășoare propriile aplicații la
pregătite pentru această platformă. Un exemplu este mediul
Java, care lucrează de la distanță.
IaaS - Infrastructura ca serviciu (Infrastructură în
calitatea serviciilor). Oferă consumatorului o întreagă infrastructură care permite
porniți mașinile virtuale, stabiliți comunicarea între ele și folosiți
spațiu pe disc.
Eucaliptul a devenit unul dintre primele proiecte Open Source care vizează crearea
o infrastructură complexă care vă permite să ridicați serviciul la nivel de cloud IaaS nu este
recurgerea la instrumente suplimentare. Infrastructura pe care o oferă
foarte convenabil, eficient, stabil și, important, complet
este compatibil cu instrumentele client Amazon EC2. Cu toate acestea, infrastructura
pe baza Eucalyptus nu a fost suficient de scalabil, și versiunea publică
Cadrul este foarte trunchiat în funcționalitate. Prin urmare, foarte curând pe piață
a existat un proiect menit să rezolve aceste probleme și, nu mai puțin, să devină
platformă deschisă standard.
OpenStack a fost format prin îmbinarea a două proiecte independente:
"Fișierele cloud și serverele Cloud", dezvoltate de RockSpace, și "Nebula Cloud
Platform ", creat de NASA.As rezultat, sa dovedit destul de interesant solyanka,
împărțit din nou în două produse aproape independente: OpenStack Nova și
OpenStack Swift.
Nova - mașină de numărare
Componenta principală a OpenStack este Nova (Compute), controller,
gestionarea funcționării mașinilor virtuale. De fapt, Nova este responsabil pentru tot:
procesează cereri pentru crearea de mașini virtuale, le conectează la cele externe
lumea, monitorizează eficiența și distribuția materialelor fizice
mașini și canale de comunicare, reacționează la eșecuri etc. Nova se bazează pe codul sistemului
Nucleul NASA. scris în
limbajul de programare Python și se bazează pe protocolul de mesagerie AMQP.
Sistemul este format din șapte componente separate:
Cifra arată clar modul în care sunt legate aceste componente. Serverul API,
controlerul de nor și managerul de autentificare alcătuiesc "centrul de control"
nor, care ar trebui să funcționeze pe o mașină dedicată. Administratorul folosește
nova-gestionează utilitatea pentru a gestiona caracteristicile întregii infrastructuri și
accesul la acestea de către utilizatori. Clienții care doresc să utilizeze serviciul cloud,
Conectați-vă la serverul API utilizând utilitățile clientului Amazon EC2 sau pe cele ale acestora
O versiune gratuită numită euca2ool din proiectul Eucalyptus.
O altă mașină dedicată este responsabilă pentru gestionarea stocării datelor (Obiect
Magazin). Nova include numai implementarea inițială a modelului S3
Un depozit de date care poate fi utilizat numai pentru depanare. În realitate
Aceleași proiecte în locul său ar trebui să fie instalate Swift, în curs de dezvoltare separat
de la Nova.
O altă mașină este un controler de volum care vă permite să vă conectați la virtual
un fel de stocare externă de date (unități flash flash). lui
Prezența în infrastructură nu este necesară.
Una dintre mașini efectuează funcțiile planificatorului, care trebuie să monitorizeze
controlorii și, în cazul unei noi cereri de creare
mașină virtuală, alegeți cel mai potrivit candidat în acest scop
(decizia privind adecvarea poate fi luată pe baza volumului de muncă al controlorilor
calculele, numărul de mașini virtuale care rulează pe ele și alți factori).
Controlerele de calcul sunt coloana vertebrală a infrastructurii cloud
OpenStack. de obicei numărul lor este mult mai mare decât numărul tuturor
alte mașini de rețea. Computerele de control sunt implicate în primirea cererilor pentru
Crearea unei noi mașini virtuale, lansarea acesteia, monitorizarea statului
mașini virtuale, reporniți și așa mai departe. Mai mulți controlori de calcule
în infrastructură, cu atât mai mulți clienți pot deservi serviciul.
Este de remarcat faptul că infrastructura cloud bazat pe OpenStack
se dovedește foarte flexibilă și ușor de gestionat. Componentele sistemului sunt complet izolate
unul de celălalt și să comunice numai prin trimiterea de mesaje asincrone sau
protocolul HTTP. Sistemul deja configurat și rulat va rezista cu ușurință oricăror
modificări ale designului său și nu durează mult timp pentru reconfigurare.
În plus, OpenStack nu este închis în sine și ori de câte ori este posibil,
utilizează produse terță parte. Pentru ao gestiona, puteți utiliza standard
clienții Amazon EC2, și pentru a rula mașini virtuale pentru a aplica cel mai mult
convenabil în acest caz particular, sisteme de virtualizare (pentru astăzi
sunt susținute de KVM, UML, XEN, HyperV și qemu).
Swift - depozitare nelimitată
Swift (Storage Object OpenStack) este complet
distribuite, tolerante la erori, stocare de date extrem de fiabile
imaginea și asemănarea lui Amazon S3.
Swift se bazează aproape în întregime pe dezvoltările Rackspace.
Sistemul este compus din patru componente principale:
Serverul proxy acceptă un API extern ReST-ful implementat în cadrul
protocolul HTTP. Prin urmare, solicitarea de accesare a obiectelor din interiorul depozitului arată
foarte clar și simplu:
Obiectele servere reprezintă cea mai importantă componentă a clusterului Swift. Ei sunt responsabili pentru
stocarea și recuperarea datelor. Orice obiecte de stocare se așază în cele din urmă
unitățile hard disk ale acestor servere, care scriu date către fișierele obișnuite,
le însoțesc cu metadatele scrise în atributele fișierelor extinse (xattr). Fiabilitate
Stocarea datelor se realizează prin duplicarea directă către mai multe servere,
astfel încât, dacă unul dintre ele nu reușește, sistemul va putea să recupereze datele din
un alt server și duplicarea acestora din nou. În mod implicit, sistemul creează trei
copii ale fiecărui obiect, astfel încât, ca o componentă de fier a clusterului, puteți
Utilizați chiar și cele mai ieftine mașini care nu sunt echipate cu controlere RAID.
Unul dintre principalele avantaje ale sistemului este scalabilitatea sa transparentă.
Puteți extinde spațiul de stocare pur și simplu conectând un nou nod la cluster și întregul
Restul lucrărilor de sincronizare cu depozit vor fi preluate de Swift. mai bine
Acest cluster este potrivit pentru stocarea datelor, cum ar fi imagini virtuale
mașini (de fapt, în acest scop a fost creat), bănci foto, electronice
scrisori, copii de rezervă și altele asemenea.
În ciuda tinereții lor, Nova și Swift au reușit deja să intre în funcții
depozite ale unor distribuții, astfel încât să instalați necesar
componente, puteți utiliza managerul de pachete standard:
$ sudo apt-get a instala rabbitmq-server \
Redis-server
$ sudo apt-get instala nova-api \
nova-objectstore nova-compute \
nova-scheduler nova-rețea \
euca2ools unzip
De fapt, după instalare, sistemul este complet gata de funcționare,
fa un simplu cont de superuser:
$ sudo nova-administra admin utilizator vasya
Și să creați un nou proiect, în cadrul căruia vom produce tot mai mult
experimente:
$ sudo nova-gestionează proiectul de a crea experimente vasya
Apoi, solicităm sistemului să împacheteze datele necesare pentru a accesa proiectul în
zip-arhiva:
$ sudo nova-gestiona experimente zipfile de proiect vasya
Acum, aceste date pot fi folosite pentru a controla funcționarea cloud cu
folosind instrumente EC2 compatibile. Pentru aceasta, despachetați arhiva și executați
comenzile prescrise în fișierul novarc:
$ unzip nova.zip
$. novarc
Pentru a testa serviciul, avem nevoie de o imagine EC2 a sistemului virtual
mașină.
Imaginea minimă Linux poate fi accesată pe site-ul Rackspace:
$ tar -xzf imagini.tgz
Imaginea trebuie înregistrată în nor, așa că procedați în felul următor:
1. Creați manifestul pentru kernel și ramdisk:
$ euca-bundle-imagine -i imagini / aki-lucid / imagine -p kernel -kernel true
$ euca-bundle-imagine -i imagini / ari-lucid / imagine -p ramdisk --ramdisk true
2. Umpleți miezul și ramdiscul în nor:
$ euca-încărcare-bundle -m /tmp/kernel.manifest.xml -b mybucket
$ euca-upload-bundle -m /tmp/ramdisk.manifesta.xml -b mybucket
3. Înregistram miezul și ramdiskul:
$ euca-registru mybucket / kernel.manifest.xml
$ euca-registru mybucket / ramdisk.manifest.xml
Aceste comenzi ar trebui să afișeze identificatorii kernel-ului și ramdiscul interior
nori. Ei trebuie să fie amintiți sau copiați.
4. Pregătiți imaginea aparatului utilizând pașii înregistrați în pasul anterior
core și ramdisk:
$ euca-bundle-imagine -i imagini / ami-tiny / imagine -p mașină - kernel
ID-core - ID-disc RAMdisk
5. Încărcați imaginea aparatului în nor:
$ euca-încărcare-bundle -m /tmp/machine.manifest.xml -b mybucket
6. Înregistram imaginea aparatului și ne amintim identificatorul său:
Acum puteți rula mașina virtuală pentru execuție, dar mai întâi trebuie
obțineți cheia SSH pentru accesul la mașinile noastre:
$ euca-add-keypair mykey> mykey.priv
$ chmod 600 mykey.priv
Începem mașina virtuală:
$ euca-run -stances-ID-mașini - kernel ID kernels - ramdisk ID-ramdisk -k
MyKey
Ne uităm la starea mașinii:
Verificăm dacă a fost inițiat corect:
Conectați-vă la echipament prin SSH:
$ euca-authorize -P tcp -p 22 implicit
$ ssh -i mykey.priv [email protected]
concluzie
Descriu în articol - doar vârful aisbergului numit OpenStack.
Pentru a descrie complet sistemul, ar fi nevoie de o carte întreagă și de o imensă
cantitatea de timp liber. Dar sper că această mică parte
informațiile vă vor ajuta să începeți să stăpâniți acest lucru, fără îndoială, grandios
produs, care în curând poate deveni standard în mediul înconjurător
deschideți servicii cloud.
Distribuiți acest articol cu prietenii dvs.: