KVM - KERNEL BASED VIRTUAL
MACHINE



Realizado por Alina Guerrero
INTRODUCCIÓN
   Las Máquinas Virtuales constituyen un sistema de
    software que ofrece una copia exacta del hardware
    sobre el cual se están ejecutando.

   Este enfoque permite que se ejecuten, de manera
    concurrente, varios Sistemas Operativos en una
    misma plataforma de hardware, permitiendo así
    aprovechar al máximo los recursos de hardware
    disponibles, hacer uso de software diseñado para
    otras plataformas, ahorrar costos, entre otras
    ventajas.
CONTENIDO
 Definición
 Qemu

 Características

 Requerimientos

 Limitaciones

 Arquitectura

 Instalación

 Creación de máquinas virtuales
DEFINICIÓN
   KVM, Máquina Virtual Basada en el Núcleo, es una
    solución     de    software    para     implementar
    virtualización con Linux, siendo en su totalidad
    software libre. El componente KVM para el núcleo
    está incluido en Linux desde la versión 2.6.20.

   KVM fue creado, y está mantenido, por Qumranet.
DEFINICIÓN

   En sus inicios fue una variante de QEMU, y el
    desarrollo de KVM y QEMU continuó en paralelo
    durante algún tiempo.

   Esta aplicación necesita soporte de hardware para
    ejecutar la virtualización, ya sea con procesadores
    de Intel o de AMD.
QEMU
   Qemu es un emulador de procesadores basado en la
    traducción dinámica de binarios.

   El objetivo principal es emular un sistema operativo dentro de
    otro sin tener que reparticionar el disco duro.

   KVM lo utiliza como su hypervisor, en una versión modificada.
CARACTERÍSTICAS
   KVM permite ejecutar máquinas virtuales utilizando
    imágenes de disco que contienen sistemas
    operativos sin modificar.

   Cada máquina virtual tiene su propio hardware
    virtualizado.

   Posibilidad de sobreasignar recursos físicos para
    huéspedes virtualizados.

   Opción de virtualización de código abierto.
CARACTERÍSTICAS
   Se compone específicamente de:

     Módulo de kernel, kvm.ko, que proporciona la
      infraestructura de virtualización de base.
     Módulo de procesador específico, kvm intel.ko o kvm
      amd.ko.


   KVM utiliza Virt-Manager como administrador de máquinas
    virtuales y Qemu como hypervisor.
REQUERIMIENTOS
   Requerimientos mínimos del sistema

     6GB de espacio de disco libre
     2GB de RAM


   Requerimientos recomendados del sistema

     6GB, más el espacio de disco requerido por el sistema
      operativo huésped.
     Un núcleo de procesador o hiper-hilo para cada CPU
      virtualizada y para el hypervisor.
     2 GB de RAM, y RAM adicional para los huéspedes
      virtualizados.
REQUERIMIENTOS
   Requerimientos de KVM
    El hypervisor KVM requiere:

        Procesador x86, o x86_64, con soporte para virtualización. La
         tecnología de virtualización recibe la denominación VT en Intel y
         SVM en AMD.

        Soporta también procesadores PPC 440, PPC 970, y S/390 de
         IBM.
LIMITACIONES
   Sobre envío de memoria:
      KVM soporta sobrecarga de memoria y puede almacenar la memoria de
       los huéspedes en swap.
      Un huésped se ejecutará más lento si es intercambiado con frecuencia.


   Sobrecarga de CPU:
      No más de 10 CPU virtuales por núcleo de procesador físico.


   Dispositivos virtualizados SCSI:
      Las emulaciones SCSI se encuentran limitadas a 16 dispositivos.


   Dispositivos IDE virtualizados:
      Limitado a un máximo de 4 dispositivos IDE por huésped.
ARQUITECTURA
INSTALACIÓN
   Para instalar KVM lo primero que debemos saber es si
    nuestro procesador es compatible. Para ello introduciremos
    los siguientes comandos (ejemplo: Ubuntu 9.04):




   Si tenemos soporte, instalamos los paquetes necesarios:
INSTALACIÓN
   Para poder administrar KVM debemos ingresar el usuario
    administrador al grupo libvird, para ello escribimos:




   y también lo agregamos al grupo kvm:
CREACIÓN DE MÁQUINAS VIRTUALES
   Virt-manager es una aplicación de escritorio para
    administrar máquinas virtuales.

   Esta aplicación nos muestra todas las máquinas
    virtuales que están corriendo, mostrando el
    rendimiento y sus estadísticas.

   Ejecutamos el Virt-manager
CREACIÓN DE MÁQUINAS VIRTUALES




   Conectar el host.
