SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Seguretat Informàtica
          UF4 Alta disponibilitat – Part 2




Virtualització

                   Xavier Sala Pujolar
                   Institut Cendrassos
Introducció
●   Des de fa molt de temps en Informàtica s'ha
    intentat fer servir l'ordinador per simular
    sistemes diferents del que es té...




                            Administració de Sistemes Informàtics i Xarxes
Tipus
●   Es fan servir diferents tècniques per simular els
    sistemes:

      Emulació                        Virtualització
                                        completa

    Virtualització                Paravirtualització

                                      Virtualització
    Virtualització                    a nivell de SO
        parcial
                              Administració de Sistemes Informàtics i Xarxes
Virtualització




Emuladors




     Administració de Sistemes Informàtics i Xarxes
Emuladors
●   Es basa en crear programes que emulen el
    funcionament d'una o diverses plataformes de
    maquinari
     –   Normalment per aconseguir executar programes
          que només s'executen en aquestes plataformes




                                Administració de Sistemes Informàtics i Xarxes
Emulació
●   És el tipus de virtualització més costosa i per
    tant la menys eficient
     –   Obliga a simular completament per software
          qualsevol aspecte del maquinari a simular
     –   Com que s'ha de traduir tot el resultat és força lent
●   Però també ofereix alguns avantatges:
     –   Pot executar sistemes operatius dissenyats per
          altres plataformes sense modificar-los
     –   Permet desenvolupar firmware per dispositius
          hardware sense tenir el maquinari real



                                   Administració de Sistemes Informàtics i Xarxes
Bochs
●   Emulador de PC de
    codi lliure
●   Funciona en
    arquitectures x86 de
    32 i 64 bits
●   Pot executar la major
    part dels sistemes
    operatius emulant-los



                               http://bochs.sourceforge.net/


                            Administració de Sistemes Informàtics i Xarxes
QEmu
●   QEMU és un emulador i
    virtualitzador de codi
    obert
●   Pot emular diferents
    plataformes com x86,
    x86-64, PowerPC,
    SPARC o MIPS.
●   Amb Xen i KVM pot
    funcionar com
    virtualitzador


                             Administració de Sistemes Informàtics i Xarxes
MAME
●   Un dels camps en
    que els emuladors
    són més populars és
    en l'emulació de jocs
●   El Multiple Arcade
    Machine Emulator
    (MAME) és un
    emulador de
    màquines recreatives
     –   Funciona a partir de
          volcats de les ROM
          originals

                                Administració de Sistemes Informàtics i Xarxes
DOSBOX i DOSEmu
●   També ha tingut èxit
    l'emulació d'antics
    sistemes operatius
●   MS-DOS ha estat un
    dels més emulats (i
    per tant les primeres
    versions de Windows)
●   Exemples poden ser:
       –   DOSBox
       –   DOSEmu


                            Administració de Sistemes Informàtics i Xarxes
Virtualització




Virtualització




        Administració de Sistemes Informàtics i Xarxes
Virtualització completa
●   La virtualització fa referència a l'abstracció dels
    recursos d'un ordinador per crear-ne d'altres




                               Administració de Sistemes Informàtics i Xarxes
Virtualització
●   La virtualització intercepta els intents d'accedir
    al hardware de les màquines virtuals i n'emula
    el funcionament per programari
                             Escriure
                              a disc




                                   Això fa que els sistemes
                                   virtualitzats siguin més
                                    lents que els sistemes
                                   instal·lats en màquines
                                              reals


                               Administració de Sistemes Informàtics i Xarxes
Classificació
●   A grans trets es pot dividir la virtualització de
    sistemes en dues grans categories:


      Virtualització de
    sistemes operatius
          sencers




      Virtualització a
      nivell de procés



                               Administració de Sistemes Informàtics i Xarxes
Virtualització per maquinari
●   Els processadors basats en l'arquitectura x86
    han inclòs millores tècniques per millorar el
    rendiment de les VM
       –   Intel VT: Plataformes d'Intel
       –   AMD-V: Processadors d'AMD
●   El maquinari gràcies a aquestes extensions
    ajuda a incrementar el rendiment de la
    virtualització
●   En molta documentació això es coneix com
    HVM (Hardware Assisted Virtualization)


                                  Administració de Sistemes Informàtics i Xarxes
