Beneficiile virtualizării în Data Center

Tehnologiile de virtualizare au depăşit de mult stadiul de experiment, fiind folosite pe scară largă în zilele noastre pentru o gamă largă de servicii. Dar cea mai spectaculoasă utilizare a virtualizării se dovedeşte a fi în data center pentru eficientizarea utilizării resurselor şi asigurarea flexibilităţii cerute de implementarea proiectelor noi.

În accepţiunea de bază, tehnologia de virtualizare înseamnă utilizarea resurselor unui server fizic (procesoare, memorie, discuri, placă de reţea) de către mai multe maşini virtuale, prin multiplexarea acestor resurse de către un sistem software numit hypervizor. Astfel fiecare maşină virtuală are impresia că rulează pe un sistem dedicat, putându-se astfel înghesui mai multe maşini virtuale pe un server fizic, în funcție de cât de puternică este aceasta şi de resursele consumate de maşinile virtuale.
Peste acest nivel de bază al virtualizării se adaugă o serie de niveluri suplimentare cu rol de management, asigurarea disponibilităţii, automatizare, securizare etc. Fiecare nivel suplimentar foloseşte funcţionalităţile hypervizorului pentru a uşura administrarea din data center, în condiţiile în care numărul maşinilor virtuale poate efectiv să explodeze dacă nu este ţinut sub control.
Dar virtualizarea înseamnă mult mai mult decât o eficientizare a utilizării resurselor, în prezent existând scenarii foarte avansate în care tehnologiile de virtualizare sunt folosite şi în alte scopuri. De aceea vom enumera în continuare câteva dintre aceste aplicaţii ale virtualizării şi care pot aduce beneficii imense prin utilizarea pe scară largă.

1. Virtualizarea extinsă şi la partea de reţea şi de stocare
Conceptul de virtualizare se poate aplica nu numai pentru procesorul şi memoria RAM a unui sistem fizic, ci şi legăturilor de reţea. Faptul că o placă de reţea a unui server fizic poate fi partajată de mai multe maşini virtuale reprezintă în sine o primă virtualizare a comunicaţiei, dar care este limitată doar la serverul fizic respectiv. Când avem de-a face cu mai multe servere, în special servere “blade” care se montează într-o cutie specială, comunicaţia dintre acestea poate fi şi ea virtualizată folosind ca suport conexiunile dintre servere aflate pe fundul cutiei. Astfel, conexiunile fizice dintre servere (care operează de obicei la viteze de 10 Gbps) pot fi descompuse în mai multe conexiuni logice, de viteze diferite (1 Gbps sau mai mult), configurate astfel încât să lege doar anumite servere.
Aceste conexiuni logice sunt realizate prin reconfigurarea switch-ului aflat pe fundul cutiei în care se introduc serverele blade, tehnologia fiind oarecum asemănătoare cu cea de VLAN-uri, iar avantajul major constă în faptul că traficul dintre servere se desfăşoară local (nu părăseşte cutia de blade-uri) şi astfel nu mai încarcă switch-urile externe cu trafic inutil.
Un concept asemănător se aplică şi pentru partea de stocare a datelor, prin agregarea mai multor spaţii de stocare disparate într-unul singur gestionat automat. În plus, aceste spaţii de stocare pot avea performanţe diferite (viteze de citire şi scriere diferite, unele fiind compuse din discuri lente, altele din discuri mai rapide şi/ sau SSD), sistemul gestionând automat alocarea informaţiilor mai des folosite pe discurile mai rapide.

2. Asigurarea unei disponibilităţi înalte
O disponibilitate mărită în cazul serverelor fizice se obţine prin dublarea componentelor acestora, astfel încât în cazul defectării unui server activitatea acestuia să poată fi preluată de un altul. Şi în cazul serverelor virtualizate se păstrează acelaşi principiu, însă cu două deosebiri:
- sistemul de virtualizare este responsabil cu detectarea căderii unui server şi mutarea maşinii virtuale pe un altul disponibil;
- nu se poate asigura o disponibilitate mărită pentru maşinile virtuale decât dacă serverele fizice pe care acestea sunt găzduite oferă la rândul lor o disponibilitate mărită.
În cazul concret al defectării unui server fizic pe care rulează un hypervizor, sistemul de virtualizare va lua în mod automat măsura de a muta toate maşinile virtuale care rulau pe acesta pe un alt hypervizor şi repornirea acestora pe noul server gazdă. Acest proces de mutare este însă mai simplu decât în cazul unor servere fizice, întrucât este vorba de a muta doar nişte fişiere care reprezintă maşina virtuală (şi care se află de cele mai multe ori pe un spaţiu de stocare partajat între servere, ceea ce face ca procesul de repornire a maşinilor virtuale pe noul server să fie foarte simplu şi rapid).

3. Fundamentul unei tehnologii de cloud
În cadrul unei implementări de cloud privat este esenţial să existe mecanismele flexibile şi automatizate pentru crearea de noi servicii şi acest lucru se poate realiza numai prin implementarea unui sistem de virtualizare robust, flexibil şi cuprinzător ca şi funcţionalităţi oferite.
Pentru a implementa funcţionalităţi din cloud ca provisioning (crearea de noi maşini), folosirea de template-uri de servere, configurarea acestora şi mutarea lor de pe un server fizic pe altul, sistemul de comandă a cloud-ului dă comenzi sistemului de virtualizare, care le execută şi întoarce rezultatul efectuării operaţiei cerute.
În concluzie, o parte importantă a funcţionalităţilor unui cloud privat este asigurată de către sistemul de virtualizare (hypervizor plus celelalte componente ale soluţiei de virtualizare).

4. O soluţie pentru Disaster Recovery
Chiar şi cel mai performant data center poate fi afectat de incidente care să-i împiedice funcţionarea corectă. Aceste incidente pot avea cauze variate, de la catastrofe naturale sau întreruperea furnizării de energie şi până la erori umane sau întreruperea comunicaţiei cu utilizatorii (efectul “Dorel”). Într-o astfel de situaţie utilizatorii nu se vor conecta la aplicaţiile din data center şi în general nu-şi vor mai putea desfăşura activitatea, de aceea este utilă prevederea unui data center secundar, stituat într-o altă locaţie şi care se sincronizează periodic cu data center-ul principal pentru a avea disponibilă o copie a datelor importante. În cazul unui incident care împiedică utilizarea data center-ului principal, întreaga activitate se poate comuta către centrul de dezastru, cu o minimă pierdere de date.
Crearea unui astfel de centru de recuperare din dezastre (DR) este mult uşurată prin folosirea virtualizării. Datorită faptului că o maşină virtuală este reprezentată de o serie de fişiere pe disc, acestea se pot replica foarte uşor din data center către DR (spre deosebire de o replicare a datelor la nivelul aplicaţiilor sau a bazei de date, ceea ce implică proceduri complexe). Majoritatea sistemelor care gestionează supervizoarele folosite în prezent, sunt sisteme complexe care pot asigura atât replicarea maşinilor virtuale, cât şi comutarea automată a funcţionării acestora dintr-un data center în altul. Dacă adăugăm şi posibilitatea optimizării resurselor prin “înghesuirea” mai multor maşini virtuale pe un server fizic şi admitem o încărcare mai mare a acestuia, rezultă că în cazul unui dezastru putem obţine rapid un alt data center complet funcţional, eventual cu o capacitate de procesare ceva mai mică).

5. Testarea aplicaţiilor software şi asigurarea compatibilităţii lor
Există nenumărate situaţii în care este utilă testarea unei aplicaţii înainte de implementarea în producţie (înainte de achiziţionarea acesteia pentru a vedea capabilităţile oferite, în faza de proiectare şi implementare a unui mic proiect-pilot etc.). Instalarea aplicaţiei pe o maşină fizică înseamnă şi instalarea în prealabil a sistemului de operare, a patch-urilor necesare, eventual alte aplicaţii ca prerechizite etc. În schimb folosirea unei maşini virtuale în combinaţie cu tehnologia de snapshot-uri permite ca după instalarea aplicaţiei şi rularea ei o perioadă de timp să se poată reveni rapid la starea iniţială a sistemului, care poate fi astfel reutilizat pentru a instala o altă aplicaţie. Economia de timp este substanţială, mai ales dacă operaţia trebuie repetată de mai multe ori cu mai multe aplicaţii.

