VIRTUALIZARE I TEHNOLOGII DE VIRTUALIZARE HARDWARE I SOFTWARE

Patapie ± Raicu tefan Grupa 5305

Facultatea de Electronic , Telecomunica ii i Tehnologia Informa iei Specializarea Microelectronic , optoelectronic i nanotehnologii Sisteme de calcul si operare

care deobicei consista intr-un sistem de operare guest. virtualizarea este o metoda ce permite rularea a unuia sau mai multor ³ca lculatoare´ pe o singura platforma hardware. Virtualizarea a aparut in perioada 1960 pentru a permite partitionarea calculatoarelor gigantice mainframe . sistem de operare.Virtualizare i tehnologii de virtualizare 1 Lucrarea contine termeni in limba engleza ce nu au putut fi tradusi complet in limba romana pentru a nu li se pierde sensul sau din cauza lipsei unui termen adecvat. unita te de stocare sau resurse de retea. In schimb am incercat sa ofer o descriere amanuntita a unor termeni ce ar putea pune intr-o oarecare dificultate pe unii enduseri ne-experimentati. software bazat pe MAC OS X poate fi rulat pe acea masina virtuala. a doua sisteme de operare diferite pe un singur PC. Virtualizare completa Consta intr-o simulare aproape completa a hardware -ului actual pentru a permite software-ului. pe un PC putem rula atat o masina Windows cat si una Linux. Ca urmare. Diferite tipuri de virtualizare hardware includ: 1. VMware workstation. cercetatorii au inceput sa observe cum virtualizarea putea rezolva unele probleme legate de poliferarea mai putin scumpa a hardware-ului. sau si mai usor.resurse rare si scumpe. astfel in perioada 1980. Exemple: VirtualBox. termenul masina -host se refera la sistemul actual pe care se realizeaza virtualizarea. Virtualizarea in IT reprezinta crearea unei versiuni virtuale (alta decat una actuala) a unei platforme hardware . Oracle VM. incluzand reutilizarea. In virtualizarea hardware. De exemplu. Cu timpul. virtualizarea nu era foarte departe de intrebuintat. VMware Server. O explicatie mai complexa ar fi urmatoarea: virtualizarea elibereaza utilizatorii si aplicatiile de caracteristicile hardware specifice sistemelor pe care opereaza. sau o instalare de Windows 98 si una de XP. Software-ul executat pe aceste masini virtuale este separat de resursele hardware existente. Tipuri de virtualizare Virtualizare Hardware Virtualizarea hardware sau platforma virtualizata se refera la crearea unei masini virtuale care functioneaza ca un computer real cu un sistem de operare. de exemplu. un computer care ruleaza MS Win dows poate hosta o masina virtuala care seamana cu un computer cu sistem de operare MAC OS X. Scopul uzual al virtualizarii este de a centraliza sarcinile administrative in timp ce imbunatateste scalabilitatea si work loads. In anii 1990. Virtual PC. minicalculatoarele si PC -urile ofereau o cale mai eficienta de distribuire a puterii procesorului. . Simplificata. termenul masi na-guest se refera la masina virtuala. sa ruleze nemodificat.