Virtualització per maquinari
●   Hi ha moltes eines que permeten comprovar si
    un processador suporta virtualització per
    hardware
       –   Securable (http://www.grc.com/securable.htm)




                                  Administració de Sistemes Informàtics i Xarxes
Virtualització per maquinari
●   En alguns processadors no està activada però
    normalment es pot activar en la BIOS




                           Administració de Sistemes Informàtics i Xarxes
Virtualització
Virtualització:




       Virtualització completa




                    Administració de Sistemes Informàtics i Xarxes
Virtualització de sistemes
●   És la més coneguda
●   Permet que es puguin executar diferents
    sistemes operatius alhora




                            Administració de Sistemes Informàtics i Xarxes
Virtualització completa
●   Són solucions que permeten executar sistemes
     operatius sense haver-los de modificar
    –   Però ha de ser un sistema compatible amb la
         plataforma usada


                                        NO
                                                          64 bits




                          32 bits
                                       SI
           Intel x86
            32 bits                                       32 bits




                                    Administració de Sistemes Informàtics i Xarxes
Virtualització completa
●   La virtualització
    completa sovint no
    vol dir simular tot el
    maquinari de l'equip
    sinó els components
    principals
     –   Els altres perifèrics
           (targetes de vídeo,
           xarxa, etc..) no es
           virtualitzen
     –   Es fan servir
          dispositius genèrics


                                 Administració de Sistemes Informàtics i Xarxes
Virtualització completa
●   El resultat és un sistema amb un rendiment
    molt superior a l'emulació
●   Tot i fer servir l'ajuda que ofereix el maquinari el
    rendiment és inferior a l'execució nativa

                          Execució
                           Nativa
       Virtualització
                                              Emulació

                             1
             2                                       3
                                 Administració de Sistemes Informàtics i Xarxes
Capa d'abstracció
●   L'abstracció dels recursos es fa a través d'un
    hipervisor o un monitor de màquines virtuals
    (VMM)




                             Administració de Sistemes Informàtics i Xarxes
Hipervisors
●   Els hipervisors es poden classificar en dos
    grans grups:

    Tipus 1: Hipervisor nadiu   Tipus 2: Hipervisor hoste




                                Administració de Sistemes Informàtics i Xarxes
Hipervisor hoste
●   S'executa sobre el sistema
    operatiu convencional
●   La virtualització es fa més
    lluny del maquinari i el
    rendiment és inferior
●   Exemples:
     –   Oracle Virtualbox
     –   VMWare Workstation
     –   VMWare Server
     –   Microsoft Virtual PC
     –   KVM
                                 Administració de Sistemes Informàtics i Xarxes
VMWare Workstation/Player /Server
●   Per plataformes x86
●   Permet executar
    múltiples instàncies
    de sistemes operatius
●   A través de drivers
    específics
    aconsegueix una
    integració
●   La versió Player i
    Server són gratuïtes


                            Administració de Sistemes Informàtics i Xarxes
Oracle VirtualBox
●   Per arquitectures x86
●   A través de drivers
    específics
    aconsegueix una
    integració
●   Té una versió GPL i
    una comercial




                             Administració de Sistemes Informàtics i Xarxes
Windows Virtual PC
●   Per plataformes x86
●   Només funciona en
    Windows 7 i
    posteriors
●   Permet simular
    sistemes Windows
    des de Windows XP
●   Gratuït per versions
    professional i
    Enterprise


                           Administració de Sistemes Informàtics i Xarxes
Mode XP
●   En els Windows 7 es
    pot instal·lar el “XP
    Mode”
●   Permet executar
    aplicacions simulant
    un XP SP3
●   Els programes
    apareixen el menú i
    s'executen en
    l'escriptori
●   Necessita Windows
    Virtual PC
                            Administració de Sistemes Informàtics i Xarxes
Hipervisor nadiu
●   S'executa directament
    sobre el maquinari real
●   Controla el maquinari i en
    monitoritzar els sistemes
    virtualitzats.
●   Exemples:
     –   VMware vSphere
     –   VMWare ESX
     –   XEN
     –   Citrix XenServer
     –   Microsoft Hyper-V Server
                                    Administració de Sistemes Informàtics i Xarxes
VMWare ESXi
●   VMware ESXi i ESX
    són hipervisors
    nadius
●   Específicament
    pensats per executar
    servidors
●   El client només
    funciona en sistemes
    Windows




                           Administració de Sistemes Informàtics i Xarxes
XEN
●   Xen pot funcionar
    com a hipervisor
    nadiu
●   La capa d'hipervisor
    sol ser Linux però pot
    ser Solaris, BSD, ...
●   Pot usar-se per:
     –   Virtualització
           completa si es té
           acceleració de
           maquinari
     –   Paravirtualització
                               Administració de Sistemes Informàtics i Xarxes
XEN
●   Xen està format per una màquina virtual que
    anomena Dom0 i una sèrie de clients (DomU)
     –   Dom0 controla el maquinari real i els clients
     –   Pot donar exclusivitat a una màquina (PCI
          passthrough)



              Dom0


                                            DomU




                                   Administració de Sistemes Informàtics i Xarxes
XEN
●   Una part dels
    sistemes en el núvol
    es basen en XEN:
    –   Amazon, Cloud.com,
         Rackspace,
         GoGrid...
    –   Gràcies al suport de
         “migració en viu”
●   O solucions de
    virtualització:
    –   Citrix Xenserver,
         Oracle VM, ...

                               Administració de Sistemes Informàtics i Xarxes
Citrix XenServer
●   XenServer és un
    hipervisor nadiu
●   Està basat en el
    funcionament de Xen
●   El client, XenCenter,
    només funciona en
    Windows però hi ha
    gestors lliures




                            Administració de Sistemes Informàtics i Xarxes
Xen Cloud Platform (XCF)
●   Solució de codi obert
    basada en XenServer                     XCF
●   Agafa com a base
    CentOS Linux
●   Fa funcions
    d'hipervisor i de
    gestió de núvols
●   Suporta virtualització
    per maquinari i
    paravirtualització
●   Sense GUI
                             Administració de Sistemes Informàtics i Xarxes
Hyper-V
●   És un hipervisor per
    sistemes de 64 bits
     –   Amb suport de
          maquinari
●   Està integrat en
    Windows 2008 Server
     –   Té una versió gratuïta
          limitada
●   Es controla amb el
    System Center Virtual
    Machine Manager

                                  Administració de Sistemes Informàtics i Xarxes
Virtualització a nivell de nucli
●   En alguns casos
    l'hipervisor és el nucli
    d'un sistema operatiu
●   Un nucli especialment
    modificat per
    gestionar i controlar
    diverses màquines
    virtuals

                                          Nucli



                               Administració de Sistemes Informàtics i Xarxes
Linux KVM
●   És un mòdul del nucli
    de Linux que permet
    virtualitzar en
    sistemes x86 amb
    virtualització per
    maquinari
●   En el nucli de Linux
    des de la versió
    2.6.20
●   De codi obert


                            Administració de Sistemes Informàtics i Xarxes
User Mode Linux (UML)
●   User-mode Linux (UML)
    és una modificació del
    nucli perquè suporti la
    seva interfície de crides
●   Permet virtualitzar
    dispositius
    –   La màquina virtual pot tenir
         hardware diferent del real
●   La màquina virtual
    s'emmagatzema en un sol
    arxiu
                                       http://user-mode-linux.sourceforge.net/


                                  Administració de Sistemes Informàtics i Xarxes
Virtualització
Virtualització:




           Paravirtualització




                     Administració de Sistemes Informàtics i Xarxes
Paravirtualització
●   Va sorgir com una forma de millorar l'eficiència
    de les màquines virtuals i acostar-la més al
    rendiment nadiu.

                         Execució
                          Nativa
    Paravirtualització
                                                  Virtualització

                            1
             2                                       3
                                    Administració de Sistemes Informàtics i Xarxes
Paravirtualització
●   Per poder fer servir la paravirtualització cal que
    el sistema virtualitzat estigui preparat per ser
    executat dins de l'hipervisor
     –   Normalment oferint una interfície en forma de
          driver que l'hipervisor podrà fer servir


                                   Driver

          Hipervisor

                                   Driver

                                  Administració de Sistemes Informàtics i Xarxes
Paravirtualització
●   Es basa en la idea de que el sistema “sap” que
    està sent virtualitzat




●   D'aquesta forma la màquina virtual pot
    col·laborar amb l'hoste
     –   No li caldrà controlar totes les instruccions
     –   Podrà executar les seves instruccions directament
          en el processador sense haver de traduir-les
                                    Administració de Sistemes Informàtics i Xarxes
XEN
●   Xen provablement és
    el més conegut dels
    sistemes
    paravirtualitzadors
●   El nucli de Linux, des
    de les versions 3.0,
    pot ser tant Dom0
    com DomU
●   També pot ser usat
    per paravirtualitzar
    Windows (DomU)

                             Administració de Sistemes Informàtics i Xarxes
Hyper-V
●   Suporta
    paravirtualització
    d'alguns sistemes
    –   La API està disponible
●   Divideix els sistemes
    operatius en
    enlightened
    (funcionen sobre
    Hyper-V directament)
    i unenlightened



                                 Administració de Sistemes Informàtics i Xarxes
Virtualització
Virtualització:




        Virtualització a nivell
         de sistema operatiu




                     Administració de Sistemes Informàtics i Xarxes
Virtualització a nivell de SO
●   Aquest tipus de virtualització és típica dels
    sistemes Unix
        –   FreeBSD Jails, Solaris Containers, ...
●   S'aprofita de la possibilitat de canviar
    dinàmicament l'arrel del sistema operatiu (el
    típic chroot)