CREACIÓN DE MÁQUINAS VIRTUALES
   Una vez conectados al host,
    se nos habilitará el botón
    “Nuevo”, que nos permitirá
    crear una máquina virtual.


   Accedemos al Asistente para
    la creación de máquinas
    virtuales.
CREACIÓN DE MÁQUINAS VIRTUALES
   Debemos ingresar el nombre para la nueva
    máquina virtual.
CREACIÓN DE MÁQUINAS VIRTUALES
   Continuamos eligiendo el tipo de virtualización.
CREACIÓN DE MÁQUINAS VIRTUALES
   Los siguientes pasos serán elegir entre 3 métodos para instalar el
    nuevo sistema operativo:
      Imagen ISO.
      CD-ROM o DVD.
      Booteo por red.


   Elegir el Sistema Operativo a instalar y su tipo.


   Escoger un disco de almacenamiento, deberemos especificar el
    tamaño máximo que tendrá.


   Especificar la cantidad de memoria RAM y el número de CPU’s.
CREACIÓN DE MÁQUINAS VIRTUALES
CREACIÓN DE MÁQUINAS VIRTUALES
CREACIÓN DE MÁQUINAS VIRTUALES
   Una vez creada la máquina virtual podremos inatalar el
    sistema operativo que hayamos elegido al igual que lo
    haríamos con un ordenador cualquiera.
CREACIÓN DE MÁQUINAS VIRTUALES
   KVM permite ver las máquinas virtuales corriendo en el
    sistema, su rendimiento, agregar dispositivos de hardware,
    entre otras opciones.
CONCLUSIÓN

   KVM ha reducido las barreras de adopción de
    virtualización en las empresas; ya que ofrece
    seguridad, escalabilidad y alto rendimiento,
    reduciendo los costos, de modo que se llega a ver
    en la virtualización una solución mucho más viable.
    El uso de KVM es sencillo, el rendimiento
    proporcionado es alto, por lo que su uso es
    recomendado ampliamente.
REFERENCIAS
   http://www.ibm.com/developerworks/ssa/linux/library/l-kvm-virtual-
    server/index.html


   http://www.genbeta.com/a-fondo/virtualizacion-con-kvm-virtualizacion-
    de-codigo-abierto


   http://es.wikipedia.org/wiki/Kernel-based_Virtual_Machine


   http://docs.fedoraproject.org/es-
    ES/Fedora/13/html/Virtualization_Guide/chap-Virtualization-
    System_requirements.html


   http://wiki.qemu.org/KVM


   http://es.wikipedia.org/wiki/QEMU

