SlideShare a Scribd company logo
1 of 16
UNIVERSIDAD DE TARAPACÁ
ESCUELA UNIVERSITARIA DE INGENIERÍA INDUSTRIAL,
INFORMÁTICA Y DE SISTEMAS
Área de Ingeniería en Computación e Informática
Informe Laboratorio
Kernel-based Virtual Machine (KVM)
Elaborado por :
Profesor :
Cátedra : Taller de Servicios
en Red
Arica, 4 de Mayo del 2012
Índice
Resumen....................................................................................................................................................3
Introducción..............................................................................................................................................3
I. Marco Teórico de la Virtualización.......................................................................................................4
II. Kernel-based Vitual Machine (KVM)..................................................................................................5
2.1 Sobre KVM.....................................................................................................................................5
2.2 Instalación y configuración previa..................................................................................................7
2.3 Configuraciones para una Máquina virtual.....................................................................................8
2.4 Complementos para la virtualización............................................................................................13
Conclusiones...........................................................................................................................................15
Bibliografía.............................................................................................................................................16
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 2
Resumen
El presente describe la experiencia realizada en laboratorio, que consistió en implementar
KVM en una distribución Linux, en este caso Ubuntu. KVM es una herramienta de
virtualización opensource.
El informe inicia presentando el marco teórico acerca de la virtualización, luego se
profundiza en el modo de operación de KVM, siguiendo con la instalación y configuración de
KVM, y de una máquina virtual de prueba, finalizando con las conclusiones del tema.
Introducción
Una de las innovaciones más importantes de Linux es su transformación a hipervisor (o
sistema operativo de otros sistemas operativos). Han aparecido una serie de soluciones de
hipervisor que usan Linux como núcleo.
KVM (Kernel-based Virtual Machine) es una herramienta de virtualización open source que
esta implementada como un módulo cargable en el kernel linux, convirtiendo a este último
en hipervisor.
A continuación se describirán los aspectos teóricos de la virtualización, la instalación y
configuración de KVM.
Objetivo General:
● Comprender y analizar la alternativa de virtualización KVM.
Objetivos Específicos:
● Implementar KVM en una máquina con el SO Ubuntu.
● Virtualizar una máquina virtual.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 3
I. Marco Teórico de la Virtualización
Hoy en día existen diversos métodos de virtualización, de los cuales, se presentan los dos
más conocidos a continuación:
Virtualización completa: Existe una capa entre el sistema operativo virtualizado y el
hardware como un método para arbitrar el acceso. Esta capa se denomina hipervisor o
Monitor de máquina virtual (del ingles Virtual Machine Monitor VMM). En este caso el
sistema operativo invitado corre sin modificaciones. El problema es que se sacrifica el
rendimiento.
Por otro lado el desarrollo de hardware actual trata de subsanar este problema. Tanto Intel
como AMD en sus últimas gamas de procesadores implementan soporte por hardware para
virtualización. En la Figura 1.1 se aprecia la arquitectura de este método, donde Mgmt,
corresponde al administrador de los sistemas operativos invitados.
Figura 1.1: La virtualización completa utiliza un hipervisor para compartir el hardware subyacente
Paravirtualización: Es similar a la anterior, pero el hipervisor funciona de forma
cooperativa. Esto es porque el sistema operativo invitado se entera que es virtualizado, así
que cada sistema operativo invitado coopera con el hipervisor para virtualizar el hardware
subyacente. La arquitectura de este método se observa en la figura 1.2.
Figura 1.2: La paravirtualización comparte el proceso con el SO alojado (Guest OS)
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 4
II. Kernel-based Vitual Machine (KVM)
En esta sección se tratan temas sobre KVM, seguido de su instalación y configuración,
terminando con la explicación de KVM, mediante la utilización de AQEMU, que es un gestor
de máquinas virtuales KVM.
2.1 Sobre KVM
Kernel-based Virtual Machine (KVM) representa la última generación en virtualización open
source. El objetivo de sus creadores fue crear un hipervisor moderno, basado en la
experiencia tecnológica de generaciones previas, utilizando el hardware moderno
actualmente disponible. Aunque esto último tiene su precio, ya que KVM no puede operar
sobre hardware que no disponga de Intel VT o AMD SVM.
KVM esta implementado como un módulo cargable en el kernel linux, convirtiendo a este
último en hipervisor. El módulo esta disponible para versiones del kernel linux 2.6.20 o
posterior.
Bajo el modelo KVM, cada máquina virtual es un proceso que corre sobre el scheduler de
Linux. Un proceso estándar de Linux tiene dos modos de ejecución: Kernel y usuario. KVM
agrega un tercer modo: modo invitado (que contiene su propio Kernel y modo de usuario).
KVM se compone de:
● Un dispositivo controlador para manejar el hardware virtualizado: /dev/kvm
● Un componente de espacio de usuario para emular el hardware. En este caso es un
proceso Qemu modificado, el cual provee de emulación para BIOS, bus PCI, bus
USB, un set estándar de controladores de disco IDE y SCSI, NICs, etc.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 5
Figura 2.1.1: Componentes de virtualización de KVM
Luego de cargar el módulo, y transformar el kernel Linux en un hypervisor. El módulo
exporta un dispositivo denominado /dev/kvm, que activa un modo invitado del kernel.
Con /dev/kvm una maquina virtual tiene su propio espacio separado del kernel u otra
máquina virtual que se encuentre en ejecución. Los dispositivos en el árbol de dispositivos
/dev es común para todo los procesos de espacio de usuario. Pero /dev/kvm se diferencia en
que cada proceso que lo abre, ve un mapeo diferente para poder brindar aislamiento entre
las máquinas virtuales. La Figura 2.1.1 muestra la arquitectura y funcionamiento
mencionados.
Convertir al Kernel en un hypervisor tiene sus ventajas. Ya que aprovecha al máximo las
nuevas características del kernel de la serie 2.6.x (soporte de memoria, scheduler O(1), etc).
Adicionalmente soporta la migración en vivo.
KVM hereda la performance y escalabilidad de Linux, soportando máquinas virtuales con
hasta 16 CPUs y 256GB de RAM. Estas dimensiones son posibles dado que soporta
sistemas con hasta 256 núcleos y sobre 1TB de RAM.
KVM además de contar con el apoyo de la gran comunidad, es soportado por algunos de los
líderes en la industria del software como Red Hat, AMD, HP, IBM, Intel, Novell, Siemens,
SGI entre otros.
En el proceso de elección por una alternativa de virtualización, KVM presentan los siguientes
pros y contras:
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 6
Pros:
● Su modulo es liviano y esta integrado en la línea principal del kernel Linux, ofreciendo
simplicidad en su implementación, sumado al continuo soporte de Linux.
● KVM es flexible. Los sistemas operativos invitados pueden direccionar hardware
directamente en todos los casos, sin necesidad de ser modificados, lo que hace a
KVM una solución rápida para máquinas virtuales.
● Facilidad en el control de la virtualización de procesos, pues esta implementado en el
Kernel mismo.
Contras:
● No existen herramientas sofisticadas para administrar KVM y MVs.
● KVM todavía necesita mejorar: el soporte para redes virtuales, soporte
almacenamiento virtual, seguridad, tolerancia a fallos, administración de energía,
entre otros.
2.2 Instalación y configuración previa
A continuación se describe los pasos y configuraciones para KVM, realizado en Ubuntu
11.10.
Primero se procede a instalar KVM mediante el siguiente comando:
“sudo apt-get install qemu-kvm”
Luego, se instaló AQEMU, que es gestor para máquinas virtuales que administra las
principales opciones de QEMU y KVM. La interfaz del software se aprecia en la Figura 2.2.1.
“sudo apt-get install aqemu”
Figura 2.2.1: Interfaz AQEMU
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 7
Consecutivamente se instala KVM-PXE, que es un PXE adecuado a KVM. PXE es una
utilidad para que la BIOS tenga la capacidad de bootear desde la red. Aunque este paquete
no es estrictamente necesario, se necesita para tener KVM con todas sus capacidades, por
lo que se instalo mediante el siguiente comando:
sudo apt-get install kvm-pxe
Este útimo paso es estrictamente necesario, pues sin el KVM no podrá lanzar máquinas
virtuales, y corresponde a activar la virtualización por hardware en el kernel linux, y esto se
realiza con el siguiente comando, para el caso de procesadores intel (kvm-amd en el caso
de procesadores amd):
modprobe kvm-intel
La ejecución de este comando, si fue exitoso, no retorna mensaje alguno, pero de no ser
así, retorna la salida observada en la Figura 2.2.2, y esto sucederá cuando la virtualización
no este soportada por el hw, o no haya sido activada en la bios de la máquina anfitrión.
Figura 2.2.2: Error al activar virtualizacion en el kernel Linux
Con lo anterior, ya se esta en condiciones de crear máquinas virtuales.
2.3 Configuraciones para una Máquina virtual
A continuación se describen las principales opciones proporcionadas por AQEMU. Este
software se organiza en pestañas, cuyo inicio se contempla en la Figura 2.3.1, y en ella
existen 2 maquinas virtuales creadas, “Linux” y “Ubuntu”, esto es posible gracias al botón “+”
en color verde en la esquina superior izquierda. En la misma figura se indican los detalles
informativos de la MV “Linux”, por ejemplo, donde se el tipo de emulador es KVM, y que el
tipo de computador es KVM, con las tecnologías de virtualización asociadas.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 8
Figura 2.3.1: Inicio de AQEMU
Ya en la configuración general (ver Figura 2.3.2), se pueden adecuar las características de
la máquina a virtualizar, como el tipo de emulador, en esta caso KVM, o el número de CPUs,
memoria RAM asignada, entre otros. Nótese que es posible remover las limitaciones de
memoria máxima, pudiendo fácilmente sobrepasar la instalada en la máquina anfitrión.
Figura 2.3.2: Configuración general de AQEMU
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 9
En torno a la administración de dispositivos (ver Figura 2.3.3), es posible añadir diferentes
unidades, como imágenes iso para la unidad óptica virtual, que en este caso es la única
añadida, pues corresponde a una iso de ubuntu 10.04, que correo como livecd. Además se
pueden especificar detalles adicionales como la interface, tipo de bus, cache, el número de
cilindros, sectores, y mas sobre unidades de almacenamiento.
Figura 2.3.3: Administración de dispositivos QEMU
En la configuración de red, el primer modo de conexión, por defecto y autoconfigurado, es
“Use the user mode network stack”, que utiliza un servidor DHCP interno de AQEMU para
asignar ip a las maquinas virtuales, además haciendo la traducción de puertos entre las ip
de todas las máquinas virtuales y la máquina anfitrión, de manera similar a NAT (Network
Address Translation). Esto traducción se puede definir en la configuración adicional (ver
Figura 2.3.5). Una segunda modalidad esta disponible a través del soporte para interfaces
TUN/TAP, que pueden ser cargadas mediante scripts. La interfaces TUN/TAP permiten
definir redes virtuales, un ejemplo sencillo sería crear un switch virtual que comunique todas
la máquinas virtuales. La configuración TUN/TAP esta a cargo de la máquina anfitrión. Como
tercera modalidad, esta disponible el uso de sockets TCP/UDP del anfitrión, para ser usados
por una MV.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 10
Figura 2.3.4: Configuración de red en AQEMU
Figura 2.3.5: Configuración adicional de red en AQEMU
También se pueden agregar puertos seriales, paralelos o usb a las máquinas virtuales. (Ver
Figura 2.3.6)
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 11
Figura 2.3.6: Configuración de puertos COM, COM y USB en QEMU
En la pestaña “Advanced” contiene opciones sobre el modo de utilizar los controles,
desactivar reinicio, activar ACPI, configuraciones gráficas, un recuadro para proporcionar
comando adicionales para la operación de KVM, entre otros.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 12
2.4 Complementos para la virtualización.
Cabe destacar algunos complementos que podemos utilizar para realizar una virtualización.
Uno de estos complementos es AQEMU, esta es una interfaz gráfica para la virtualización
utilizando QEMU y KVM. Con AQEMU se puede configurar rápidamente máquinas virtuales
para diferentes sistemas operativos, arquitecturas y configuraciones.
En la figura 2.4.1 se muestra la interfaz del programa con diferentes maquinas virtuales
creadas.
Figura 2.4.1: Interfaz AQEMU con más de una VM.
También se debe mencionar lo que es VNC. Estas siglas significan en ingles Virtual Network
Computing o Computación Virtual en Red.
VNC es un programa de software libre basado en una estructura cliente-servidor el cual nos
permite tomar el control de la máquina servidor remotamente a través de una máquina
cliente. También llamado software de escritorio remoto. VNC no impone restricciones en el
sistema operativo de la máquina servidor con respecto al del cliente: es posible compartir la
pantalla de una máquina con cualquier sistema operativo que soporte VNC conectándose
desde otra máquina o dispositivo que disponga de un cliente VNC portado.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 13
Su funcionamiento se compone de un cliente, un servidor y un protocolo de comunicación.
• El VNC servidor es el programa en el equipo que comparte su pantalla. El servidor de
forma pasiva permite al cliente tomar el control de la misma.
• El VNC cliente (o espectador) es el programa que vigila, controla e interactúa con el
servidor. El cliente controla al servidor.
• El VNC protocolo (RFB) es muy simple, basado en una primitiva gráfica del servidor al
cliente (("Put a rectangle of pixel data at the specified X,Y position", en español
"Póngase un rectángulo de datos de píxel en la posición X,Y especificada) y
mensajes de eventos desde el cliente al servidor.
En la imagen 2.4.2, se aprecia un diagrama que permite ver los componentes de este
programa.
Figura 2.4.2: Arquitectura del funcionamiento de VNC
Se observa en la imagen 2.4.2 los componentes de VNC, donde en el extremo derecho esta
el servidor, en el extremo izquierdo están los clientes y las uniones entre medio es el
protocolo.
Otro complemento que se puede mencionar es el protocolo SPICE que significa Protocolo
Simple para un Ambiente Computacional Independiente. Es un sistema de vista remota
construido para ambientes virtuales que permite a los usuarios ver un ambiente de escritorio
remoto, no solamente el de su propio computador, si no que también los virtuales desde
cualquiera que posea conexión a internet y con cualquier arquitectura.
La peculiaridad de este protocolo es que permite tener un numero determinado de n
monitores corriendo para n máquinas virtuales instaladas en un servidor, lo que nos da la
vista de todos los servicios que están funcionando. A demás permite fusionar los monitores y
tener diferentes procesos corriendo a la vez.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 14
Conclusiones
Al finalizar esta experiencia hemos ganado un gran conocimiento en lo que a virtualización
se refiere. Podemos concluir que los sistemas de virtualización permiten potenciar aún mas
los equipos, esto puede llevar a que las empresas puedan invertir en mejorar los servidores
y así mejorar sus utilidades.
Una de las ventajas de la virtualización es que se puede configurar la máquina según la
necesidad del usuario, es decir asignar memoria, espacio en disco, número de
procesadores, etc.
Otra ventaja es que podemos cargar el número de máquinas virtuales en los equipos según
sea la necesidad y la máquina anfitrión lo permita.
Finalmente podemos decir que la virtualización responde a la necesidad de obtener el
máximo provecho de los equipos con que contamos.
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 15
Bibliografía
La anatomía de un Hipervisor
http://www.ibm.com/developerworks/ssa/library/l-hypervisor/index.html
Networking QEMU Virtual BSD System
http://bsdwiki.reedmedia.net/wiki/networking_qemu_virtual_bsd_systems.html
QEMU - Debian - Linux - TUN/TAP - network bridge
http://compsoc.dur.ac.uk/~djw/qemu.html
Virtual Linux
http://iespuigcastellar.xeill.net/Members/vcarceler/misc/news/2007/Members/vcarceler/articul
os/virtual-linux/
KVM – Kernel-based Virtual Machine
http://www.redhat.com/rhecm/rest-
rhecm/jcr/repository/collaboration/jcr:system/jcr:versionStorage/5e7884ed7f00000102c31738
5572f1b1/1/jcr:frozenNode/rh:pdfFile.pdf
Hypervisors, virtualization, and the cloud: Dive into the KVM hypervisor
http://www.ibm.com/developerworks/cloud/library/cl-hypervisorcompare-kvm/
Informe Laboratorio: Kernel-based Virtual Machine (KVM) 16

More Related Content

What's hot

Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMwareaktivfinger
 
Tipos de virtualizacion
Tipos de virtualizacionTipos de virtualizacion
Tipos de virtualizaciondanitza_chavez
 
Soluciones de virtualizacion
Soluciones de virtualizacionSoluciones de virtualizacion
Soluciones de virtualizacionPFSGRUPO
 
Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Victor M. Fernández
 
Virtualizacion de Sistemas Operativos
Virtualizacion de Sistemas OperativosVirtualizacion de Sistemas Operativos
Virtualizacion de Sistemas OperativosDavid Loor
 
Virtualizacion de Servidores
Virtualizacion de ServidoresVirtualizacion de Servidores
Virtualizacion de ServidoresGrupo Trevenque
 
virtualizacion de servidores completo
 virtualizacion de servidores completo virtualizacion de servidores completo
virtualizacion de servidores completoAnderson Alcántara
 
Virtualizacion por Hardware y por Software
Virtualizacion por Hardware y por SoftwareVirtualizacion por Hardware y por Software
Virtualizacion por Hardware y por Softwarekevin0514
 
Consulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualboxConsulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualboxDanielandthedogs
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminadoguest0fe33e2f
 
Consulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualboxConsulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualboxmikolo24
 

What's hot (20)

Versiones y tipos de virtualizacion
Versiones y tipos de virtualizacionVersiones y tipos de virtualizacion
Versiones y tipos de virtualizacion
 
Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMware
 
Tipos de virtualizacion
Tipos de virtualizacionTipos de virtualizacion
Tipos de virtualizacion
 
Virtualización
VirtualizaciónVirtualización
Virtualización
 
Soluciones de virtualizacion
Soluciones de virtualizacionSoluciones de virtualizacion
Soluciones de virtualizacion
 
V virtualización
V virtualizaciónV virtualización
V virtualización
 
Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)
 
Virtualizacion de Sistemas Operativos
Virtualizacion de Sistemas OperativosVirtualizacion de Sistemas Operativos
Virtualizacion de Sistemas Operativos
 
Virtualización con vmware
Virtualización con vmwareVirtualización con vmware
Virtualización con vmware
 
Mi manual de VMware
Mi manual de VMwareMi manual de VMware
Mi manual de VMware
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
Virtualizacion de Servidores
Virtualizacion de ServidoresVirtualizacion de Servidores
Virtualizacion de Servidores
 
Virtual Box
Virtual BoxVirtual Box
Virtual Box
 
virtualizacion de servidores completo
 virtualizacion de servidores completo virtualizacion de servidores completo
virtualizacion de servidores completo
 
Virtualizacion por Hardware y por Software
Virtualizacion por Hardware y por SoftwareVirtualizacion por Hardware y por Software
Virtualizacion por Hardware y por Software
 
Consulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualboxConsulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualbox
 
Virtual pc
Virtual pcVirtual pc
Virtual pc
 
Maquinas Virtuales Angie Terminado
Maquinas Virtuales Angie TerminadoMaquinas Virtuales Angie Terminado
Maquinas Virtuales Angie Terminado
 
Consulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualboxConsulta,virtualizacion,vmware y virtualbox
Consulta,virtualizacion,vmware y virtualbox
 
Maquinas virtuales
Maquinas virtualesMaquinas virtuales
Maquinas virtuales
 

Similar to Informe laboratorio 1 kvm

Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Maquinas virtuales y Virtualización
Maquinas virtuales y VirtualizaciónMaquinas virtuales y Virtualización
Maquinas virtuales y VirtualizaciónJesus Cuellar Sanchez
 
Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2José Vázquez
 
Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2José Vázquez
 
PresentacióN1x
PresentacióN1xPresentacióN1x
PresentacióN1xurumisama
 
Virtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nubeVirtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nubeRodolfo Pilas
 
Presentacio virtualització
Presentacio virtualitzacióPresentacio virtualització
Presentacio virtualitzacióDani Salcedo
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud ComputingJC Aguilar
 
Tema 02 virtualizacion
Tema 02 virtualizacionTema 02 virtualizacion
Tema 02 virtualizacionpipesergio
 
VirtualizacióN
VirtualizacióNVirtualizacióN
VirtualizacióNmonalisa
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacionmafer2012
 

Similar to Informe laboratorio 1 kvm (20)

Maquinas Virtuales
Maquinas VirtualesMaquinas Virtuales
Maquinas Virtuales
 
Consolidacion
ConsolidacionConsolidacion
Consolidacion
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Maquinas virtuales y Virtualización
Maquinas virtuales y VirtualizaciónMaquinas virtuales y Virtualización
Maquinas virtuales y Virtualización
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
Virtualización de GNU/Linux Debian con Xen
Virtualización de GNU/Linux Debian con XenVirtualización de GNU/Linux Debian con Xen
Virtualización de GNU/Linux Debian con Xen
 
Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2
 
Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2
 
PresentacióN1x
PresentacióN1xPresentacióN1x
PresentacióN1x
 
Virtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nubeVirtualizacion con Software Libre en el camino hacia la nube
Virtualizacion con Software Libre en el camino hacia la nube
 
Presentacio virtualització
Presentacio virtualitzacióPresentacio virtualització
Presentacio virtualització
 
virtualizacion - upsam
virtualizacion - upsamvirtualizacion - upsam
virtualizacion - upsam
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Tema 02 virtualizacion
Tema 02 virtualizacionTema 02 virtualizacion
Tema 02 virtualizacion
 
VirtualizacióN
VirtualizacióNVirtualizacióN
VirtualizacióN
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
Virtualización
VirtualizaciónVirtualización
Virtualización
 
Proyecto xen server
Proyecto xen serverProyecto xen server
Proyecto xen server
 
MAQUINA VIRTUAL
MAQUINA VIRTUALMAQUINA VIRTUAL
MAQUINA VIRTUAL
 
Virtual pc
Virtual pcVirtual pc
Virtual pc
 

More from Helenio Corvacho

Navegación anónima y seguridad
Navegación anónima y seguridadNavegación anónima y seguridad
Navegación anónima y seguridadHelenio Corvacho
 
Redes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitalesRedes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitalesHelenio Corvacho
 
Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3 Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3 Helenio Corvacho
 
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...Helenio Corvacho
 
Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...Helenio Corvacho
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf ripHelenio Corvacho
 
Informe lab 5 router bgp final
Informe lab 5 router bgp finalInforme lab 5 router bgp final
Informe lab 5 router bgp finalHelenio Corvacho
 

More from Helenio Corvacho (20)

Navegación anónima y seguridad
Navegación anónima y seguridadNavegación anónima y seguridad
Navegación anónima y seguridad
 
Redes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitalesRedes offline anonimas para compartir archivos digitales
Redes offline anonimas para compartir archivos digitales
 
Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3 Introducción a la Raspberry Pi 3
Introducción a la Raspberry Pi 3
 
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
Distribución de videos bajo demanda en una red LAN mediante el protocolo BitT...
 
Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...Un Framework para la colaboración de fusión de datos informáticos y de sensor...
Un Framework para la colaboración de fusión de datos informáticos y de sensor...
 
Orm presentación final
Orm presentación finalOrm presentación final
Orm presentación final
 
Orm final
Orm finalOrm final
Orm final
 
Informe cassandra
Informe cassandraInforme cassandra
Informe cassandra
 
BitTorrent
BitTorrentBitTorrent
BitTorrent
 
Bde
BdeBde
Bde
 
Informe taller 2 revisado
Informe taller 2 revisadoInforme taller 2 revisado
Informe taller 2 revisado
 
Informe routerbgp
Informe routerbgp Informe routerbgp
Informe routerbgp
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf rip
 
Informe laboratorio 1
Informe laboratorio 1Informe laboratorio 1
Informe laboratorio 1
 
Informe lab 5 router bgp final
Informe lab 5 router bgp finalInforme lab 5 router bgp final
Informe lab 5 router bgp final
 
Guía 4 Cálculo III
Guía 4 Cálculo IIIGuía 4 Cálculo III
Guía 4 Cálculo III
 
Guía 3 Cálculo III
Guía 3 Cálculo IIIGuía 3 Cálculo III
Guía 3 Cálculo III
 
Guía 1 Cálculo III
Guía 1 Cálculo IIIGuía 1 Cálculo III
Guía 1 Cálculo III
 
Guía 2 Cálculo III
Guía 2 Cálculo IIIGuía 2 Cálculo III
Guía 2 Cálculo III
 
Guia 3
Guia 3Guia 3
Guia 3
 

Informe laboratorio 1 kvm

  • 1. UNIVERSIDAD DE TARAPACÁ ESCUELA UNIVERSITARIA DE INGENIERÍA INDUSTRIAL, INFORMÁTICA Y DE SISTEMAS Área de Ingeniería en Computación e Informática Informe Laboratorio Kernel-based Virtual Machine (KVM) Elaborado por : Profesor : Cátedra : Taller de Servicios en Red
  • 2. Arica, 4 de Mayo del 2012 Índice Resumen....................................................................................................................................................3 Introducción..............................................................................................................................................3 I. Marco Teórico de la Virtualización.......................................................................................................4 II. Kernel-based Vitual Machine (KVM)..................................................................................................5 2.1 Sobre KVM.....................................................................................................................................5 2.2 Instalación y configuración previa..................................................................................................7 2.3 Configuraciones para una Máquina virtual.....................................................................................8 2.4 Complementos para la virtualización............................................................................................13 Conclusiones...........................................................................................................................................15 Bibliografía.............................................................................................................................................16 Informe Laboratorio: Kernel-based Virtual Machine (KVM) 2
  • 3. Resumen El presente describe la experiencia realizada en laboratorio, que consistió en implementar KVM en una distribución Linux, en este caso Ubuntu. KVM es una herramienta de virtualización opensource. El informe inicia presentando el marco teórico acerca de la virtualización, luego se profundiza en el modo de operación de KVM, siguiendo con la instalación y configuración de KVM, y de una máquina virtual de prueba, finalizando con las conclusiones del tema. Introducción Una de las innovaciones más importantes de Linux es su transformación a hipervisor (o sistema operativo de otros sistemas operativos). Han aparecido una serie de soluciones de hipervisor que usan Linux como núcleo. KVM (Kernel-based Virtual Machine) es una herramienta de virtualización open source que esta implementada como un módulo cargable en el kernel linux, convirtiendo a este último en hipervisor. A continuación se describirán los aspectos teóricos de la virtualización, la instalación y configuración de KVM. Objetivo General: ● Comprender y analizar la alternativa de virtualización KVM. Objetivos Específicos: ● Implementar KVM en una máquina con el SO Ubuntu. ● Virtualizar una máquina virtual. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 3
  • 4. I. Marco Teórico de la Virtualización Hoy en día existen diversos métodos de virtualización, de los cuales, se presentan los dos más conocidos a continuación: Virtualización completa: Existe una capa entre el sistema operativo virtualizado y el hardware como un método para arbitrar el acceso. Esta capa se denomina hipervisor o Monitor de máquina virtual (del ingles Virtual Machine Monitor VMM). En este caso el sistema operativo invitado corre sin modificaciones. El problema es que se sacrifica el rendimiento. Por otro lado el desarrollo de hardware actual trata de subsanar este problema. Tanto Intel como AMD en sus últimas gamas de procesadores implementan soporte por hardware para virtualización. En la Figura 1.1 se aprecia la arquitectura de este método, donde Mgmt, corresponde al administrador de los sistemas operativos invitados. Figura 1.1: La virtualización completa utiliza un hipervisor para compartir el hardware subyacente Paravirtualización: Es similar a la anterior, pero el hipervisor funciona de forma cooperativa. Esto es porque el sistema operativo invitado se entera que es virtualizado, así que cada sistema operativo invitado coopera con el hipervisor para virtualizar el hardware subyacente. La arquitectura de este método se observa en la figura 1.2. Figura 1.2: La paravirtualización comparte el proceso con el SO alojado (Guest OS) Informe Laboratorio: Kernel-based Virtual Machine (KVM) 4
  • 5. II. Kernel-based Vitual Machine (KVM) En esta sección se tratan temas sobre KVM, seguido de su instalación y configuración, terminando con la explicación de KVM, mediante la utilización de AQEMU, que es un gestor de máquinas virtuales KVM. 2.1 Sobre KVM Kernel-based Virtual Machine (KVM) representa la última generación en virtualización open source. El objetivo de sus creadores fue crear un hipervisor moderno, basado en la experiencia tecnológica de generaciones previas, utilizando el hardware moderno actualmente disponible. Aunque esto último tiene su precio, ya que KVM no puede operar sobre hardware que no disponga de Intel VT o AMD SVM. KVM esta implementado como un módulo cargable en el kernel linux, convirtiendo a este último en hipervisor. El módulo esta disponible para versiones del kernel linux 2.6.20 o posterior. Bajo el modelo KVM, cada máquina virtual es un proceso que corre sobre el scheduler de Linux. Un proceso estándar de Linux tiene dos modos de ejecución: Kernel y usuario. KVM agrega un tercer modo: modo invitado (que contiene su propio Kernel y modo de usuario). KVM se compone de: ● Un dispositivo controlador para manejar el hardware virtualizado: /dev/kvm ● Un componente de espacio de usuario para emular el hardware. En este caso es un proceso Qemu modificado, el cual provee de emulación para BIOS, bus PCI, bus USB, un set estándar de controladores de disco IDE y SCSI, NICs, etc. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 5
  • 6. Figura 2.1.1: Componentes de virtualización de KVM Luego de cargar el módulo, y transformar el kernel Linux en un hypervisor. El módulo exporta un dispositivo denominado /dev/kvm, que activa un modo invitado del kernel. Con /dev/kvm una maquina virtual tiene su propio espacio separado del kernel u otra máquina virtual que se encuentre en ejecución. Los dispositivos en el árbol de dispositivos /dev es común para todo los procesos de espacio de usuario. Pero /dev/kvm se diferencia en que cada proceso que lo abre, ve un mapeo diferente para poder brindar aislamiento entre las máquinas virtuales. La Figura 2.1.1 muestra la arquitectura y funcionamiento mencionados. Convertir al Kernel en un hypervisor tiene sus ventajas. Ya que aprovecha al máximo las nuevas características del kernel de la serie 2.6.x (soporte de memoria, scheduler O(1), etc). Adicionalmente soporta la migración en vivo. KVM hereda la performance y escalabilidad de Linux, soportando máquinas virtuales con hasta 16 CPUs y 256GB de RAM. Estas dimensiones son posibles dado que soporta sistemas con hasta 256 núcleos y sobre 1TB de RAM. KVM además de contar con el apoyo de la gran comunidad, es soportado por algunos de los líderes en la industria del software como Red Hat, AMD, HP, IBM, Intel, Novell, Siemens, SGI entre otros. En el proceso de elección por una alternativa de virtualización, KVM presentan los siguientes pros y contras: Informe Laboratorio: Kernel-based Virtual Machine (KVM) 6
  • 7. Pros: ● Su modulo es liviano y esta integrado en la línea principal del kernel Linux, ofreciendo simplicidad en su implementación, sumado al continuo soporte de Linux. ● KVM es flexible. Los sistemas operativos invitados pueden direccionar hardware directamente en todos los casos, sin necesidad de ser modificados, lo que hace a KVM una solución rápida para máquinas virtuales. ● Facilidad en el control de la virtualización de procesos, pues esta implementado en el Kernel mismo. Contras: ● No existen herramientas sofisticadas para administrar KVM y MVs. ● KVM todavía necesita mejorar: el soporte para redes virtuales, soporte almacenamiento virtual, seguridad, tolerancia a fallos, administración de energía, entre otros. 2.2 Instalación y configuración previa A continuación se describe los pasos y configuraciones para KVM, realizado en Ubuntu 11.10. Primero se procede a instalar KVM mediante el siguiente comando: “sudo apt-get install qemu-kvm” Luego, se instaló AQEMU, que es gestor para máquinas virtuales que administra las principales opciones de QEMU y KVM. La interfaz del software se aprecia en la Figura 2.2.1. “sudo apt-get install aqemu” Figura 2.2.1: Interfaz AQEMU Informe Laboratorio: Kernel-based Virtual Machine (KVM) 7
  • 8. Consecutivamente se instala KVM-PXE, que es un PXE adecuado a KVM. PXE es una utilidad para que la BIOS tenga la capacidad de bootear desde la red. Aunque este paquete no es estrictamente necesario, se necesita para tener KVM con todas sus capacidades, por lo que se instalo mediante el siguiente comando: sudo apt-get install kvm-pxe Este útimo paso es estrictamente necesario, pues sin el KVM no podrá lanzar máquinas virtuales, y corresponde a activar la virtualización por hardware en el kernel linux, y esto se realiza con el siguiente comando, para el caso de procesadores intel (kvm-amd en el caso de procesadores amd): modprobe kvm-intel La ejecución de este comando, si fue exitoso, no retorna mensaje alguno, pero de no ser así, retorna la salida observada en la Figura 2.2.2, y esto sucederá cuando la virtualización no este soportada por el hw, o no haya sido activada en la bios de la máquina anfitrión. Figura 2.2.2: Error al activar virtualizacion en el kernel Linux Con lo anterior, ya se esta en condiciones de crear máquinas virtuales. 2.3 Configuraciones para una Máquina virtual A continuación se describen las principales opciones proporcionadas por AQEMU. Este software se organiza en pestañas, cuyo inicio se contempla en la Figura 2.3.1, y en ella existen 2 maquinas virtuales creadas, “Linux” y “Ubuntu”, esto es posible gracias al botón “+” en color verde en la esquina superior izquierda. En la misma figura se indican los detalles informativos de la MV “Linux”, por ejemplo, donde se el tipo de emulador es KVM, y que el tipo de computador es KVM, con las tecnologías de virtualización asociadas. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 8
  • 9. Figura 2.3.1: Inicio de AQEMU Ya en la configuración general (ver Figura 2.3.2), se pueden adecuar las características de la máquina a virtualizar, como el tipo de emulador, en esta caso KVM, o el número de CPUs, memoria RAM asignada, entre otros. Nótese que es posible remover las limitaciones de memoria máxima, pudiendo fácilmente sobrepasar la instalada en la máquina anfitrión. Figura 2.3.2: Configuración general de AQEMU Informe Laboratorio: Kernel-based Virtual Machine (KVM) 9
  • 10. En torno a la administración de dispositivos (ver Figura 2.3.3), es posible añadir diferentes unidades, como imágenes iso para la unidad óptica virtual, que en este caso es la única añadida, pues corresponde a una iso de ubuntu 10.04, que correo como livecd. Además se pueden especificar detalles adicionales como la interface, tipo de bus, cache, el número de cilindros, sectores, y mas sobre unidades de almacenamiento. Figura 2.3.3: Administración de dispositivos QEMU En la configuración de red, el primer modo de conexión, por defecto y autoconfigurado, es “Use the user mode network stack”, que utiliza un servidor DHCP interno de AQEMU para asignar ip a las maquinas virtuales, además haciendo la traducción de puertos entre las ip de todas las máquinas virtuales y la máquina anfitrión, de manera similar a NAT (Network Address Translation). Esto traducción se puede definir en la configuración adicional (ver Figura 2.3.5). Una segunda modalidad esta disponible a través del soporte para interfaces TUN/TAP, que pueden ser cargadas mediante scripts. La interfaces TUN/TAP permiten definir redes virtuales, un ejemplo sencillo sería crear un switch virtual que comunique todas la máquinas virtuales. La configuración TUN/TAP esta a cargo de la máquina anfitrión. Como tercera modalidad, esta disponible el uso de sockets TCP/UDP del anfitrión, para ser usados por una MV. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 10
  • 11. Figura 2.3.4: Configuración de red en AQEMU Figura 2.3.5: Configuración adicional de red en AQEMU También se pueden agregar puertos seriales, paralelos o usb a las máquinas virtuales. (Ver Figura 2.3.6) Informe Laboratorio: Kernel-based Virtual Machine (KVM) 11
  • 12. Figura 2.3.6: Configuración de puertos COM, COM y USB en QEMU En la pestaña “Advanced” contiene opciones sobre el modo de utilizar los controles, desactivar reinicio, activar ACPI, configuraciones gráficas, un recuadro para proporcionar comando adicionales para la operación de KVM, entre otros. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 12
  • 13. 2.4 Complementos para la virtualización. Cabe destacar algunos complementos que podemos utilizar para realizar una virtualización. Uno de estos complementos es AQEMU, esta es una interfaz gráfica para la virtualización utilizando QEMU y KVM. Con AQEMU se puede configurar rápidamente máquinas virtuales para diferentes sistemas operativos, arquitecturas y configuraciones. En la figura 2.4.1 se muestra la interfaz del programa con diferentes maquinas virtuales creadas. Figura 2.4.1: Interfaz AQEMU con más de una VM. También se debe mencionar lo que es VNC. Estas siglas significan en ingles Virtual Network Computing o Computación Virtual en Red. VNC es un programa de software libre basado en una estructura cliente-servidor el cual nos permite tomar el control de la máquina servidor remotamente a través de una máquina cliente. También llamado software de escritorio remoto. VNC no impone restricciones en el sistema operativo de la máquina servidor con respecto al del cliente: es posible compartir la pantalla de una máquina con cualquier sistema operativo que soporte VNC conectándose desde otra máquina o dispositivo que disponga de un cliente VNC portado. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 13
  • 14. Su funcionamiento se compone de un cliente, un servidor y un protocolo de comunicación. • El VNC servidor es el programa en el equipo que comparte su pantalla. El servidor de forma pasiva permite al cliente tomar el control de la misma. • El VNC cliente (o espectador) es el programa que vigila, controla e interactúa con el servidor. El cliente controla al servidor. • El VNC protocolo (RFB) es muy simple, basado en una primitiva gráfica del servidor al cliente (("Put a rectangle of pixel data at the specified X,Y position", en español "Póngase un rectángulo de datos de píxel en la posición X,Y especificada) y mensajes de eventos desde el cliente al servidor. En la imagen 2.4.2, se aprecia un diagrama que permite ver los componentes de este programa. Figura 2.4.2: Arquitectura del funcionamiento de VNC Se observa en la imagen 2.4.2 los componentes de VNC, donde en el extremo derecho esta el servidor, en el extremo izquierdo están los clientes y las uniones entre medio es el protocolo. Otro complemento que se puede mencionar es el protocolo SPICE que significa Protocolo Simple para un Ambiente Computacional Independiente. Es un sistema de vista remota construido para ambientes virtuales que permite a los usuarios ver un ambiente de escritorio remoto, no solamente el de su propio computador, si no que también los virtuales desde cualquiera que posea conexión a internet y con cualquier arquitectura. La peculiaridad de este protocolo es que permite tener un numero determinado de n monitores corriendo para n máquinas virtuales instaladas en un servidor, lo que nos da la vista de todos los servicios que están funcionando. A demás permite fusionar los monitores y tener diferentes procesos corriendo a la vez. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 14
  • 15. Conclusiones Al finalizar esta experiencia hemos ganado un gran conocimiento en lo que a virtualización se refiere. Podemos concluir que los sistemas de virtualización permiten potenciar aún mas los equipos, esto puede llevar a que las empresas puedan invertir en mejorar los servidores y así mejorar sus utilidades. Una de las ventajas de la virtualización es que se puede configurar la máquina según la necesidad del usuario, es decir asignar memoria, espacio en disco, número de procesadores, etc. Otra ventaja es que podemos cargar el número de máquinas virtuales en los equipos según sea la necesidad y la máquina anfitrión lo permita. Finalmente podemos decir que la virtualización responde a la necesidad de obtener el máximo provecho de los equipos con que contamos. Informe Laboratorio: Kernel-based Virtual Machine (KVM) 15
  • 16. Bibliografía La anatomía de un Hipervisor http://www.ibm.com/developerworks/ssa/library/l-hypervisor/index.html Networking QEMU Virtual BSD System http://bsdwiki.reedmedia.net/wiki/networking_qemu_virtual_bsd_systems.html QEMU - Debian - Linux - TUN/TAP - network bridge http://compsoc.dur.ac.uk/~djw/qemu.html Virtual Linux http://iespuigcastellar.xeill.net/Members/vcarceler/misc/news/2007/Members/vcarceler/articul os/virtual-linux/ KVM – Kernel-based Virtual Machine http://www.redhat.com/rhecm/rest- rhecm/jcr/repository/collaboration/jcr:system/jcr:versionStorage/5e7884ed7f00000102c31738 5572f1b1/1/jcr:frozenNode/rh:pdfFile.pdf Hypervisors, virtualization, and the cloud: Dive into the KVM hypervisor http://www.ibm.com/developerworks/cloud/library/cl-hypervisorcompare-kvm/ Informe Laboratorio: Kernel-based Virtual Machine (KVM) 16