Avantaje: Virtualizarea asistata hardware reduce resursele atribuite mentenantei paravirtualizarii deoarece restrictioneaza (ideal elimina) numarul schimbarilor necesare unui sistem de operare guest. Scaderea performantei poate fi evitata folosind drivere paravirtuale.Virtualizare i tehnologii de virtualizare 2 Virtualizarea completa s-a dovedit foarte utila pentru: a) sharing-ul unui computer intre mai multi utilizatori b) izolarea utilizatorilor unul de celalalt (pentru a crea un program de control) c) emularea unui hardware nou pentru a realiza securitate si productibilitate crescuta 2. in primul rand cele ale procesorului host. in car e fiecare masina virtuala consta intr-un spatiu de adresa independent. implica multe Äcapcane VM´. in schimb. 4. Virtualizarea asistata hardware a fost adaugata proceoarelor x86 (Intel VT -x sau AMD-V) in 2006. limitand scalabilitatea si efic ienta consolidarii unui server. Programele guest trebuie modifica te specific pentru a rula in acest mediu. in mod particular spatiul de adrese. Virtualizarea partiala a fost un succes is toric catre virtualizarea completa. Virtualizare partiala In virtualizarea partiala. 3. Virtualizare asistata hardware Virtualizarea asistata hardware este vazuta ca o virtualizare de platforma care permite virtualizarea completa folosind capabilitatile hardware. masina virtuala simuleaza mai multe instante ale unui mediu virtual. adica tot sistemul de operare nu poate rula in masina virtuala . incluzand virtualizarea spatiului de adresa.ceea ce ar insemna virtualizare completa ± dar multe aplicatii pot rula. De asemenea faciliteaza obtinerea unei performante mult mai bune. Astfel de instante (denumite de multe ori . Virtualizare software Virtualizare la nivelul sistemului de operare Virtualizarea la nivelul sistemului de operare este o metoda de virtualizare server unde kernel-ul unui sistem de operare permite instantierea mai multor spatiiutilizator izolate in locul unuia singu r. O virtualizare pura asistata hardware. Paravirtualizare In paravirtualizare nu este simulat un mediu hardware. aceasta combinatie a fost numita Ävirtualizare hibrida". O forma cheie a virtualizarii partiale este virtualizarea spatiului de adresa. programele guest sunt executate in domeniile lor izolate ca si cum ar rula intr-un sistem separat. folosind doar sisteme de operare guest. rezultand multe supracresteri in utilizarea CPU_ului. Dezavantaje: Virtualizarea asistata hardware necesita uport explicit in CPU -ul hostului care nu este intotdeauna disponibil in toate procesoarele X86/X86_64.

Virtualizare i tehnologii de virtualizare 3 containere. Memoria virtualizata este diferita de unitatile de stocare bazate pe memorie cum ar fi disk-urile solide (SSD-urile). dar SSD-urile folosesc un sistem foarte complicat si mai putin eficient. Mareste eficienta si reduce timpul de rulare pentru schimburi de date intensive intre I/O . unde este folosito are la alocarea securizata de resurse hardware finite intre un numar mare de utilizatori neincrezatori. Aplicatia este pacalita la rulare. Limitari Unele tipuri de software cum ar fi antivirusii sau aplicatiile ca re se ocupa de schimbarea aspectului si a temelor vizuale (WindowsBlinds. Memoria comuna este accesata de sistemul de operare sau de aplicatiile care ruleaza in sistemul de operare. Virtualizarea aplicatiilor Virtualizarea aplicatiilor este un termen umbrela care descrie tehnologii software ce imbunatatesc portabilitatea. Virtualizarea la nivel de sistem de operare este folosita in medii de virtual hosting. crezand ca interfera cu sistemul de operare original si cu resursele manageriate de acesta. Poate proteja sistemul de operare si alte aplicatii de cod scris neatent sau buggy. flash mem) intr -un cluster. cand de fapt nu este. ma nagementul si compatibilitatea aplicatiilor izolandu-le de sistemul de operare existent pe care sunt executate. Utilizeaza mai putine resurse decat o masina virtuala separata Posibilitatea de a rula aplicatii incompatibile in acelasi timp Permite aplicatiilor sa fie copiate pe medii portabile si apoi importate in alte computere fara nevoia de instalare. Amandoua permit partajarea spatiului de memorie (i. Memoria comuna distribuita poate fi apoi utilizata pe post de cache de mare viteza sau o memorie de capacitate mare partajata pentru o aplicatie CPU sau GPU. RAM. VE (virtual environments). virtualizarea memoriei decuplea za resursele RAM-ul volatil de sistemul individual din centrul de date si apoi aloca acele resurse intr-o memorie virtuala comuna oricarui computer din cluster.e. O aplicatie complet virtualizata nu este instalata in sensul traditional. identic cu interfata unui hard disk. Beneficii Imbunateste utilizarea memoriei prin partajarea resurselor reduse. VPS sau Äjails´) pot arata ca un server real din punctul de vedere al utilizatorului. Beneficii Permite aplicatiilor sa ruleze in medii pentru care nu au fost construite (nu au suport nativ). Exemplu WINE permite aplicatiilor MS windows sa ruleze pe Linux. desi este executata ca si cum ar fi. StyleXp) prezinta dificultati in a fi virtualizate. Virtualizarea memoriei In informatica.

