PDF de programación - Virtualización en GNU/Linux

Imágen de pdf Virtualización en GNU/Linux

Virtualización en GNU/Linuxgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 16 de Diciembre del 2017)
557 visualizaciones desde el 16 de Diciembre del 2017
168,1 KB
19 paginas
Creado hace 6a (15/11/2013)
Virtualización en GNU/Linux

 Antonio Mario Molina Saorín
 12 de Julio de 2011
 TC Caldum

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Qué es la virtualización

 Término antiguo:

 1960 -> IBM M44/44X
 Máquina experimental para crear pseudo máquinas

(→ Máquinas Virtuales)

 Es la creación de la versión virtual de algo (pc,

dispositivo de almacenamiento, de red...)

 Existen muchos tipos de virtualización

 Hardware, memoria, almacenamiento (entre otros)

 Nos centraremos en la virtualización de

hardware o de plataforma

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Virtualización hardware

 Un equipo físico (host o anfitrión) ejecuta una o

varias máquinas virtuales (guest o invitado)

 A su vez, hay varios tipos de virtualización de

plataforma:
 Emulación (permite plataformas distintas)
 Virtualización completa (SO sin modificar)
 Paravirtualización (modificación del SO)
 Virtualización en el sistema operativo

 Nos centraremos en Virtualización competa

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Virtualización completa (I)

 Consiste en virtualizar todo el hardware de

forma que:
 Los SOs guest no tienen que modificarse
 Cualquier SO que podamos ejecutar en el host

podemos ejecutarlo en el guest sin modificaciones
 El juego de instrucciones completo se ejecuta sin

modificaciones

 Problema:

 En x86 hay instrucciones que no se pueden

virtualizar: no se pueden hacer traps sobre ciertas
instrucciones privilegiadas

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Virtualización completa (II)

 Posibles soluciones a este problema:

 Paravirtualización: Xen
 Traducción binaria: VMware, VirtualBox

 Desventajas

 Paravirtualización: hay que modificar los SOs de

los clientes para usar una API especial

 Traducción binaria: las instrucciones críticas son

localizadas estática o dinámicamente y son
emuladas por software en el hipervisor. Esto tiene
una penalización en el rendimiento

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Virtualización completa (III)

 Intel y AMD -entre otros- introdujeron

extensiones para permitir virtualización
completa sin esta penalización:



Intel → VT-x (Vanderpool)
 AMD → AMD-V (Pacífica)

 Esto permite una virtualización completa

asistida por hardware

 Para un rendimiento óptimo → drivers

paravirtualizados → Virtualización híbrida

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Virtualización asistida por hard.

 Es realmente un tipo de virtualización completa

pero:
 Aprovecha ciertas características hardware (del

procesador) para mejorar rendimiento en VMs

 Gracias a las extensiones de virtualización de

los procesadores → VMs con sistemas
operativos sin modificar y con gran rendimiento

 Ejemplos:

 VMware ESX, MS. HyperV, Xen 3.0, ¡¡KVM!!

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Caso práctico

Vamos a ver cómo instalar y usar el software

de virtualización que viene incluído en el núcleo

desde la versión 2.6.20:

KVM

(Kernel-based Virtual Machine)

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Prerrequisitos

 En el PC/Servidor donde vamos a instalar KVM

necesitamos:
 Procesador con soporte de virtualización activado
 Chequear que nuestro procesador dispone de

dicha capacidad:

cat /proc/cpuinfo | grep vmx (Intel)
cat /proc/cpuinfo | grep svm (AMD)

 Chequear en BIOS que está activado

 Sufiente memoria RAM:

 depende de los Sistemas Operativos -SOs-

guests que vayamos a instalar

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación de KVM

 aptitude -y install kvm bridge-utils uml-utilities
 Editamos /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

# El bridge
auto br0

iface br0 inet static






address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
broadcast192.168.1.255
bridge_ports eth0
bridge_fd 9bridge_hello 2
bridge_maxage 12
bridge_stp off

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

KVM y QEMU

 KVM es el hypervisor, que está integrado en el

propio kernel del Linux

 Para poder usarlo necesitamos un front-end
 Para esto último, KVM usa QEMU
 La sintaxis, como veremos, es similar a qemu
 Para crear discos duros virtuales usaremos

qemu-img

 Vamos a ver un ejemplo práctico.

Comenzaremos creando el disco duro virtual.

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Creación de hds virtuales

 Creamos un disco duro de 10 GB

 qemu-img create -f qcow2 ubuntu.qcow 10G

 qcow2 es el formato nativo de qemu
 Este formato permite:

 Snapshots
 Encriptación AES
 Compresión basada en zlib
 La imagen del disco no ocupa todo el tamaño:

 Va creciendo conforme hace falta más disco
 Soporta otros formatos: raw, vmdk, vvfat, vpc, ...

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Iniciando nuestra primera VM

 Arrancamos nuestra VM con este comando:
 kvm -no-acpi -m 384 -cdrom /dev/sr0 -hda

ubuntu.qcow -boot d
 Sin ACPI
 384 MB RAM
 El CD de la VM (guest) es /dev/sr0 en el host
 El disco duro es el archivo .qcow indicado
 Arrancará desde CD-ROM (boot d)

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Controlando la CPU

 Con el comando anterior sólo estamos usando

un core

 Podemos ver los cores que tenemos con:

 cat /proc/cpuinfo

 Podemos asignar más de un core con el

parámetro -smp:
 kvm -m 384 -smp 4 -cdrom /dev/sr0 -hda

ubuntu.qcow -boot d

 Quitamos -no-acpi para que al hacer un halt la VM se apague
 Le indicamos que queremos 4 cores:

 Podemos comprobarlo dentro de la VM

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Para que probéis

 En http://wiki.qemu.org/Download hay

imágenes preparadas para descargar y probar
con kvm

 Existen UIs para manejar las VMs. El más
famoso es virt-manager, desarrollado por
RedHat:
 # aptitude install virt-manager

 Virt-manager es un interfaz gráfico que permite
crear máquinas virtuales así como lanzarlas y
gestionarlas tanto en local como en remoto

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Otras posibilidades

 Existen otras alternativas a KVM:

 Xen

 Antes sólo paravirtualizacón
 Ahora también soporta full-virtualization

 Virtualbox

 Virtualbox es similar a VMWare Workstation.
 Es muy sencilla de manejar.
 Todo se hace a nivel gráfico.
 # aptitude install virtualbox

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Antes de finalizar

 Licenciado bajo Creative Commons

 Reconocimiento - No Comercial - Compartir igual

 Puedes:







Copiar, reproducir, mostrar públicamente y modificarlo, siempre y
cuando cites al autor (o sea, yo),
no lo uses para fines comerciales,
y las obras derivadas se mantengan bajo esta misma licencia.

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Preguntas

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com

Gracias por vuestra atención

Virtualización

Antonio Mario Molina Saorín

http://antonio-mario.com
  • Links de descarga
http://lwp-l.com/pdf7925

Comentarios de: Virtualización en GNU/Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad