11 Virtualizare 25 aprilie mai 2011

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Aplicatie pentru intarirea capacitatii manageriale Coriolis Consulting pentru INCD-PM Alexandru Darabont.
Xen and the Art of Virtualization A paper from the University of Cambridge, presented by Charlie Schluting For CS533 at Portland State University.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Virtualization for Cloud Computing
A Brief Introduction To Virtualization Technologies Yin Yunqiao HP.
LINUX Virtualization Running other code under LINUX.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Operating System Virtualization
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
An Introduction to Xen Prof. Chih-Hung Wu
CS 149: Operating Systems April 21 Class Meeting
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
A Survey on Virtualization Technologies. Virtualization is “HOT” Microsoft acquires Connectix Corp. EMC acquires VMware Veritas acquires Ejascent IBM,
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science and Technology, Fall 2010 Performance.
Introduction to virtualization
Full and Para Virtualization
Virtualization One computer can do the job of multiple computers, by sharing the resources of a single computer across multiple environments. Turning hardware.
Operating-System Structures
1 Virtualization "Virtualization software makes it possible to run multiple operating systems and multiple applications on the same server at the same.
CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization.
XEN – The Art of Virtualisation. So what is Virtualisation? ● Makes use of spare capacity ● Run multiple instances of OSes simultaneously ● Multitasking.
Virtualization for Cloud Computing
A move towards Greener Planet
Introduction to Virtualization
Virtualization.
Virtualization Technology
Lecture 13: Virtualization
L2- Virtualization Technology
Virtualization Dr. Michael L. Collard
Virtualization overview
Virtual Servers.
Februarie 2018 ASE Bucuresti
Running other code under LINUX
Group 8 Virtualization of the Cloud
Placa de bază.
Instrumente CASE Curs nr. 7.
Căutarea şi regăsirea informaţiei.
SOFTWARE Tipuri de software.
Dispozitive de stocare
CONFIGURAREA SWITCHURILOR
Mașini Virtuale – legătura cu arhitectura sistemului și importanța lor
Structura pipeline a unui procesor MIPS
Căutarea şi regăsirea informaţiei.
OS Virtualization.
Paxos Made Simple Autor: Puşcaş Radu George
Gestionarea datelor stiintifice
UNIVERSITATEA POLITEHNICA BUCUREȘTI FACULTATEA de ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI - Android OS - Coordonator știintific Stefan.
Software product management
Curs 2 1 Sistem de operare-concepte: 2 Apeluri de sistem
Ethernet.
Apache WEB Server.
Virtualization Techniques
A great way to create a channel of communication
Functia de documentare
Administrarea reţelelor de calculatoare
SOAP -Simple Object Access Protocol-
Configurarea, deployment-ul automat si testarea serviciilor
A Survey on Virtualization Technologies
Realizarea prezentarilor cu Microsoft PowerPoint
Virtual machines benefits
Virtualization Dr. S. R. Ahmed.
CS295: Modern Systems Virtualization
Slides from E0-253 taught by Arkaprava Basu and Vinod Ganapathy
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

11 Virtualizare 25 aprilie 2011 - 1 mai 2011 Cursul 11 11 Virtualizare 25 aprilie 2011 - 1 mai 2011 25.04.2011 - 01.05.2011

OSC Suport curs 11 Capitolul 2 – Operating-System Structures Secțiunea 2.8 – Virtual Machines 25.04.2011 - 01.05.2011

Cuprins Mașini virtuale Tipuri de virtualizare Full Virtualization VMWare Paravirtualization XEN Operating system-level virtualization OpenVZ 25.04.2011 - 01.05.2011

Premize VM Izolarea aplicaţiilor Performanţă Reducerea costurilor defectele de aplicaţie nu afectează funcţionarea corectă a întregului sistem Performanţă plasarea unui număr redus de aplicaţii pe un sistem permite accesul la resurse mult mai rapid Reducerea costurilor [1]Survey of System Virtualization Techniques, Robert Rose, March 2004 - http://scholarsarchive.library.oregonstate.edu/xmlui/bitstream/handle/1957/9907/rose-virtualization.pdf?sequence=1 25.04.2011 - 01.05.2011

Mașini virtuale Implementări software ale unui sistem hardware Mai multe instanțe de sisteme de operare pot rula simultan Popek & Goldberg - „an efficient, isolated duplicate of the real machine” System virtual machines VMM (Virtual Machine Monitor), hypervisor Process virtual machines Java Virtual Machine 25.04.2011 - 01.05.2011

Mașini virtuale (2) Non-virtual Machine Virtual Machine [1]OSC: 2.8 Virtual Machines Interrupts, p. 65 Non-virtual Machine                                Virtual Machine 25.04.2011 - 01.05.2011

Mașini virtuale (3) 25.04.2011 - 01.05.2011