●   Simplificant un sistema operatiu és:
        –   El nucli
        –   El sistema de fitxers arrel que té tot el necessari
              per poder ser executat (llibreries, dispositius,
              etc..)

                                   Administració de Sistemes Informàtics i Xarxes
VPS
●   La idea és fer que un nucli d'un sistema
    operatiu executi diverses instàncies aïllades de
    si mateix



                                                   En aquest
                                                  sistema de
                                               virtualització és
                                               el nucli el que fa
                                                  d'hipervisor




                             Administració de Sistemes Informàtics i Xarxes
VPS
●   Si cada execució té el seu propi sistema de
    fitxers podem fer veure que tenim sistemes
    diferents: Servidors privats Virtuals




                            Administració de Sistemes Informàtics i Xarxes
VPS
●   Les limitacions estan en que:
     –   Es comparteix el nucli del sistema operatiu i per
          tant ha de ser modificat per poder funcionar
          d'aquesta forma.
     –   Serà el nucli el que farà que cada sistema només
          vegi les seves característiques
●   Però per contra:
     –   Són molt més eficients que els hipervisors (només
          gasten els cicles de CPU que calen als
          programes per funcionar!)
     –   Fàcils de gestionar des del host


                                   Administració de Sistemes Informàtics i Xarxes
VPS
●   El rendiment dels VPS és gairebé nadiu
        –   En realitat és l'execució d'un programa nadiu