ascunderea fragmentatiei . sistemele embedded nu au deobicei o utilizare in ierarhii de memorie complicate. memoria virtuala consta intr-o tehnica de a manageria memoria pentru mai multe kernel-uri.fac operatia de programare a aplicatiilor mai usoara prin: .exista o singura memorie hardware si acest device virtual se comporta ca un modul RAM . Paged virtual memory Aproape toate implementarile memoriei virtuale divid spatiul virtual de adrese al unei aplicatii in pagini.folosesc memoria hardware mai eficient decat sistemele fara memorie virtuala . SAN sau NAS. In orice caz. .programul are acces deplin la acest modul virtual de memorie RAM ca baza pentru memorie de lucru continua (spa tiu de adrese) Sistemele care folosesc memoria virtuala: . memoria virtuala declanseaza intreruperi impredictibile care pot produce jitter nedorit in timpul operatiilor I/O. permitand unui program sa fie creat dupa cum urmeaza: . iar sistemele cu campuri mari de adrese virtuale de memorie sau cu foarte multa memorie reala folosesc pagini cu marimi mai mari. Hardware -ul care se ocupa cu traducerea specifica sau maparea functiilor intre adresele logice si fizice este cunoscut sub numele de Äcutia´ Dynamic Address Translation (DAT) sau ca unitatea de management a memoriei (MMU). Implementari Integrare la nivelul aplicatiei Integrare la nivelul sistemului de operare Memoria Virtuala In IT.Virtualizare i tehnologii de virtualizare 4 Micsoreaza latenta si permite accesul mai rapid decat alte solutii cum ar fi SSD. Paginile sunt deobicei de 4KB (4x1024 bytes). Tabele de pagina (Page tables) Aproape toate implementarile folosesc page tables pentru a traduce adresa virtuala vazuta de aplicatie intr-o adresa fizica (sau adresa reala) folosita de hardware pentru a procesa instructiuni. o pagina este un bl oc continuu de adrese virtuale de memorie.punand pe seama kernel-ului povara de a manageria ierarhia memoriei Sistemele embedded si alte sisteme computerizate cu scopuri speciale care necesita timpi de raspuns foarte mici pot o pta pentru a nu folosi memoria virtuala datorita determinismului scazut (determinism in IT este un algoritm care se comporta predictibil). Aceasta tehnica virtualizeaza arhitectura memoriei computerului (cum ar fi RAM-ul sau unitatile de stocare pe disc).

