
X-tra optiuni
Afla cum iti poti personaliza pachetul de gazduire web adaugand la acesta spatiu de stocare prin optiunea X-tra Space, un numar mai mare de conturi de e-mail prin X-tra Mail precum si multe alte optiuni.
» vezi toate X-tra optiunile22 Septembrie 2006 - Alexandru Gabriel Vedes
Acest articol este o introspectie catusi de putin competenta in domeniul calculului paralel si nu un how-to despre cum se instaleaza un software.
Oricine poate astazi sa isi achizitioneze un computer si sa-l transforme intr-un server.
Explozia de PC-uri ieftine x86 transformate in servere a coplesit Internetul si a facut ca trend-ul in cadrul companiilor sa fie acela de a achizitiona multe computere cu putere mica de calcul, folosite ca servere sau statii de lucru, in detrimentul mainframe-urilor masive si scumpe. Cei dintai care platesc acest tribut sunt administratorii de sistem. Efortul este mare atunci cand ai arhitecturi diferite, sisteme de operare diferite si in special o distributie spatiala defectuasa.
Este mai usor sa conduci o turma de mamuti, decat sa tin in frau o turma de pisici. Din acest motiv creste efortul uman unitar si implicit numarul angajatilor care fac acest lucru. S-ar fi parut ca era masinilor gigant cu sute de procesoare tinea doar de domeniul laboratoarelor si de satisfactia companiilor de profil de a se regasi in benchmark-uri. Realitatea ne demonstreaza ca tehnologia silicilui si-a atins limitele si inevitabil nu se mai merge spre atomicitate, ci spre scalabilitate si virtualizare.
Companii precum Advanced Micro Devices (AMD) sau Intel Corporation au inceput sa produca procesoare capabile sa sustina aceasta tehnologie. Astfel terminalele virtuale (tty-urile) nu mai sunt doar un moft, ci o necesitate. Incercari de virtualizare s-au facut destul de devreme, incepand cu IBM VM OS si partitionarea logica (LPAR). Aceasta permitea existenta mai multor sisteme de operare pe aceeasi masina fizica (o masina IBM destul de scumpa), fiecare in mediul lui propriu virtualizat (Linux, UNIX, Windows). LPAR permite existenta unei varietati de sisteme de operare cu diferite sisteme de fisiere. Virtualizarea este suportata atat la nivel hardware cat si la nivel software in cadrul sistemului de operare.
Da, poate nu tuturor, dar cel putin corporatiilor, da. In primul rand permite in domeniul gazduirii web separarea totala a domeniilor gazduite. Fiecarui clienti se aloca o masina virtuala, ca si cum i s-ar oferi un calculator propriu cu care poate sa faca ce doreste.
In al doilea rand fiind pe de-a intregul un sistem de calcul la cheie, respectivul client este si administratorul, root-ul, masinii respective, lucru de neimaginat intr-o organizare clasica. Ne mai vorbind de faptul ca putem avea useri, grupuri si orice altceva implica un server in sine. De asemenea, lucru foarte important, poate sa isi instaleze aproape orice sistem de operare doreste in cadrul masinii virtuale, singleboot sau multiboot.
In domeniul dezvoltarii de software, iarasi un avantaj, programatorul, poate sa isi testeze in paralel si cross-platform software-ul, fara ca sa puna in pericol masina gazda. Se poate separa in masini virtuale fiecare server in parte: email, www, proxy, database, astfel incat se elimina pericolul unui atac informatic de tip D.O.S. de proportii, toate serverele fiind gazduite in acelasi loc, pe un computer dedicat. Intr-un cuvant, poti sa scoti masina virtuala "din priza" fara ca intregul sa pateasca ceva.
Xen (http://www.xensource.com) se doreste a fi cel mai performant server de masini virtuale. Xen este realizat de catre Computer Laboratory Perfomance din cadrul Universitatii Cambridge. Dezvoltatorii lui afirma ca rularea masinii virtuale se face aproape la aceasi performanta cu cea a masinii native, lucru destul de greu de crezut totusi. Acest lucru se obtine in parte prin modificarea kernelelor, atat a sistemului de operare gazda, in speta un Linux si mai nou Solaris si BSD (UNIX-uri), cat si a sistemelor de operare gazduite, lucru destul de dificil (unele sistem de operare sunt comerciale, proprietare) ceea ce conduce la o slaba implementare. Hardware-ul nu este virtualizat, ci partajat, ceea ce scuteste de efort procesoarele masinii gazda. Pentru Windows XP a existat o modificare care nu a putut fi publicata datorita restrictiilor de licenta si de asemenea din cauza opozitiei din partea firmei Microsoft. Astfel, azi putem vorbi doar de cateva distributii de Linux si Unix care ruleaza ca sisteme de operare gazduite (Linux 2.4 si 2.6, NetBSD 2.0 si NetBSD 3.0, Plan 9, FreeBSD, Solaris 10).
La coltul opus, VMware (http://www.vmware.com) creaza un mediu hardware virtual pentru a permite rularea nemodificata a aproape oricarui sistem de operare ce ruleaza pe masini cu procesoare x86. Acest aspect aduce cu sine cantitate mare de date procesate pe masina gazda, si per ansamblu performante medii pentru masina virtuala. Este o metoda curata insa de a rula un sistem de operare si in acelasi timp nu cade in pacatul simularii totale, cum este cazul proiectului BOCHS (http://bochs.sourceforge.net) care emuleaza in totalitate un computer Intel Pentium.
Xen a anuntat anul acesta ca va scoate o versiune de server de masini virtuale capabil sa ruleze sisteme de operare nemodificate. In alta ordine de idei vom putea rula Windows pe Linux intr-un domeniu Xen sau orice alt Linux sau UNIX. Acest lucru va fi posibil gratie tehnologiilor de virtualizare de la Intel si AMD: Intel Vanderpool (Xeon si Itanium) si AMD Pacifica (Athlon64 si Opteron). Totusi termenul limita este pe cale sa expire, iar viitorul se anunta destul de intunecat. Cele doua tehnologii nu sunt deloc compatibile si vor fi lansate abia anul viitor. Pacifica se pare ca va fi mult mai avansata decat ceea ce Intel poate sa ofere. Intr-un scenariu fericit lumea, x86 va incerca sa recreeze zilele bune ale mainframe-urilor din anii '80.
Se pare ca deocamdata singurele solutii comerciale de virtualizare se bazeaza pe Linux. Ca si sistem de operare este de departe cel mai avansat la ora actuala, suportand procesoare x86 pe 32 si 64 de biti, fie simplu, fie in matrice (multi-procesoare), cat si arhitecturi de tip cluster. De asemenea permite oricand o schimbare de tehnologie, dat fiind ca trendul este impus de comunitate nu de catre un grup restrans, este opensource si este deci cel mai potrivit actor pentru toate scenarile posibile de virtualizare cu care viitorul ne poate surprinde. Alchimia dintre Xen si Linux (un fel de Bonnie and Clide:)) ar putea detrona suprematia VMWare.
Totusi trebuie sa recunoastem ca cel mai folosit (comercial) produs este VMWare. Nu este un proiect, este o campanie, la el lucreaza oameni care fac business din aceasta activitate, nu oameni pasionati, ceea ce il face greu de invins. Xen deocamdata este doar un copil. Poate sa faca fata doar in domeniul gazduirii de pagini web, folosind la implementari Linux pentru servere de web, email si baze de date, in nici un caz medii grafice sau alte activitati complexe. Putem spune ca se descurca multumitor la acest capitol. Partea si mai proasta vina atunci cand ne lovim de limitarile fizice, hardware. Deocamdata Xen tolereaza doar sisteme cu procesoare x86 pe 32 de biti, cu unu sau mai multe procesoare, si pana la 4 GB de memorie. Acest aspect il scoate din competitie pe termen mediu si lung. Este clar ca intr-un astfel de mediu restrictionat incap decat maxim 12 masini virtuale destul de chinuite (256MB, cu o cota de procesor de 5%, la un calcul simplu). Nu este clar o solutie acceptabila pentru comercializarea serviciilor de gazduire web profesionala pentru ca recuperarea efectiva a costului masinii se face foarte greu (un server cu 4 procesoare IA32 si 4 GB de RAM costa undeva la 6,000 $ minim; un serviciu de gazduire web in astfel de situatii nu poate fi oferit cu mai mult de 50 $, 50 x 12 = 600 $ luna; gazduirea intr-un datacenter costa cam 300 $ pe luna; ca si concluzie dispare tehnologia si tot nu se pot recupera costurile masinii, ne mai vorbind de profit). Astfel Xen dupa parerea mea ramane folositor in cazul in care costurile de intretinere sunt foarte mici pentru a obtine profit de pe urma lui. De asemenea este util doar in medii de testare/dezvoltare Linux/UNIX. Spre deosebire de Xen, VMWare ofera varful de tehnologie in domeniu. Suporta pana la 64 GB de RAM, pana la 16 procesoare si 4 masini virtuale per procesor. Ceea ce inseamna 64 de masini virtuale cu un minim de 512MB RAM pe masina gazda, lucru deloc de trecut cu vederea. Mai mult suporta SMP pe masina virtuala. Practic pot sa am masini virtuale multiprocesor pe o masina gazda multiprocesor. Si ca totul sa fie la maxim, suporta interconectare cu alte servere de tip VMWare Infrastructure, realizandu-se astfel clustere de dimensiuni uriase. Poate sa ruleze orice sistem de operare compatibil x86.
Da, daca esti in stare:) Sincer am fost dezamagit de Xen si mai mult din perspectiva instalarii. Documentatia nu este foarte bine organizata si ocoleste aspecte vitale. Pasi de instalare sunt diferiti pentru fiecare sistem de operare in parte. Eu unul folosesc Mandriva. Din fericire pentru mine, pentru Mandriva 2006.0, Xen 2 exista precompilat (.rpm). Sistemele de operare testate, functionale, sunt Fedora 4 si Red Hat EL5, Debian si Ubuntu, SuSE 9.3. Neintrand in amanunte plictisitoare pot sa zic ca mi-a luat vreo ora pentru a instala un sistem de operare guest. Si nu vreau sa ma laud, dar necesita destul de multe cunostinte de Linux. In procesul de instalare, totul este manual realizat. Un lucru poate greu de inteles pentru un linuxist mediu este modul de acces la sistemul de operare guest in sine. Totul se face indirect, prin intermediul terminalului, practic nu vezi cum evolueaza sistemul in momentul bootului, nu vezi un computer functional real pe masina gazda, spre deosebire de VMWare, in care totul se petrece la nivel de interfata. Evident poti sa lucrezi prin VNC, in cazul sesiunilor X. Probabil partea cea mai grea dintre toate este crearea sistemului de operare de baza pe masina virtuala (base installing). Ca si performante cred ca tocmai faptul ca totul se petrece in afara interfetei grafice il face sa fie poate putin mai rapid decat o masina virtuala VMWare. In rest ambele ruleaza pe baza de fisiere montate (dd-ul sa traiasca!). Si unul si altul sufera de capcana hardware a ?simularii-simularii?. Dupa cum se stie orice sistem de operare are nevoie de swap, fie ca e partitie, fie ca este fisier. Astfel, daca masina gazda nu are destula memorie sa ruleze toate masinile virtuale de pe sistem, va trece in zona de swap. Evident ca sistemele de operare guest au si ele nevoie de swap, asa ca si-l fac in spatiul virtual al fisierelor-harddisk si deci se va ajunge la o simulare in simulare a unor resurse hardware. Pe de alta parte se pot folosi partitii reale in ambele cazuri, lucru deloc interesant si folositor. Daca ai nevoie sa dai un fsck sau un fdisk pe partitia respectiva trebuie sa faci umount. Acest lucru il poate face doar administratorul sistemului de operare gazda. Din acest motiv, recomand pentru solutiile de gazduire web folosirea fisierelor-harddisk-imagine; sunt sisteme de operare deja configurate si instalate, salvate ca template-uri daca le putem numi asa.
Fie ca alegeti o solutie sau alta, mainframe-urile se intorc printre noi vrand-nevrand. Si pentru ca lucrurile sa devina si mai concludente, sunt destul de multe oferte de gazduire web cu propriul tau server in State :)) la preturi derizorii (de la 50$ pe luna in sus). De fapt nu sunt altceva decat masini virtuale in niste mainframe-uri ticsite in goana dupa castig. Evident nimeni nu apuca sa isi vada serverul pe viu si nici sa-l curete de praf intr-o dupa-amiaza ploioasa de septembrie.
Personal merg pe mana VMWare-ului ca si solutie de virtualizare. Am folosit si folosesc VMWare atunci cand Cedega (http://www.transgaming.com) sau Wine (http://www.winehq.org) nu fac fata, si asta pentru ca am avut nevoie de un sistem de operare Windows, fara a-l instala propriu-zis pe un calculator, fortat de imprejurari (programe care nu pot fi portate pe Linux sub nici o forma). Mai nou VMWare a lovit puternic orice concurenta, introducand ca si produs free VMWare Player, un server light de masini virtuale. Pentru solutii corporative, clar VMWare este de departe cea mai buna optiune. Singurul mod prin care Xen poate sa invinga suprematia VMWare este doar prin asimilarea proiectului de catre o companie destul de convinsa de importanta acestei activitati. Desi Xensource se bucura de sponsorizari si de banii proviniti din activitati de implementare in diverse companii totusi doar o intelegere tacita intre un producator de procesoare si Xen poate sa conduca la un succes. AMD pana acum a fost cel mai receptiv, ca atare a fost primul care a introdus pe piata, in varianta de masa, procesoarele pe 64 de biti, dual core si primul care implementeaza virtualizare in cipurile sale. Intel pentru un timp a intors spatele virtualizari deoarece a considerat ca va conduce la o scadere a vanzarilor de procesoare. Microsoft si-a asigurat, in eventualitatea ca virtualizarea capata proportii serioase, propria masina virtuala, cumparand (ca de obicei) Connectix in 2003, desi vede in continuare o amenintare in acest fenomen.