●   S'estant fent molt populars en:
        –   Virtualització de servidors
        –   Desenvolupament d'aplicacions del nucli
        –   Fer experiments
        –   Executar programari en Sandbox
●   Un problema és que un error en el kernel
    original deixar tots els servidors caiguts


                                   Administració de Sistemes Informàtics i Xarxes
LinuX Containers (LXC)
●   És virtualització a
    nivell de sistema
    operatiu per executar
    màquines aïllades en
    un host
     –   No cal modificar el
          nucli
●    No són màquines
    virtuals sinó entorns
    virtuals
●   Similar a chroot però               http://lxc.sourceforge.net/
    més aïllat
                               Administració de Sistemes Informàtics i Xarxes
Linux VServer
●   Permet virtualitzar
    sistemes Linux
     –   Nuclis modificats
●   Ho fa aïllant el nucli
    perquè pugui
    executar múltiples
    instàncies virtuals
    d'ell mateix alhora
●   Molt útil per oferir
    serveis de hosting a
    diferents clients
                                      http://linux-vserver.org

                             Administració de Sistemes Informàtics i Xarxes
OpenVZ
●   OpenVZ permet
    virtualització VPS per
    Linux
●   Basat en plantilles i
    en la modificació del
    nucli
●   Permet assignar
    dinàmicament els
    recursos (memòria,
    processador,...)


                             Administració de Sistemes Informàtics i Xarxes
Virtuozzo
●   Virtuozzo és una solució
    VPS basada en capes.
●   Permet fer migracions en
    calent, comunicació entre
    les màquines virtuals
    instal·lades
●   Es pot instal·lar en Linux i
    Windows (32/64 bits)
●   Es fa servir sobretot per
    virtualització de servidors
    web i de correu

                               Administració de Sistemes Informàtics i Xarxes
Virtualització




Virtualització parcial o de
        processos




               Administració de Sistemes Informàtics i Xarxes
Virtualització de processos
●   La idea és executar un programa aïllant-lo del
    sistema
        –   Perquè no és compatible amb l'actual o perquè
             és d'un altre sistema operatiu
        –   Per fer-li creure que té accés a zones amb
             privilegis que no té
        –   Perquè es vol saber què fa sense que afecti al
             sistema (Sandbox)




                                  Administració de Sistemes Informàtics i Xarxes
Virtualització de processos
●   Windows pot
    virtualitzar processos
     –   Fa creure als
          programes que
          tenen accés al
          registre o a zones
          del disc protegides
     –   Incrementa la
           compatibilitat amb
           d'aplicacions
           antigues
●   També ho pot fer amb
    “XP Mode”
                                Administració de Sistemes Informàtics i Xarxes
Virtualització parcial
●   Es basen en intentar millorar el rendiment de la
    virtualització no emulant tot el sistema operatiu.
●   La idea és virtualitzar des del punt de vista de
    l'aplicació.
     –   No cal virtualitzar-ho tot sinó només el que cal per
          enganyar al programa perquè ho cregui




                                   Administració de Sistemes Informàtics i Xarxes
WINE
●   Wine es basa en la
    reescriptura de les
    llibreries de l'API de
    Windows
●   Permet executar
    programes Windows
    des d'altres sistemes
●   No emula el sistema
    operatiu sinó que
    simula algunes
    llibreries                           http://www.winehq.org/



                             Administració de Sistemes Informàtics i Xarxes
Cooperative Linux
●   Modificació del nucli
    de Linux per ser
    executat en espai
    d'usuari de Windows
●   Només funciona en                    http://www.colinux.org/

    versions de 32 bits
●   Desenvolupen una
    versió de Debian
     –   Però és fàcil trobar
          enllaços a altres
          distribucions


                                  Administració de Sistemes Informàtics i Xarxes
andLinux
●   Versió Ubuntu que es
    pot executar en
    sistemes Windows de
    32 bits
●   Té el nucli de
    CoLinux
●   Permet executar
    aplicacions Linux
    sense cap
    modificació

                                      http://andlinux.org/

                           Administració de Sistemes Informàtics i Xarxes

Contenu connexe

Similaire à Virtualització (20)

Virtualització
VirtualitzacióVirtualització
Virtualització
 
Virtualització
VirtualitzacióVirtualització
Virtualització
 
M2b
M2bM2b
M2b
 
Virtualització (2 part)
Virtualització (2 part)Virtualització (2 part)
Virtualització (2 part)
 
M2sistemesvirtuals2
M2sistemesvirtuals2M2sistemesvirtuals2
M2sistemesvirtuals2
 
M2sistemesvirtualsFINAL
M2sistemesvirtualsFINALM2sistemesvirtualsFINAL
M2sistemesvirtualsFINAL
 
Virtualització
VirtualitzacióVirtualització
Virtualització
 
M2sistemesvirtualsFINAL2
M2sistemesvirtualsFINAL2M2sistemesvirtualsFINAL2
M2sistemesvirtualsFINAL2
 
Xarxes Amb Linux
Xarxes Amb LinuxXarxes Amb Linux
Xarxes Amb Linux
 