returneaza pagina ce contine adresa virtuala ceruta. de exemplu de catre echipamente periferice care folosesc accesul direct la memorie (DMA) sau prin canalele I/O. in timp ce se executa o instructiune. paging supervisor trebuie sa elibereze in spatiul primar de stocare pentru a retine pagina in terschimbabila. Daca paginile ce contin aceste pointere sau daca codul invocat ar fi paginabil. Deobicei aceste echipamente si bus-urile (conexiunile) de care sunt atasate folosesc adrese fizice de memorie in locul adreselor virtuale de memorie. Daca traducerea adresei hardware indi ca o eroare de tip "page fault exception". Pagini rezidente permanent Sistemele de operare prezinta arii de memorie care sunt blocate. -Unele parti din tabelul de pagina nu sunt totdeauna paginabile -Bufferele de date accesate direct. asa cum si este deobicei. un tabel de pagina separat pentru fiecare aplicatie. De exemplu: -Sistemele de intrerupere in general se bazea za pe o arie de pointeri catre handleri (I/O completion. Traducerea dinamica de adrese (Dynamic addrress translation) Daca. page fault). Daca page table arata ca pagina virtuala de memorie nu exista in memoria reala. erori de program. paging supervisor acceseaza un spatiu de stocare secundar. adica nu sunt interschimbabile in spatiul secondar de stocare. mai ales in cazul intreruperilor de tipe page fault. .Virtualizare i tehnologii de virtualizare 5 Sistemele pot avea un tabel de pagina pentru to t sistemul. Paging supervisor Este partea sistemului de operare care creaza si manageriaza page tables. aduce la zi tabelele de pagina pentru a reflecta localizarea fizica a adresei virtuale ca apoi in final sa transmita mecanismului dinamic de traducere a adresei sa reinitializeze cererea. Acest lucru este realizat de o com ponenta hardware denumica MMU (Memory Management Unit) care cauta adresa reala (din page table) corespunzatoare unei adrese virtuale si trimite adresa reala in diferite zone ale CPU-ului care executa instructiunii. un page table separat pentru fiecare segment. Eliberand putina memorie necesita aducerea la zi a tabelului de pagina pentru a -i transmite ca pagina se afla intr-un spatiu de stocare secundar. un CPU primeste o instructiune intr-o adresa virtuala anume. primeste date de la o adresa virtuala specifica sau stocheaza date intr-o adresa virtuala anume. o ierarhie de tabele de pagina pentru segmente mari sau o combinatie intre acestea. acea adresa trebuie sa fie tradusa in adresa fizica corespunzatoare. Superviser -ul economiseste timp neinterschimband paginile deja existente in spatiul secunda r de stocare. Asadar. Cand toata memoria fizica este in utilizare. paginile ce contin localizari catre/dinspre care un dispozitiv periferic transfera date sunt ori permanenent blocate ori doar cat timp exista un transfer in desfasurare. hardware -ul indica o exceptie de esuare a paginii (faimoasa Page Fault Exception) care initializeaza componenta "paging supervisor" al sistemului de operare. handling interruptions ar deveni mult mai complexe si ar dura prea mult. evenimente de timer.