6. Laborator personal de testare
Virtualizarea nu este apanajul data center-elor, deşi avantajele optimizării resurselor se văd cel mai bine acolo. Dar virtualizarea se poate folosi şi pe un PC sau chiar un lapto, pentru a testa diverse aplicaţii sau rula aplicaţii într-un mediu izolat de sistemul de operare de bază. Desigur că performanţele vor fi afectate de puterea de calcul a PC-ului sau laptopului, deşi majoritatea au procesoare dual-core, factorul limitativ este memoria RAM existentă şi accesul la disc, ultimul fiind vizibil mai ales la laptopuri, unde hard-disk-ul miniaturizat împiedică rularea a mai mult de 2 sau 3 maşini virtuale simultan şi asta admiţând că există suficientă memorie RAM (unde 2 sau 4 GB înseamnă destul de mult).
Produsele de virtualizare pentru desktop-uri, deşi mai sărace în capabilităţi faţă de hypervizoarele consacrate, au avantajul de a fi gratuite. Principalele oferte sunt VMware Player şi Windows XP Mode (acesta este un add-on pentru Windows 7, având avantajul că se integrează în meniul de start – o aplicaţie instalată în maşina virtuală poate fi pornită din bara de start a Windows 7 şi va fi afişată pe desktop, chiar dacă ea rulează efectiv într-o maşină virtuală Windows XP în background).
7. Mediu pentru uşurarea dezvoltării de aplicaţii
În procesul de dezvoltare a unei aplicaţii software este utilizat aproape întotdeauna un mediu de test. În funcţie de complexitatea pachetului software care se dezvoltă, programatorii au nevoie de unul sau mai multe servere, configurate într-un anumit mod, pe care să-şi testeze porţiuni din codul scris, urmând ca după testare serverul să fie readus la starea iniţială. Această operaţie repetitivă este mult uşurată dacă se desfăşoară într-un mediu virtualizat, unde se pot folosi snapshot-uri ale maşinilor virtuale înainte de instalarea aplicaţiei, iar după finalizarea testării urmând ca maşinile virtuale, prin revenirea la snapshot-ul anterior, să “uite” complet modificările făcute pe parcursul testării aplicaţiei. Mai mult, întrucât se pot face mai multe snapshot-uri succesive la diferite momente de timp, se poate reveni uşor nu numai la versiunea imediat anterioară a aplicaţiei, dar şi la orice versiune anterioară stabilă pentru care există un snapshot.

8. Proliferarea cutiilor negre (appliances)
Noţiunea de “appliance” descrie de obicei o cutie neagră care se introduce în reţea şi are o anumită funcţionalitate specială (de exemplu, un firewall hardware care protejează conexiunea la Internet; sau un echipament de stocare NAS – Network Attached Storage). În imensa majoritate a cazurilor un appliance este un calculator dedicat, în sensul că dispune de procesor, memorie şi disc propriu şi rulează aplicaţiile specifice scopului pentru care este dedicat acel appliance (de cele mai multe ori aplicaţiile dintr-un appliance rulează peste o versiune de Linux customizată puternic şi din care au fost scoase toate componentele neesenţiale pentru a economisi spaţiul şi a micşora cerinţele de putere de calcul).
În ultima vreme câştigă teren tot mai mult conceptul de appliance virtual, în care exact funcţionalitatea unui appliance este împachetată într-o maşină virtuală, care poate fi descărcată din Internet şi rulată direct în mediul de virtualizare. Avantajul principal constă în simplitatea şi rapiditatea cu care se poate implementa o anumită funcţionalitate: download appliance ca maşina virtuală, instalare în sistemul de virtualizare şi apoi execuţia acesteia. Există foarte multe astfel de appliance-uri virtuale, unele dintre ele chiar gratuite, însă majoritatea celor care oferă funcţionalităţi importante trebuie licenţiate conform unor condiţii comerciale.
Un avantaj secundar al unui appliance virtual constă în posibilitatea de a testa funcţionalităţile acestuia înainte de a-l cumpăra (printr-un simplu download), lucru aproape imposibil de realizat în cazul unui appliance fizic (care constă într-o cutie cu hardware).

9. Controlul împrăştierii maşinilor virtuale
Un data center de companie concentrează într-un singur loc majoritatea serverelor şi resurselor de calcul. Pe măsură ce activitatea companiei creşte, creşte şi numărul de servere folosite în activităţile acesteia, existând pericolul de a nu mai putea avea o evidenţă exactă a numărului serverelor şi a aplicaţiilor care rulează pe fiecare dintre ele.
Dacă pentru serverele fizice acest scenariu apare la data centerele mai mari, cu sute de servere, în cazul maşinilor virtuale situaţia poate scăpa de sub control chiar având numai câteva servere fizice pe care pot însă rula sute de maşini virtuale. Situaţia este complicată şi de caracterul abstract al maşinilor virtuale – un server fizic poate fi “atins” cu mâna şi i se poate preciza clar locaţia, pe când o maşină virtuală poate fi identificată mai greu, ea putând fi localizată pe vreunul dintre multele servere fizice gazdă sau chiar pe disc dacă aceasta este oprită.
Acest fenomen prin care se creează multe maşini virtuale pentru care, în timp, nu se mai ştie rolul lor şi dacă mai sunt utilizate, este numit în engleză “server sprawl” şi are efecte nocive în privinţa utilizării resurselor de procesare şi de stocare a datelor.

Dr. Ionuţ Lopătan,
Hewlett-Packard România
ionut.lopatan@hp.com

Resurse utile:
VMware Player
http://www.vmware.com/products/player
Windows XP Mode
http://windows.microsoft.com/en-us/windows7/install-and-use-windows-xp-mode-in-windows-7
VMware appliances
http://www.vmware.com/appliances/

Lasa un comentariu

Vreau sa fiu anuntat de urmatoarele comentarii. De asemenea, va puteti abona fara sa comentati