Xarxes Amb Linux
Xarxes Amb LinuxXarxes Amb Linux
Xarxes Amb Linux
 
Virtualitzacio
VirtualitzacioVirtualitzacio
Virtualitzacio
 
Informatica 2012
Informatica 2012Informatica 2012
Informatica 2012
 
Virtualbox (1).pdf
Virtualbox (1).pdfVirtualbox (1).pdf
Virtualbox (1).pdf
 
Presentació Ingent Network
Presentació Ingent NetworkPresentació Ingent Network
Presentació Ingent Network
 
Presentació d'Ingent Network
Presentació d'Ingent NetworkPresentació d'Ingent Network
Presentació d'Ingent Network
 
Impres apunts
Impres apuntsImpres apunts
Impres apunts
 
L'ordinador
L'ordinadorL'ordinador
L'ordinador
 
L'ordinador
L'ordinadorL'ordinador
L'ordinador
 
L'ordinador
L'ordinadorL'ordinador
L'ordinador
 
Arquitectura dels ordinadors
Arquitectura dels ordinadorsArquitectura dels ordinadors
Arquitectura dels ordinadors
 

Plus de Xavier Sala Pujolar (20)

Fer App mòbils amb tecnologia web
Fer App mòbils amb tecnologia webFer App mòbils amb tecnologia web
Fer App mòbils amb tecnologia web
 
Expressions regulars en Java
Expressions regulars en JavaExpressions regulars en Java
Expressions regulars en Java
 
Selenium web driver in Java
Selenium web driver in JavaSelenium web driver in Java
Selenium web driver in Java
 
Introducció a Docker
Introducció a DockerIntroducció a Docker
Introducció a Docker
 
Introducció a Java Collections
Introducció a Java CollectionsIntroducció a Java Collections
Introducció a Java Collections
 
Git
GitGit
Git
 
Validació de Documents XML amb XSD
Validació de Documents XML amb XSDValidació de Documents XML amb XSD
Validació de Documents XML amb XSD
 
Subversion
SubversionSubversion
Subversion
 
Criptografia
CriptografiaCriptografia
Criptografia
 
RIP
RIPRIP
RIP
 
OSPF
OSPFOSPF
OSPF
 
Openldap
OpenldapOpenldap
Openldap
 
Llei de Serveis de la Societat de la Informació (LSSI)
Llei de Serveis de la Societat de la Informació (LSSI)Llei de Serveis de la Societat de la Informació (LSSI)
Llei de Serveis de la Societat de la Informació (LSSI)
 
Llei de Protecció de dades de caràcter personal (LOPD)
Llei de Protecció de dades de caràcter personal (LOPD)Llei de Protecció de dades de caràcter personal (LOPD)
Llei de Protecció de dades de caràcter personal (LOPD)
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Enginyeria social
Enginyeria socialEnginyeria social
Enginyeria social
 
Css en XML
Css en XMLCss en XML
Css en XML
 
Creació de documents xml
Creació de documents xmlCreació de documents xml
Creació de documents xml
 
Introducció a xml
Introducció a xmlIntroducció a xml
Introducció a xml
 
Programació de sockets amb C++
Programació de sockets amb C++Programació de sockets amb C++
Programació de sockets amb C++
 