este application-layer network protocol folosit in primul rand pentru a oferi accesul partajat asupra fisierelor.Virtualizare i tehnologii de virtualizare 6 -Ariile aplicatiilor/kernel-ului. . presupune unificarea mai multor partitii intr un singur volum. Astfel. Virtualizarea de blocuri se refera la separarea spatiului de stocare logic de cel fizic pentru a putea fi accesat fara nevoia de a trece prin spatiul de stocare fizic sau alte structuri. exista doua tipuri primare de virtualiare in contextul sistemelor de stocare: virtualizarea de blocuri si virtualizarea de fisiere. codul sau driverele paging superviser-ului pentru spatiul de stocare secundar nu trebuie sa fie interschimbabile. Accesul bazat pe blocuri este oferit prin fibra opt ica. iSCSI(internet small computer system interface. Tipurile de RAID pe care dorim sa le implementam tine de ceea ce ne dorim mai mult: fie un nivel mai ridicat de perfo rmanta. Dezavantaj: nu exista protectie in cazul defectiunilor si nici nu aduce o crestere de performanta. cum ar fi hard disk-urile). Virtualizarea sistemelor de stocare In mod specific. Virtualiarea de fisiere elimina dependentele intre datele accesate la nivelul de fisier si localizarea fizica a acestor fisiere. Sistemele de stocare pot oferi ori accesul datelor pe blocuri ori pe fisiere. Tehnologia RAID combina mai multe hard discuri fizice intr -o singura unitate logica folosind fie un dispozitiv hardware (controler RAID) fi e o aplica ie software Cea mai simpla metoda de RAID. permite unui util izator accesul la fisiere intr o retea ca si cum acestea s-ar afla in spatiul local) sau CIFS (Common Internet File System. Sistemele de stocare (sau storage/disk arrays) utilizeaza hardware si software special impreuna cu unitatile de disc pentru a oferi o capacitate de stocare sigura si viteza de procesare a datelor foarte rapida. Despre tipuri de RAID si implementarile acestora vom vorbi in continuare. Exista mai multe tipuri de RAID. sistemele de stocare pot folosi concepte de virtualizare pentru a permite o functionalitate mai buna si facilitati mult mai avansate unitatii de stocare. un standard IP bazat pe partajarea datelor intr -o retea). Accesul pe fisiere este oferit de protocoalele NFS (Network File System. Aceasta ofera posibilitati de optimizare a spatiului de stocare si de a muta fisiere mult mai usor. STUDIU DE CAZ: RAID Arrays (Block Virtualization) RAID (Redundant Array of Inexpensive Disks) este o tehnologie de utilizare a mai multor hard disk-uri intr-o singura entitate pentru a imbunatati performanta sau securitatea datelor. In mod particular. fiecare cu avantaje si dezavantaje. SAS (Serial Attached SCSI. Se pot unii partitii de pe unul sau mai multe hard diskuri. component ce sunt dependente de timp nu pot tolera raspunsul variabil cauzat de paginare. imprimantelor sau porturilor seriale intre nodurile unei retele). Avantaj: un spatiu mai mare de stocare. fie o siguranta sporita a datelor.

i l t . t l i. i lt t E t i i B fi t i i l l lt lt l ii t t l t l ti i i . i AI . i t AI t . i l t fi l f l i i Ti i i l t t i t t it i . t i it t ti . ti tf fi i ri e RAI : RAI 0 E t i t i t j: A lt . AI t f l it i it l l t AI t f l it l i t t l l f i . t t i i . t l fii i fi l i. l i ilit t i i t . t i l i i t l i. i t / iti f it lt i i t t t l t i ii.Vi t li it l ii E i t 3 ti y mi i li i y st i i . S it t f i tf l t i t i f . f l it i t t l i i t f l l t t j i f t f t t . i il . l . / iti t i ti i l fi t j: f ti l i i i . it t i t l t t . f t i i t ii ti . t i t t l i AI . i. i i i t l t l i AI : t l i lt i i. l i i it t i . AI t l i t ti RAI 1 $ $ $ # " S l i i it i. i t j: li f f t i i i t i i t l . i it t AI li ti i t j il i. i i t . t i t t i ¤ ¢ £ ¢¡    ¤ ©¨ ¨§¦¤ ¥ ¤ ¢ £ ¢¡   it li 7 ifi i. t i. t t t 5 B. f t i i i t lt i i i. i lt i i il i i t t t i t t t l l i i t i t l . i i t l l t ! AI . i ti y error orrection t t l        i . tit t t . t t i i t f l l i ti i t l 5 t t f t i t . l f l it t t i l t i t ti t t i l l t fi f l it i t tiil l .

i tf l i t fi il t l t i it l t i P it t l i i l t itii ti i i i t t i t it t t . S i t t t lt i f i i 3 l l t i * fi i t l t tiil il . P i i t it t t it t i i E i i AI 7 l i . A i ti it ti t . 7 t l i i t l RAI 5 A t f + . i t. l i i t i AI t t t t tiil i i i t . )%' ( '& % 6 )5 43 321) 0 )%' ( '& % it li 8 i t i t i it i t l t t t f tiil ti l ti t ll l . I i t t l t i t t .Vi t li it l ii AI I i it t ti t. tf l . t li t i t i AI . t ll l S SI t i t t lit t t . . l t. ii t l . AI t t l t it t t it t ti t . t l 8 l t f i tii i tili t . E t t t i i i t f ti l . t fi f tl i l RAI H rdware t ll E i t AI . ti t t i i i . t j: t . lt ft AI . fii i il i i i t ti it t f i i t i t t . i t .