KVM Kernel Based Virtual Machine

  • 1.
    KVM - KERNELBASED VIRTUAL MACHINE Realizado por Alina Guerrero
  • 2.
    INTRODUCCIÓN  Las Máquinas Virtuales constituyen un sistema de software que ofrece una copia exacta del hardware sobre el cual se están ejecutando.  Este enfoque permite que se ejecuten, de manera concurrente, varios Sistemas Operativos en una misma plataforma de hardware, permitiendo así aprovechar al máximo los recursos de hardware disponibles, hacer uso de software diseñado para otras plataformas, ahorrar costos, entre otras ventajas.
  • 3.
    CONTENIDO  Definición  Qemu Características  Requerimientos  Limitaciones  Arquitectura  Instalación  Creación de máquinas virtuales
  • 4.
    DEFINICIÓN  KVM, Máquina Virtual Basada en el Núcleo, es una solución de software para implementar virtualización con Linux, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.  KVM fue creado, y está mantenido, por Qumranet.
  • 5.
    DEFINICIÓN  En sus inicios fue una variante de QEMU, y el desarrollo de KVM y QEMU continuó en paralelo durante algún tiempo.  Esta aplicación necesita soporte de hardware para ejecutar la virtualización, ya sea con procesadores de Intel o de AMD.
  • 6.
    QEMU  Qemu es un emulador de procesadores basado en la traducción dinámica de binarios.  El objetivo principal es emular un sistema operativo dentro de otro sin tener que reparticionar el disco duro.  KVM lo utiliza como su hypervisor, en una versión modificada.
  • 7.
    CARACTERÍSTICAS  KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas operativos sin modificar.  Cada máquina virtual tiene su propio hardware virtualizado.  Posibilidad de sobreasignar recursos físicos para huéspedes virtualizados.  Opción de virtualización de código abierto.
  • 8.
    CARACTERÍSTICAS  Se compone específicamente de:  Módulo de kernel, kvm.ko, que proporciona la infraestructura de virtualización de base.  Módulo de procesador específico, kvm intel.ko o kvm amd.ko.  KVM utiliza Virt-Manager como administrador de máquinas virtuales y Qemu como hypervisor.
  • 9.
    REQUERIMIENTOS  Requerimientos mínimos del sistema  6GB de espacio de disco libre  2GB de RAM  Requerimientos recomendados del sistema  6GB, más el espacio de disco requerido por el sistema operativo huésped.  Un núcleo de procesador o hiper-hilo para cada CPU virtualizada y para el hypervisor.  2 GB de RAM, y RAM adicional para los huéspedes virtualizados.
  • 10.
    REQUERIMIENTOS  Requerimientos de KVM El hypervisor KVM requiere:  Procesador x86, o x86_64, con soporte para virtualización. La tecnología de virtualización recibe la denominación VT en Intel y SVM en AMD.  Soporta también procesadores PPC 440, PPC 970, y S/390 de IBM.
  • 11.
    LIMITACIONES  Sobre envío de memoria:  KVM soporta sobrecarga de memoria y puede almacenar la memoria de los huéspedes en swap.  Un huésped se ejecutará más lento si es intercambiado con frecuencia.  Sobrecarga de CPU:  No más de 10 CPU virtuales por núcleo de procesador físico.  Dispositivos virtualizados SCSI:  Las emulaciones SCSI se encuentran limitadas a 16 dispositivos.  Dispositivos IDE virtualizados:  Limitado a un máximo de 4 dispositivos IDE por huésped.
  • 12.
  • 13.
    INSTALACIÓN  Para instalar KVM lo primero que debemos saber es si nuestro procesador es compatible. Para ello introduciremos los siguientes comandos (ejemplo: Ubuntu 9.04):  Si tenemos soporte, instalamos los paquetes necesarios:
  • 14.
    INSTALACIÓN  Para poder administrar KVM debemos ingresar el usuario administrador al grupo libvird, para ello escribimos:  y también lo agregamos al grupo kvm:
  • 15.
    CREACIÓN DE MÁQUINASVIRTUALES  Virt-manager es una aplicación de escritorio para administrar máquinas virtuales.  Esta aplicación nos muestra todas las máquinas virtuales que están corriendo, mostrando el rendimiento y sus estadísticas.  Ejecutamos el Virt-manager
  • 16.
    CREACIÓN DE MÁQUINASVIRTUALES  Conectar el host.
  • 17.
    CREACIÓN DE MÁQUINASVIRTUALES  Una vez conectados al host, se nos habilitará el botón “Nuevo”, que nos permitirá crear una máquina virtual.  Accedemos al Asistente para la creación de máquinas virtuales.
  • 18.
    CREACIÓN DE MÁQUINASVIRTUALES  Debemos ingresar el nombre para la nueva máquina virtual.
  • 19.
    CREACIÓN DE MÁQUINASVIRTUALES  Continuamos eligiendo el tipo de virtualización.
  • 20.
    CREACIÓN DE MÁQUINASVIRTUALES  Los siguientes pasos serán elegir entre 3 métodos para instalar el nuevo sistema operativo:  Imagen ISO.  CD-ROM o DVD.  Booteo por red.  Elegir el Sistema Operativo a instalar y su tipo.  Escoger un disco de almacenamiento, deberemos especificar el tamaño máximo que tendrá.  Especificar la cantidad de memoria RAM y el número de CPU’s.
  • 21.
  • 22.
  • 23.
    CREACIÓN DE MÁQUINASVIRTUALES  Una vez creada la máquina virtual podremos inatalar el sistema operativo que hayamos elegido al igual que lo haríamos con un ordenador cualquiera.
  • 24.
    CREACIÓN DE MÁQUINASVIRTUALES  KVM permite ver las máquinas virtuales corriendo en el sistema, su rendimiento, agregar dispositivos de hardware, entre otras opciones.
  • 25.
    CONCLUSIÓN  KVM ha reducido las barreras de adopción de virtualización en las empresas; ya que ofrece seguridad, escalabilidad y alto rendimiento, reduciendo los costos, de modo que se llega a ver en la virtualización una solución mucho más viable. El uso de KVM es sencillo, el rendimiento proporcionado es alto, por lo que su uso es recomendado ampliamente.
  • 26.
    REFERENCIAS  http://www.ibm.com/developerworks/ssa/linux/library/l-kvm-virtual- server/index.html  http://www.genbeta.com/a-fondo/virtualizacion-con-kvm-virtualizacion- de-codigo-abierto  http://es.wikipedia.org/wiki/Kernel-based_Virtual_Machine  http://docs.fedoraproject.org/es- ES/Fedora/13/html/Virtualization_Guide/chap-Virtualization- System_requirements.html  http://wiki.qemu.org/KVM  http://es.wikipedia.org/wiki/QEMU