Solutii de virtualizare
In mediile de lucru enterprise sunt utilizate din ce in ce mai des solutiile de virtualizare, astfel resursele din cadrul infrastructurii IT sunt mai bine utilizate prin integrarea VPS-urilor si are loc si o reducere a costurilor de administrate si intretinere a acesteia.
Cu ajutorul tehnologiilor de virtualizare se abstractizeaza resursele fizice disponibile, virtualizarea punand la dispozitie un calculator, server sau orice dispozitiv hardware ca o unitate de resurse logice pentru utilizarea mai multor sisteme de operare si aplicatii in acelasi timp.
Un program de virtualizare are rolul de a imita modul de funcţionare a unui alt calculator sau sistem de operare, oferindu-vă în acest mod posibilitatea rulării concomitente a mai multor sisteme de operare. Pe calculatorul personal va rula sistemul de operare propriu-zis sau gazdă, funcţionarea sistemului de operare virtual fiind asigurată de o aplicaţie din această categorie.
Cum reducem costurile prin virtualizare?
* Presupunem următorul scenariu, în compania dumneavoastră aveţi aproximativ 300 de servere (multe dintre ele de generaţie mai veche). Aţi luat decizia de a achiziţiona 50 de servere de ultimă generaţie şi a integra maşini virtuale pentru toate serverele care le utilizaţi anterior. Care ar fi avantajele? În primul rând, acestea sunt legate de administrarea mai simplă a serverelor. În mod logic, sunt necesari mult mai puţini oameni pentru a administra 50 de servere fizice. Oamenii calificaţi sunt din păcate tot mai puţini şi, în consecinţă, costurile legate de resursele umane sunt tot mai mari.
* În al doilea rând, modul în care se administrează un server virtual este mult mai simplu decât în cazul unui server fizic. Introducerea nivelului de abstractizare pentru componenta hardware simplifică substanţial procesele de instalare şi configurare a serverelor virtuale. O copie într-un moment dat a unei maşini virtuale se realizează mult mai simplu decât un backup pentru un server fizic. Nu este necesară decât realizarea unui simplu snapshot. De asemenea, crearea unor noi servere virtuale se reduce în cele mai multe cazuri la simpla copiere a câtorva fişiere.
* Prin virtualizare infrastructura IT va fi utilizată mult mai eficient. Potrivit studiilor realizate de Gartner într-un mare data center se utilizează în medie numai 40% din putearea serverelor din cadrul acestuia. Prin virtualizare se vor putea evita situaţiile tot mai frecvent întâlnite în organizaţii, în care sunt servere care sunt utilizate de numai câţiva utilizatori sau care au un grad decent de încărcare de numai câteva zeci de minute pe zi. Virtualizarea şi soluţiile enterprise dedicate permit o mai bună utilizare a resurselor fizice disponibile pe server, precum şi partajarea acestora între toate serverele din cadrul organizaţiei.
* Reducerea consumului de energie este un alt beneficiu care trebuie să-l avem în vedere. Pare puţin important, dar pentru un data center cu câteva mii de servere, care îşi reduce în urma introducerii tehnologiilor de virtualizare “efectivele” de servere cu 70%, economia va fi semnificativă. Şi trăim într-un mediu tot mai nociv, fiind cu toţii martorii schimbărilor climatice ca urmare a faptului că nu am reuşit să conjugăm până acum decât verbele “a consuma” şi “a distruge”. În aceste condiţii, orice reducere a consumului de energie este benefică pentru mediu şi trebuie să o luăm în considerare.
virtualizare xen
Virtualizarea cu ajutorul Xen vps 3.0
Procesul de virtualizare este cunoscut de aproximativ 40 de ani. Compania IBM a inceput dezvoltarea suportului pentru virtualizare inca din anii 1960. Multe priecte de virtualiazare au devenit disponibile pt UNIX/Linux si pentru alte sisteme de operare, printre acestea putem aminti VMware, FreeBSD Jail, coLinux, Microsoft Vitual PC si Sloraris Containers si Zones.
Problema solutiilor virtualizarii o reprezinta performantele scazute. Totusi, Proiectul Xen vps oferea rezultate impresionante, ceea ce ii ofera un avantaj important.
Obiectul principal al celor de la Xen vps este sa obtina o mai buna utilizare a resurselor unui calculator si stabilizarea server-elor prin paravirtualizare si instrumente virtuale.
Paravirtualizare
Ideea de baza pe care se axeaza Xen vps este ca sistemele de operare guest sa ruleze nu pe inelul 0 (nivelul inferior), ci pe un nivel mai mare cu o prioritate mai mica. Acest procedeu poarta denumirea de “inel neprivilegiat”. Implicit Xen vps ruleaza sistemele de operare guest in inelul 1, numit Nivelul 1 (sau CPL1) al procesorului, hypervisor-ul este rulat in CPL0, iar aplicatiile lucreaza in inelul 4.
In setul de instructiuni al IA-32 sunt aproximativ 250 de instructiuni in total, dintre care 17 pot creea probleme in folosirea lor in inelul 1. Aceste instructiuni pot crea probleme in 2 moduri. In primul rand, folosirea lor in inelul 1 pot cauza exceptii de protectie (GPE), sau erori de protectie (GPF). De exemplu, folosirea instructiunii HLT cauzeaza imediat un GPF. Alte instructiuni, cum ar fi CLI sau STI, pot cauza aparitia unu GPF in caz k unele conditii sunt indeplinite. In al doilea rand, sunt instructiunile care nu creeaza un GPF, dar totusi esueaza.
Drivere split virtuale
Sunt folosite in special pentru protejarea sistemului hardware. Dom0 este singurul care are acces direct catre resursele hardware, dar foloseste driver-ele de la Linux. Insa, backend-ul dom0 este pe un alt nivel si aceasta contine driver-ele virtuale de netback si blockback. De asemenea, nivelele putin prioritare au acces la aceste drivere virtuale.
Atunci cand un nivel nepriviegiat este creat se creeaza si un nivel intermediar intre acesta si dom0. Este folosit HYPERVISOR_event_channel_op hypercall, comanda fiind EVTCHNOP_bind_interdomain.
Atunci cand este introdusa o intrerupere de catre controler, APIC, se foloseste metoda do_IRQ(). Hypervisor-ul trateaza doar intreruperile seriale si cele legate de timp. Celelalte intreruperi sunt tratate de catre nivelele putin prioritare, folosindu-se comanda _do_IRQ_guest().
Xen vps si procesoarele Intel VT-x
Momentan Inter dezvolta tehnologiile VT-x si VT-i pentru procesoarele x86 si titanium, procesoare ce vor avea suportul pentru virtualizare. Cea mai importanta structura in implementerea Xen vps a procesoarelor VT-x/VT-i o reprezinta VMCS. Zona VMCS este formata din sase zone logice, cele mai relevante fiind zona Guest si zona Host. Celelalte patru sunt VM-execution control fields, VM-exit control fields, VM-entry control fields si VM-exit information fields.
Intel a introdus zece op-code-uri in VT-x/VT-i pentru a suporta Tehnologia de Virtualizare Intel. Acestea sunt :
1. VMCALL: (VMCALL_OPCODE in vmx.h) Se apeleaza monitor-ul masinii virtuale, astfel masina virtuala iesind din executie.
2. VMCLEAR: (VMCLEAR_OPCODE in vmx.h) Copie informatiile VMCS in memorie.
3. VMLAUNCH: (VMLAUNCH_OPCODE in vmx.h) Lanseaza in executie o masina virtuala.
4. VMPTRLD: (VMPTRLD_OPCODE in vmx.h) Asigneaza un pointer catre WMCS.
5. VMPTRST: (VMPTRST_OPCODE in vmx.h) Stocheaza pointerul catre VMCS.
6. VMREAD: (VMREAD_OPCODE in vmx.h) Citeste un camp ,specificat din VMCS.
7. VMRESUME: (VMRESUME_OPCODE in vmx.h) Reia rularea unei masini virtuale.
8. VMWRITE: (VMWRITE_OPCODE in vmx.h) Scrie un camp, specificat in VMCS.
9. VMXOFF: (VMXOFF_OPCODE in vmx.h) Inchide operatia VMX.
10. VMXON: (VMXON_OPCODE in vmx.h) Deschide operatia VMX.
Atunci cand este folosita a astfel de tehnologie, Xen vps ruleaza operatia VMX la root. Domeniile guest, sistemele de operare, folosesc aceasta operatie non-root. Datorita acestui fapt, sistemele de operare guest sunt restrictionate.
Xen vps deschide operatia VMX cu ajutorul metodei start_vmx(), xen/arch/x86/vmx.c. Aceasta metoda este apelata cu ajutorul metodei init_intel() in xen/arch/x86/cpu/intel.c.
HVM, interfata comuna pentru VT-x/VT-i si AMD SVM
Arhitecturile VT-x/VT-i si AMD SVM sunt asemanatoare, fapt ce a condus la dezvoltarea unei interfete comune, Hardware Virtual Machine (HVM). Codul sursa acestei interfete a fost creat de catre Leendert van Doorn de la Centrul de Cercetare Watson de la IBM.
Un exemplu de intefata comuna pentru VT-x/VT-i si AMD SVM este constructorul de domenii, xc_hvm_build(), aflat in xc_hvm_build.c. Deoarece constructorul este comun, vmxloader este numit acum hvmloader, acesta indentifica procesele apeland CPUID.
HVM, defineste o tabela, numita hvm_function_table, reprezentand o structura ce contine functiile comune arhitecturilor VT-x/VT-i si AMD SVM. Aceste metode, incluzand initialize_guest resources() si store_cpu_guest_regs(), sunt implementate diferit pentru VT-x/VT-i sau AMD SVM.
Xen vps 3.0 are inclus suport pentru procesoarele AMD SVM, acestea avand maparea spatiilor de adresa diferita fata de cea de la VMM.
Concluzii
In viitor, cu toate ca procesoarele noi Intel 64-bit vor avea suport pentru virtualizare inclus, cei de la Xen vps vor implementa in special suportul de virtualizare pentru CPU. In prezent suportul Xen vps pentru arhitecturile VT-x/VT-i este recunoscut oficial, cel pentru AMD SVM nefiind inca recunoscut oficial.
In concluzie, Xen vps reprezinta un proiect de virtualizare foarte interesant, avand multe beneficii si caracteristici specifice. De asemenea, exista posibilitatea ca, in viitor, Xen vps sa fie integrat si in kernel-ul Linux, in mod oficial.
xen vps
Xen vps reprezinta un program cu ajutorul caruia mai multe sisteme de operare pot rula simultan pe acelasi suport hardware. Xen vps a fost creat initial la Universitatea din Cambridge, in momentul de fata este detinut de comunitatea Xen vps si comercializat ca si software gratuit, licentiat de GNU (General Public License).
Intr-un sistem Xen vps , hypervisor-ul Xen vps reprezinta nivelul de baza si are prioritatea cea mai mare. Deasupra acestui nivel sunt unul sau mai multe sisteme de operare guest, pe care hypervisor-ul le imparte in functie de performantele fizice ale procesorului. Primul sistem de operare guest, numit in terminologia Xen vps “domain 0” (dom0), este ruleaza automat atunci cand hypervisor-ul este deschis si ii este dat acces direct la resursele fizice ale suportului hardware si are acces complet la managemetul sistemului. Administratorul de sistem se poate inregistra pe dom0 in vederea administrarii altor sisteme de operare guest, asa numitele “domain U” (domU) in terminologia Xen vps.
Scurt Istoric
Initial, Xen vps a fost un proiec de cercetare la Universitatea din Cambridge, prioect condus de catre Ian Pratt, conferentiar la Universitate si fondatorul companiei Xen vpsSource. In prezent comapania se ocupa cu dezvoltarea proiectului si de asemenea cu comercializarea versiunilor software. Lansarea programului pe piata a fost facuta in anul 2003. In luna octombrie a anului 2007, compania Citrix Systems a inceput demersurile in achizitionarea Xen vpsSource. Produsele de la Xen vpsSource au fost redenumite sub marca Citrix : Xen vpsExpress a fost redenumit in “Xen vpsServer Express Edition” , Xen vpsServer in “Xen vpsServer Standard Edition” , Xen vpsEnterprise in “Xen vpsServer Enterprise Edition”.
La finalul lunei octombrie, 2007, Citrix Systems detineau tot ce inseamna Xen vpsSource, inclusiv proiectul Xen vps. In cadrul companiei Citrix Systems s-a creat un departament consultative (Xen vps Advisory Board – Xen vps AB), departament ce are in compomenta oameni de la Citrix, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems si Oracle. Acest departament avea obligatia de a supraveghea dezvoltarea proiectului .
Utilizare
Hypervisor-ul (virtual machine monitor) este des folosit de catre IBM, HP si alte companii pentru placi de baza si servere mari. Deasemenea, companiile de internet hosting ce ofera servere vituale incep sa foloseasca acest hypervisor, iar numarul acestora creste constant. Principalele beneficii ale virtualizarii sunt stabilitatea, utilizarea mai multor sisteme de operare pe acelasi suport hardware, evitarea defectiunilor sau a pierderilor de date in cazul aparitiilor de bug-uri, erori sau in cazul unui restart. Deasemenea, virtualizarea este foarte folosita in dezvoltarea securitatii unui sistem, astfel se pot testa efectele unui virus sau al unui worm fara a pune in pericol resursele host-ului.
Xen vps este vandut ca o platforma de virtualizare, cum ar fi Citrix Xen vpsServer Enterprise (fostul Xen vpsSource Xen vpsEnterprise), sau incorporat deja in sistemul de operare host. De exemplu, configuratii ce includ Xen vps putem aminti : distributia Novell SUSE Linux Enterprise 10, Red Hat Fedora 7, Sun Microsystem Solaris sau Debian Etch. Xen vpsSource a anuntat ca firma Dell va incorpora Citrix Xen vpsServer OEM Edition in memoriile flash ce le vor lansa.
Consola de management Xen vps
In vederea unei folosiri mai usoare administrarii unui host Xen vps au fost implementate instrumente ce ajuta la configurarea, deschiderea, supravegherea si oprirea sistemelor guest Xen vps.