Utilitate VM Server consolidation Application consolidation Sandboxing Domenii de execuție multiple Hardware virtual Debugging (kernel development) Software migration [1]OSC: 2.8.2 Benefits, p. 66 25.04.2011 - 01.05.2011

Popek & Goldberg virtualization requirements Echivalență Controlul resurselor Eficiență Setul de instrucțiuni sensibile ale sistemului trebuie să fie un subset al instrucțiunilor privilegiate. instrucțiunile privilegiate fac trap și transmit controlul VMM instrucțiunile neprivilegiate sunt executate nativ IA-32 conține 17 instrucțiuni sensibile, neprivilegiate dynamic recompilation paravirtualization [1]Survey of System Virtualization Techniques, Robert Rose, March 2004 - 1.4 Requirements for Virtual Machines http://scholarsarchive.library.oregonstate.edu/xmlui/bitstream/handle/1957/9907/rose-virtualization.pdf?sequence=1 25.04.2011 - 01.05.2011

VMM – Virtual Machine Monitor Implementare rulare direct pe hardware rulare ca o aplicație pe sistemul gazdă (VMWARE) Funcții virtualizare procesor (CPU, memorie) gestionare evenimente (Ex., trimitere page fault trap către sistemul oaspete) alocare resurse (Ex., maparea memoriei reale pe memoria fizică a fiecărui sistem oaspete) 25.04.2011 - 01.05.2011

JVM – Java Virtual Machine (1) [1]OSC: 2.8.3.2 The Java Virtual Machine, p. 68 25.04.2011 - 01.05.2011

JVM – Java Virtual Machine (2) Programele JAVA sunt binare independente de platforme și executate în cadrul JVM Componență: class loader class verifier runtime interpreter Compilatoare JIT (Just-In-Time) cresc performanța 25.04.2011 - 01.05.2011

Tipuri de virtualizare Full virtualization Hardware-assisted virtualization Paravirtualization Operating system-level virtualization 25.04.2011 - 01.05.2011

Emulatoare Implementare pură software a hardware-ului Pot fi văzute ca hosted virtual machine monitor Încete – toate instrucțiunile trec prin emulator dynamic binary translation Pot emula arhitecturi diferite de sistemul gazdă DOSBox, bochs, qemu [1]http://www.linux.com/news/software/applications/35492-emulation-or-virtualization-which-is-right-for-you 25.04.2011 - 01.05.2011

Full virtualization Simulare completă a hardware-ului Toate aplicațiile ce rulează pe hardware vor rula peste VMM Satisfac cerințele Popek & Goldberg x86 nu putea folosi full virtualization până la AMD-V și Intel VT dar totuși a putut ... VMware, Parallels, Virtual Box binary translation Hardware assisted virtualization (native virtualization - KVM) Izolare, emulare hardware 25.04.2011 - 01.05.2011

VMWare Virtualizarea platformei IA-32 VMDriver - acces mai rapid la device-uri Set-uri generice de device-uri – tastatura și mouse PS/2, floppy, controller IDE, CD-ROM, placă de sunet Soundblaster 16, port serial, porturi paralele, placă video și plăci de reșea AMD PCNet Placa de rețea VMDriver trece placa de rețea în mod promiscuous se crează un bridge virtual ce primește toate pachetele se analizează pachetele și se rutează înapoi spre SO gazdă sau spre interfața de rețea a unui SO oaspete [1] OSC: 2.8.3.1 VMWare, p. 67 [2] Survey of System Virtualization Techniques, Robert Rose, March 2004: 2.3 VMWare http://scholarsarchive.library.oregonstate.edu/xmlui/bitstream/handle/1957/9907/rose-virtualization.pdf?sequence=1 [3]http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf 25.04.2011 - 01.05.2011

Native VM (type1) 25.04.2011 - 01.05.2011

Hosted VM (type 2) 25.04.2011 - 01.05.2011

Paravirtualization Interfața similară apropiată de cea a sistemului fizic (nu identică) Hook-uri pentru a permite rularea într-un mediu non-virtualizat a acțiunilor intense computațional perfomanță sporită hypercalls Sistemul de operare guest trebuie portat la para-API poate fi nemodificat dacă se oferă suport hardware (AMD-V, Intel VT) În general rulează direct peste hardware (hypervisor) Xen, Vmware ESX, Parallels workstation [1]Survey of System Virtualization Techniques, Robert Rose, March 2004: 3 Paravirtualization http://scholarsarchive.library.oregonstate.edu/xmlui/bitstream/handle/1957/9907/rose-virtualization.pdf?sequence=1 25.04.2011 - 01.05.2011

Xen - Arhitectura [1]Xen and the Art of Virtualization -  http://elf.cs.pub.ro/soa/res/lectures/lecture-07/xen_and_the_art_of_virtualization.pdf 25.04.2011 - 01.05.2011