În aceste condi ii. mai multe sisteme de operare i aplica ii pot s func ioneze pe un singur server fizic. Rezolvarea acestor probleme este dat de VIRTUALIZARE. insa MS ofera alternativa sa si anume Virtual Server. În mediul econonomic actual. Cu toate aceste sisteme de siguranta pe care le ofera mat ricile RAID. Virtualizarea desktop Virtualizarea desktopului implica incapsularea si furnizarea de acces la un sistem informatic complet sau intreg sistemul catre un sistem utilizator. lipsa spa iului fizic pentru echipamentele hardware. IDE sau SCSI. Cel mai cunoscut software de virtualizare de acest tip este VMware. consumul ridicat de energie. Modelul de virtualizare desktop permite accesul masinilor virtuale pentru a lasa mai multi utilizatori ai retelei sa mentina desktop -uri individualizate pe un singur server sau computer central. ci i flexibilitate mai mare. dar de asemenea pot fi conectati la computer -ul central printr-un LAN. Acest sistem utilizator poate folosi o arhitectura hardware complet diferita decat cea folosita de mediul desktop proiectat si de asemenea p oate fi bazat pe un cu totul alt sistem de operare. RAID -ul Software are o performanta foarte buna. In Linux. ceea ce determin ca rata de utilizare a hardware-ului s creasc de la 10-1 % pân la 80%. costurile ridicate de între inere i mentenan devin bariere pentru orice manager IT. Operati unile de utilizare si de administrare a hard diskurilor sunt facute de sistemul de operare. WAN sau internet. Prin virtualizare. Virtualizarea nu înseamn numai cheltuieli mai sc zute. prin beneficiile concrete i imediate aduse. exista si cazuri exceptionale in care datale pot fi pierdute datorita defectiunilor aparute la controllerele RAID sau in cazul defectiunii mai multor hardiscuri din matricea RAID. Utilizatorii pot fi imprastiati din punct de vedere geografic. . firma sau data center. procesorul sistemului avand o sarcina in plus.Virtualizare i tehnologii de virtualizare 9 RAID Software Acesta se face folosind controllere clasice. departamentele IT sunt supuse unor presiuni uria e în sensul sc derii costurilor i alinierii la cerin ele de business ale organiza iei . Computer-ul central poate functiona intr -o rezidenta.

VMWare Virtualization Website : http://www.Intel Virtualization (VT) Technology Explained: http://www.ibm.wikipedia. JetStor Visualize your RAID: http://www. IBM ± Virtualization in education: http://www07.ro/solutii/virtualizare .org/wiki/Virtualization b. http://en.org/wiki/Full_virtualization f.org/wiki/Hardware -assisted_virtualization e.wikipedia.net/2008/09/14/introducere-invirtualizare.org/wiki/Hardware_virtualization c.ro/tehnologie/totul -despreraid/ 4.com/solutions/in/education/download/Virt ualization%20in%2 0Education. http://en.acnc. http://en. http://en.wikipedia.revistait.vmware.org/wiki/Application_virtualization h.wikipedia.org/wiki/Memory_virtualization i.com/virtualization/ .wikipedia.securenetworks.arenait. Arena IT Introducere in virtualizare: http://www. http://en. Revista IT . http://en.wikipedia. http://en. http://en. http://en.wikipedia. The Free Encylopedia a.org/wiki/Paravirtualization d.com/article/26 .wikipedia.org/wiki/Operating_system -level_virtualization g.wikipedia.org/wiki/Virtual_memory j.hardwaresecrets.html 8.pdf 6. Wikipedia.wikipedia.ro Virtualizare: http://www. http://en. Hardware Secrets .wikipedia. http://en.org/wiki/Desktop_virtualization 2.org/wiki/Storage_virtualization k.Totul despre RAID: http://www. Securenetworks.com/raid 7.Virtualizare i tehnologii de virtualizare 10 BIBLIOGRAFIE: 1.