Virtualització

  • 1. Seguretat Informàtica UF4 Alta disponibilitat – Part 2 Virtualització Xavier Sala Pujolar Institut Cendrassos
  • 2. Introducció ● Des de fa molt de temps en Informàtica s'ha intentat fer servir l'ordinador per simular sistemes diferents del que es té... Administració de Sistemes Informàtics i Xarxes
  • 3. Tipus ● Es fan servir diferents tècniques per simular els sistemes: Emulació Virtualització completa Virtualització Paravirtualització Virtualització Virtualització a nivell de SO parcial Administració de Sistemes Informàtics i Xarxes
  • 4. Virtualització Emuladors Administració de Sistemes Informàtics i Xarxes
  • 5. Emuladors ● Es basa en crear programes que emulen el funcionament d'una o diverses plataformes de maquinari – Normalment per aconseguir executar programes que només s'executen en aquestes plataformes Administració de Sistemes Informàtics i Xarxes
  • 6. Emulació ● És el tipus de virtualització més costosa i per tant la menys eficient – Obliga a simular completament per software qualsevol aspecte del maquinari a simular – Com que s'ha de traduir tot el resultat és força lent ● Però també ofereix alguns avantatges: – Pot executar sistemes operatius dissenyats per altres plataformes sense modificar-los – Permet desenvolupar firmware per dispositius hardware sense tenir el maquinari real Administració de Sistemes Informàtics i Xarxes
  • 7. Bochs ● Emulador de PC de codi lliure ● Funciona en arquitectures x86 de 32 i 64 bits ● Pot executar la major part dels sistemes operatius emulant-los http://bochs.sourceforge.net/ Administració de Sistemes Informàtics i Xarxes
  • 8. QEmu ● QEMU és un emulador i virtualitzador de codi obert ● Pot emular diferents plataformes com x86, x86-64, PowerPC, SPARC o MIPS. ● Amb Xen i KVM pot funcionar com virtualitzador Administració de Sistemes Informàtics i Xarxes
  • 9. MAME ● Un dels camps en que els emuladors són més populars és en l'emulació de jocs ● El Multiple Arcade Machine Emulator (MAME) és un emulador de màquines recreatives – Funciona a partir de volcats de les ROM originals Administració de Sistemes Informàtics i Xarxes
  • 10. DOSBOX i DOSEmu ● També ha tingut èxit l'emulació d'antics sistemes operatius ● MS-DOS ha estat un dels més emulats (i per tant les primeres versions de Windows) ● Exemples poden ser: – DOSBox – DOSEmu Administració de Sistemes Informàtics i Xarxes
  • 11. Virtualització Virtualització Administració de Sistemes Informàtics i Xarxes
  • 12. Virtualització completa ● La virtualització fa referència a l'abstracció dels recursos d'un ordinador per crear-ne d'altres Administració de Sistemes Informàtics i Xarxes
  • 13. Virtualització ● La virtualització intercepta els intents d'accedir al hardware de les màquines virtuals i n'emula el funcionament per programari Escriure a disc Això fa que els sistemes virtualitzats siguin més lents que els sistemes instal·lats en màquines reals Administració de Sistemes Informàtics i Xarxes
  • 14. Classificació ● A grans trets es pot dividir la virtualització de sistemes en dues grans categories: Virtualització de sistemes operatius sencers Virtualització a nivell de procés Administració de Sistemes Informàtics i Xarxes
  • 15. Virtualització per maquinari ● Els processadors basats en l'arquitectura x86 han inclòs millores tècniques per millorar el rendiment de les VM – Intel VT: Plataformes d'Intel – AMD-V: Processadors d'AMD ● El maquinari gràcies a aquestes extensions ajuda a incrementar el rendiment de la virtualització ● En molta documentació això es coneix com HVM (Hardware Assisted Virtualization) Administració de Sistemes Informàtics i Xarxes
  • 16. Virtualització per maquinari ● Hi ha moltes eines que permeten comprovar si un processador suporta virtualització per hardware – Securable (http://www.grc.com/securable.htm) Administració de Sistemes Informàtics i Xarxes
  • 17. Virtualització per maquinari ● En alguns processadors no està activada però normalment es pot activar en la BIOS Administració de Sistemes Informàtics i Xarxes
  • 18. Virtualització Virtualització: Virtualització completa Administració de Sistemes Informàtics i Xarxes
  • 19. Virtualització de sistemes ● És la més coneguda ● Permet que es puguin executar diferents sistemes operatius alhora Administració de Sistemes Informàtics i Xarxes
  • 20. Virtualització completa ● Són solucions que permeten executar sistemes operatius sense haver-los de modificar – Però ha de ser un sistema compatible amb la plataforma usada NO 64 bits 32 bits SI Intel x86 32 bits 32 bits Administració de Sistemes Informàtics i Xarxes
  • 21. Virtualització completa ● La virtualització completa sovint no vol dir simular tot el maquinari de l'equip sinó els components principals – Els altres perifèrics (targetes de vídeo, xarxa, etc..) no es virtualitzen – Es fan servir dispositius genèrics Administració de Sistemes Informàtics i Xarxes
  • 22. Virtualització completa ● El resultat és un sistema amb un rendiment molt superior a l'emulació ● Tot i fer servir l'ajuda que ofereix el maquinari el rendiment és inferior a l'execució nativa Execució Nativa Virtualització Emulació 1 2 3 Administració de Sistemes Informàtics i Xarxes
  • 23. Capa d'abstracció ● L'abstracció dels recursos es fa a través d'un hipervisor o un monitor de màquines virtuals (VMM) Administració de Sistemes Informàtics i Xarxes
  • 24. Hipervisors ● Els hipervisors es poden classificar en dos grans grups: Tipus 1: Hipervisor nadiu Tipus 2: Hipervisor hoste Administració de Sistemes Informàtics i Xarxes
  • 25. Hipervisor hoste ● S'executa sobre el sistema operatiu convencional ● La virtualització es fa més lluny del maquinari i el rendiment és inferior ● Exemples: – Oracle Virtualbox – VMWare Workstation – VMWare Server – Microsoft Virtual PC – KVM Administració de Sistemes Informàtics i Xarxes
  • 26. VMWare Workstation/Player /Server ● Per plataformes x86 ● Permet executar múltiples instàncies de sistemes operatius ● A través de drivers específics aconsegueix una integració ● La versió Player i Server són gratuïtes Administració de Sistemes Informàtics i Xarxes
  • 27. Oracle VirtualBox ● Per arquitectures x86 ● A través de drivers específics aconsegueix una integració ● Té una versió GPL i una comercial Administració de Sistemes Informàtics i Xarxes
  • 28. Windows Virtual PC ● Per plataformes x86 ● Només funciona en Windows 7 i posteriors ● Permet simular sistemes Windows des de Windows XP ● Gratuït per versions professional i Enterprise Administració de Sistemes Informàtics i Xarxes
  • 29. Mode XP ● En els Windows 7 es pot instal·lar el “XP Mode” ● Permet executar aplicacions simulant un XP SP3 ● Els programes apareixen el menú i s'executen en l'escriptori ● Necessita Windows Virtual PC Administració de Sistemes Informàtics i Xarxes
  • 30. Hipervisor nadiu ● S'executa directament sobre el maquinari real ● Controla el maquinari i en monitoritzar els sistemes virtualitzats. ● Exemples: – VMware vSphere – VMWare ESX – XEN – Citrix XenServer – Microsoft Hyper-V Server Administració de Sistemes Informàtics i Xarxes
  • 31. VMWare ESXi ● VMware ESXi i ESX són hipervisors nadius ● Específicament pensats per executar servidors ● El client només funciona en sistemes Windows Administració de Sistemes Informàtics i Xarxes
  • 32. XEN ● Xen pot funcionar com a hipervisor nadiu ● La capa d'hipervisor sol ser Linux però pot ser Solaris, BSD, ... ● Pot usar-se per: – Virtualització completa si es té acceleració de maquinari – Paravirtualització Administració de Sistemes Informàtics i Xarxes
  • 33. XEN ● Xen està format per una màquina virtual que anomena Dom0 i una sèrie de clients (DomU) – Dom0 controla el maquinari real i els clients – Pot donar exclusivitat a una màquina (PCI passthrough) Dom0 DomU Administració de Sistemes Informàtics i Xarxes
  • 34. XEN ● Una part dels sistemes en el núvol es basen en XEN: – Amazon, Cloud.com, Rackspace, GoGrid... – Gràcies al suport de “migració en viu” ● O solucions de virtualització: – Citrix Xenserver, Oracle VM, ... Administració de Sistemes Informàtics i Xarxes
  • 35. Citrix XenServer ● XenServer és un hipervisor nadiu ● Està basat en el funcionament de Xen ● El client, XenCenter, només funciona en Windows però hi ha gestors lliures Administració de Sistemes Informàtics i Xarxes
  • 36. Xen Cloud Platform (XCF) ● Solució de codi obert basada en XenServer XCF ● Agafa com a base CentOS Linux ● Fa funcions d'hipervisor i de gestió de núvols ● Suporta virtualització per maquinari i paravirtualització ● Sense GUI Administració de Sistemes Informàtics i Xarxes
  • 37. Hyper-V ● És un hipervisor per sistemes de 64 bits – Amb suport de maquinari ● Està integrat en Windows 2008 Server – Té una versió gratuïta limitada ● Es controla amb el System Center Virtual Machine Manager Administració de Sistemes Informàtics i Xarxes
  • 38. Virtualització a nivell de nucli ● En alguns casos l'hipervisor és el nucli d'un sistema operatiu ● Un nucli especialment modificat per gestionar i controlar diverses màquines virtuals Nucli Administració de Sistemes Informàtics i Xarxes
  • 39. Linux KVM ● És un mòdul del nucli de Linux que permet virtualitzar en sistemes x86 amb virtualització per maquinari ● En el nucli de Linux des de la versió 2.6.20 ● De codi obert Administració de Sistemes Informàtics i Xarxes
  • 40. User Mode Linux (UML) ● User-mode Linux (UML) és una modificació del nucli perquè suporti la seva interfície de crides ● Permet virtualitzar dispositius – La màquina virtual pot tenir hardware diferent del real ● La màquina virtual s'emmagatzema en un sol arxiu http://user-mode-linux.sourceforge.net/ Administració de Sistemes Informàtics i Xarxes
  • 41. Virtualització Virtualització: Paravirtualització Administració de Sistemes Informàtics i Xarxes
  • 42. Paravirtualització ● Va sorgir com una forma de millorar l'eficiència de les màquines virtuals i acostar-la més al rendiment nadiu. Execució Nativa Paravirtualització Virtualització 1 2 3 Administració de Sistemes Informàtics i Xarxes
  • 43. Paravirtualització ● Per poder fer servir la paravirtualització cal que el sistema virtualitzat estigui preparat per ser executat dins de l'hipervisor – Normalment oferint una interfície en forma de driver que l'hipervisor podrà fer servir Driver Hipervisor Driver Administració de Sistemes Informàtics i Xarxes
  • 44. Paravirtualització ● Es basa en la idea de que el sistema “sap” que està sent virtualitzat ● D'aquesta forma la màquina virtual pot col·laborar amb l'hoste – No li caldrà controlar totes les instruccions – Podrà executar les seves instruccions directament en el processador sense haver de traduir-les Administració de Sistemes Informàtics i Xarxes
  • 45. XEN ● Xen provablement és el més conegut dels sistemes paravirtualitzadors ● El nucli de Linux, des de les versions 3.0, pot ser tant Dom0 com DomU ● També pot ser usat per paravirtualitzar Windows (DomU) Administració de Sistemes Informàtics i Xarxes
  • 46. Hyper-V ● Suporta paravirtualització d'alguns sistemes – La API està disponible ● Divideix els sistemes operatius en enlightened (funcionen sobre Hyper-V directament) i unenlightened Administració de Sistemes Informàtics i Xarxes
  • 47. Virtualització Virtualització: Virtualització a nivell de sistema operatiu Administració de Sistemes Informàtics i Xarxes
  • 48. Virtualització a nivell de SO ● Aquest tipus de virtualització és típica dels sistemes Unix – FreeBSD Jails, Solaris Containers, ... ● S'aprofita de la possibilitat de canviar dinàmicament l'arrel del sistema operatiu (el típic chroot) ● Simplificant un sistema operatiu és: – El nucli – El sistema de fitxers arrel que té tot el necessari per poder ser executat (llibreries, dispositius, etc..) Administració de Sistemes Informàtics i Xarxes
  • 49. VPS ● La idea és fer que un nucli d'un sistema operatiu executi diverses instàncies aïllades de si mateix En aquest sistema de virtualització és el nucli el que fa d'hipervisor Administració de Sistemes Informàtics i Xarxes
  • 50. VPS ● Si cada execució té el seu propi sistema de fitxers podem fer veure que tenim sistemes diferents: Servidors privats Virtuals Administració de Sistemes Informàtics i Xarxes
  • 51. VPS ● Les limitacions estan en que: – Es comparteix el nucli del sistema operatiu i per tant ha de ser modificat per poder funcionar d'aquesta forma. – Serà el nucli el que farà que cada sistema només vegi les seves característiques ● Però per contra: – Són molt més eficients que els hipervisors (només gasten els cicles de CPU que calen als programes per funcionar!) – Fàcils de gestionar des del host Administració de Sistemes Informàtics i Xarxes
  • 52. VPS ● El rendiment dels VPS és gairebé nadiu – En realitat és l'execució d'un programa nadiu ● S'estant fent molt populars en: – Virtualització de servidors – Desenvolupament d'aplicacions del nucli – Fer experiments – Executar programari en Sandbox ● Un problema és que un error en el kernel original deixar tots els servidors caiguts Administració de Sistemes Informàtics i Xarxes
  • 53. LinuX Containers (LXC) ● És virtualització a nivell de sistema operatiu per executar màquines aïllades en un host – No cal modificar el nucli ● No són màquines virtuals sinó entorns virtuals ● Similar a chroot però http://lxc.sourceforge.net/ més aïllat Administració de Sistemes Informàtics i Xarxes
  • 54. Linux VServer ● Permet virtualitzar sistemes Linux – Nuclis modificats ● Ho fa aïllant el nucli perquè pugui executar múltiples instàncies virtuals d'ell mateix alhora ● Molt útil per oferir serveis de hosting a diferents clients http://linux-vserver.org Administració de Sistemes Informàtics i Xarxes
  • 55. OpenVZ ● OpenVZ permet virtualització VPS per Linux ● Basat en plantilles i en la modificació del nucli ● Permet assignar dinàmicament els recursos (memòria, processador,...) Administració de Sistemes Informàtics i Xarxes
  • 56. Virtuozzo ● Virtuozzo és una solució VPS basada en capes. ● Permet fer migracions en calent, comunicació entre les màquines virtuals instal·lades ● Es pot instal·lar en Linux i Windows (32/64 bits) ● Es fa servir sobretot per virtualització de servidors web i de correu Administració de Sistemes Informàtics i Xarxes
  • 57. Virtualització Virtualització parcial o de processos Administració de Sistemes Informàtics i Xarxes
  • 58. Virtualització de processos ● La idea és executar un programa aïllant-lo del sistema – Perquè no és compatible amb l'actual o perquè és d'un altre sistema operatiu – Per fer-li creure que té accés a zones amb privilegis que no té – Perquè es vol saber què fa sense que afecti al sistema (Sandbox) Administració de Sistemes Informàtics i Xarxes
  • 59. Virtualització de processos ● Windows pot virtualitzar processos – Fa creure als programes que tenen accés al registre o a zones del disc protegides – Incrementa la compatibilitat amb d'aplicacions antigues ● També ho pot fer amb “XP Mode” Administració de Sistemes Informàtics i Xarxes
  • 60. Virtualització parcial ● Es basen en intentar millorar el rendiment de la virtualització no emulant tot el sistema operatiu. ● La idea és virtualitzar des del punt de vista de l'aplicació. – No cal virtualitzar-ho tot sinó només el que cal per enganyar al programa perquè ho cregui Administració de Sistemes Informàtics i Xarxes
  • 61. WINE ● Wine es basa en la reescriptura de les llibreries de l'API de Windows ● Permet executar programes Windows des d'altres sistemes ● No emula el sistema operatiu sinó que simula algunes llibreries http://www.winehq.org/ Administració de Sistemes Informàtics i Xarxes
  • 62. Cooperative Linux ● Modificació del nucli de Linux per ser executat en espai d'usuari de Windows ● Només funciona en http://www.colinux.org/ versions de 32 bits ● Desenvolupen una versió de Debian – Però és fàcil trobar enllaços a altres distribucions Administració de Sistemes Informàtics i Xarxes
  • 63. andLinux ● Versió Ubuntu que es pot executar en sistemes Windows de 32 bits ● Té el nucli de CoLinux ● Permet executar aplicacions Linux sense cap modificació http://andlinux.org/ Administració de Sistemes Informàtics i Xarxes