Xen Open-source x86, x86-64, PPC Sistem gazdă – Linux sau NetBSD Sistem oaspete – Linux, Minix, NetBSD, OpenBSD, FreeBSD, OpenSolaris, Microsoft Windows XP etc. Domenii XEN Hipervisor CPU scheduling Împărțire memorie 25.04.2011 - 01.05.2011

Xen – Domain0 Creat la pornire Operații de control Crează și închide alte domenii Alocare memorie fizică Accesul la I/O Creare VIF (Virtual Interfaces) & VBD (Virtual Block Devices) 25.04.2011 - 01.05.2011

Xen – Virtualizare Management memorie CPU Device-uri TLB misses la nivel de procesor XEN se află într-un spațiu de adrese de 64MB deasupra fiecărui spație de adrese – evitate TLB flushes când se intră sau iese în hipervisor CPU OS-> hipervisor -> hardware hipervisor-ul are prioritate mai mare decât OS Device-uri abstractizări Informația este pasată între domenii cu ajutorul memoriei partajate 25.04.2011 - 01.05.2011

Xen Acces parțial la tabelele de pagini din hardware Mașinile virtuale au acces de citire pe tabele, iar hipervisorul se ocupă de procesarea modificărilor Nivele de privilegii scăzute Trap handler-ele înregistrate la hipervisor Apelurile de sistem înregistrare la procesor Nu există întreruperi hardware sistem de evenimente Device-uri generice 25.04.2011 - 01.05.2011

Operating system-level virtualization Un singur kernel (același sistem de operare) nu poate fi folosit pentru kernel development Mai multe instanțe de spații utilizator virtual environments (VEs), containers, jails Implementare avansată a chroot sistem de fișiere, procese, I/O, rețea, cote, memorie, procesor Server consolidation Separarea serviciilor și resurselor FreeVPS, OpenVZ, Parallels Virtuozzo, FreeBSD jail, sysjail [1]OS-level Virtualization and Its Applications, Yang Yu, December 2007 -  http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.76.4527&rep=rep1&type=pdf 25.04.2011 - 01.05.2011

Virtuozzo/OpenVZ [1]http://download.openvz.org/doc/openvz-intro.pdf 25.04.2011 - 01.05.2011

OpenVZ Sistemele oaspete – diferite distribuții Linux cu același nucleu VE (Virtual Environment) VPS, container, partition Mediu izolat de execuție Copie a unui OS Linux (sisteme de fișier, utilizatori, interfețe de rețea, tabele de rutare, reguli firewall etc.) Nucleul OpenVZ este un nucleu Linux modificat ce adaugă următoarele funcționalități: virtualizare și izolare management-ul resurselor (CPU, RAM, spașiu pe disc) Checkpointing (asemănptor cu Snapshot-urile din VMWare) 25.04.2011 - 01.05.2011

OpenVZ – Virtualizare și Izolare Fiecare VE are: Fișiere – biblioteci, applicații, /proc și /sys virtualizate Utilizatori și grupuri Arbore de procese – procese virtualizate Rețea – adrese IP proprii, tabele de rutare și reguli iptables Device-uri – unele sunt virtualizate, dar VE-urile pot accesa exclusiv la nevoie anumite device-uri reale (interfața de rețea, porturi seriale, partiții) Obiecte IPC – memorie partajată, semafoare și mesaje 25.04.2011 - 01.05.2011

OpenVZ – Management-ul resurselor Resursele fizice trebuie partajate între VE-uri Subsitemul de management conține: Cote pentru disc pe două nivele Primul – se poate aloca dimensiune spațiu și număr de inode-uri Al doilea – folosind mecanisme UNIX se pot seta diverse cote pentru anumiți utilizatori sau anumite grupuri ”Fair” CPU scheduler (2 nivele) Scheduler-ul OpenVZ decide care VE urmează la execuție (bazat pe prioritate sau anumite setări de limitare) Scheduler-ul Linux decide ce proces din VE-ul selectat trebuie să ruleze User Beancounters Contoare, limitări și garanții Parametri pentru a controla memoria și diverse obicte din nucleu 25.04.2011 - 01.05.2011

OpenVZ – Checkpointing Permite migrare ”în viu” a unui VE de pe un server pe altul VE este ”froozen” și starea sa este salvată într-un fișier pe disc Fișierul se poate copia, iar pe baza lui VE-ul poate fi ”unfrozen” (restaurat) Proces rapid 25.04.2011 - 01.05.2011

OpenVZ – Scenarii de folosire Consolidare server micșorare servere fizice – profit Securitate Hostare Dezvoltare software și testare Educație 25.04.2011 - 01.05.2011

virtual machine VMM JVM hypervisor native VM hosted VM Cuvinte cheie virtual machine VMM JVM hypervisor native VM hosted VM full virtualization paravirtualization Xen Operating system-level virtualization OpenVZ VE, VPS, container 25.04.2011 - 01.05.2011

Întrebări ? 25.04.2011 - 01.05.2011