virtualizacion

47
EXPERIENCIAS DE VIRTUALIZACIÓN EN CICA Juan Carlos Rubio Pineda

Upload: juan-carlos-rubio-pineda

Post on 03-Jun-2015

9.838 views

Category:

Self Improvement


0 download

DESCRIPTION

Slides about my experiences in virtualization

TRANSCRIPT

Page 1: Virtualizacion

EXPERIENCIAS DE VIRTUALIZACIÓN EN CICA

Juan Carlos Rubio Pineda

Page 2: Virtualizacion

Creative-commons

Page 3: Virtualizacion

Virtualización

1)¿Qué es?

2)Soluciones de virtualización: Tipos

3)Alternativas elegidas en CICA

4)demo

Page 4: Virtualizacion

1) ¿Qué es?• VIRTUALIZACIÓN:

− Término amplio que se refiere a la abstracción de los recursos de la computadora.

− Permite recrear computadoras NO FÍSICAS sobre una capa de software especial instalada en una computadora REAL.

− Es posible recrear un conjunto de hardware completo, o bien espacios de nombres (namespaces) dentro del mismo sistema operativo (jaula aislada).

− Según las necesidades, y arquitecturas REALES subyacentes, nos puede convenir unos tipos u otros.

Page 5: Virtualizacion

2) Tipos• Los tipos más interesantes son:

− Emulación o simulación− Virtualización nativa y virtualización completa− Paravirtualización− Virtualización a nivel del sistema operativo− Virtualización de aplicaciones (Citrix)

Page 6: Virtualizacion

Tipos• Emulación o simulación:

− la máquina virtual simula un hardware completo, admitiendo un sistema operativo “guest” sin modificar, para una CPU completamente diferente.

− Ejemplos:• Bochs, • Qemu sin aceleración: Ampliamente usado. Muy interesante, porque

las imágenes que creamos pueden ser usadas en VirtualBox o VMWare.

− Acelerador qvm86 (discontinuado)− Acelerador kqemu

• JPC: Emulador 100% Java. Inspirado en Bochs y Qemu. Inmaduro.− Desventajas: Lento. No apto para producción.

Page 7: Virtualizacion

Tipos• Virtualización nativa y virtualización completa:

− Completa: la máquina virtual simula un hardware subyacente completo para permitir un sistema operativo “guest” sin modificar que se ejecuta de forma aislada.

− El S.O. De la VM que se instale debe ser del mismo tipo de CPU que la máquina física subyacente.

− La virtualización completa NATIVA sólo fue posible a través de los añadidos AMD-V e INTEL VT.

• Podemos comprobar si las tenemos con un: • cat /proc/cpuinfo | grep vmx

− Ejemplos:• VMware Workstation• VMware Server• Parallels Desktop• VirtualBox

Page 8: Virtualizacion

Tipos• Paravirtualización:

− La máquina virtual no simula un hardware sino que ofrece una API especial que solo puede usarse mediante la modificación del sistema operativo “guest”.

− La plataforma de virtualización tiene una capa de software denominada virtual machine monitor (VMM), también conocido como hypervisor, que se ocupa de mostrar los distintos S.O. emplazados en la computadora real.

− La llamada del sistema al hypervisor tiene el nombre de “hypercall” en Xen y Parallels Workstation.

• Desventajas: en el caso de Xen Server 4, y con nuestra arquitectura, no es posible migrar máquinas en producción de nuestro servidor Xeon 2 a un Amd Opteron.

Page 9: Virtualizacion

Tipos• Virtualización a nivel del sistema operativo:

− virtualizar un servidor físico a nivel del sistema operativo permitiendo múltiples servidores virtuales aislados y seguros correr en un solo servidor físico.

− El entorno del sistema operativo “guest” comparte el mismo sistema operativo que el del sistema “host” (el mismo kernel del sistema operativo es usado para implementar el entorno del “guest”).

− Las aplicaciones que corren en un entorno “guest” dado lo ven como un sistema autónomo.

− Ejemplos: • Linux-VServer, Virtuozzo, OpenVZ, UML (user mode linux), Solaris

Containers y FreeBSD Jails.

Page 10: Virtualizacion

3) Alternativas elegidas en CICA

• Las alternativas que usamos en CICA, son:− Xen Server 4.0 y Xen 3.4.0 libre− VMWare ESXi 3− VirtualBox (uso particular en nuestros Pcs)− Openvz− Linux v-server − Colinux: demos y cursos. Con una distro que hemos

preparado, podemos ejecutar un linux completamente funcional y sin instalación desde un pendrive o HDD externo.

Page 11: Virtualizacion

Xen

Page 12: Virtualizacion

Xen

Page 13: Virtualizacion

Xen

Page 14: Virtualizacion

Xen• Ventajas:

− El rendimiento de las máquinas es bueno− La consola de administración es muy intuitiva, y permite crear

VM de forma muy rápida (si lo hacemos desde plantillas).

• Inconvenientes:− La consola no permite el acceso separado para gestión

compartida. Si accedemos a un servidor Xen, controlamos todas sus máquinas sin excepción.

− Nuestra instalación se basó en una CPU Xeon 2, con cuellos de botella en el acceso de memoria (corregido en los Nehalem). Quisimos pasarlo a un AMD (Con Hypertransport), y no se podían migrar las máquinas de una arquitectura a otra.

• Para nosotros, esto es muy inflexible.− La consola de administración sólo funciona en windows

Page 15: Virtualizacion

Vmware ESXi: cliente

Page 16: Virtualizacion

Vmware ESXi:conexión

Page 17: Virtualizacion

VMWare ESXi:Estadísticas

Page 18: Virtualizacion

VMWare ESXi: consola

Page 19: Virtualizacion

VMWare ESXi: Resumen

Page 20: Virtualizacion

VMWare ESXi: M. Virtuales.

Page 21: Virtualizacion

VMWare ESXi: recursos

Page 22: Virtualizacion

VMWare ESXi: • Vmware ESXi se instala en una máquina, quedando el

servidor, en principio, como una “caja negra”

• En la versión completa de Vmware Server, existe una “consola” que permite administrar la máquina. Es un Red Hat Enterprise.

• En la versión sin coste de Vmware ESXi, esa consola ha sido eliminada.− La “consola” resultante, es una pantalla amarilla y negra con

un menú de opciones.− No obstante, existe una “consola escondida” que puede

habilitarse para teclear comandos y elaborar scripts al modo tradicional.

Page 23: Virtualizacion

Vmware ESXi: consola• La consola muestra esta imagen:

Page 24: Virtualizacion

Vmware ESXi: consola• Una vez en la consola, pulsamos ALT+F1, y aparece:

Page 25: Virtualizacion

Vmware ESXi: consola• Seguimos sin prompt. No se visualiza lo que se escribe,

pero si tecleamos:− Unsupported + <ENTER>− Aparecerá el Tech Support Mode:

Page 26: Virtualizacion

Vmware ESXi: consola• Si escribimos la contraseña del servidor, tenemos:

Page 27: Virtualizacion

Vmware ESXi: consola• Ahora editamos /etc/inetd.conf y habilitamos ssh:

Page 28: Virtualizacion

Linux V-Server• Es una especie de chroot avanzado.

• Está basado en el concepto “Security Contexts”:− Permite crear Virtual Private Servers (VPS) independientes

que se ejecutan simultáneamente sobre un único servidor físico.

− Crea parcelas con el “user-space”.− La mayoría de las distribuciones Linux, no están atadas a un

kernel especial• Linux V-Server usa este hecho para permitir que varias distribuciones

se ejecuten simultáneamente en un único kernel, sin acceso directo al hardware, compartiendo los recursos de un modo muy eficiente.

• Kernel, utilidades y scripts en repositorio debian• Facilidad de manejo y tecnología madura.• Al igual que openvz, no requiere de una CPU con soporte a

virtualización AMD-V o INTEL VT.• Como no virtualiza TODO, el número de VM's por máquina física se

incrementa muchísimo.

Page 29: Virtualizacion

Linux V-Server• Linux v-server: desde cero bajo un Debian 5 Lenny:

− aptitude install linux-image-vserver-686 util-vserver ssh− REINICIAR (el instalador habrá incluído en grub una entrada

para el nuevo kernel vserver, con el que DEBEMOS arrancar)− Lo comprobamos con uname-r, mostrando: 2.6.26-2-

vserver-686− Creamos una máquina, desde la red, y sin plantillas, así:

• vserver vserver1 build \• -m debootstrap --context 42 \• --hostname vserver1.mydomain.com \• --interface eth0:192.168.1.10/24 \ • -- -d lenny -m http://ftp.es.debian.org/debian

− La arrancamos con vserver vserver1 start− Entramos en la máquina con vserver vserver1 enter− Con 1GB de RAM, da para entre 20-30 VSERVERS.

Page 30: Virtualizacion

OpenVz• El proceso de instalación es similar.

• Las máquinas deben tomar un identificador numérico (por ejemplo, 101), en lugar de un nombre (por ejemplo, vserver1).

• El comando “maestro” de este software es vzctl.

• Suponiendo que hubiéramos instalado plantillas, con este comando creamos una máquina:

• # vzctl create 101 --ostemplate fedora-core-4 -–config vps.basic

• Con 1GB de RAM da para entre 20-30 Vms

• Es más complejo de administrar y de retocar ciertos parámetros cuando el rendimiento decae.

Page 31: Virtualizacion

ProxMox Virtual Environment• Es una plataforma Open Source para ejecutar Virtual

Appliances y máquinas virtuales.

• Puede ser instalado desde cero como una iso de un linux corriente.

• Funcionalidades:− Virtualización por contenedores mediante openvz o completa

con KVM.− Consola Web de gestión− Cluster VE (Virtual Environment)− Backup/Restore mediante interfaz Web− Permite “Appliances” (plantillas).− Incorpora una utilidad, dab (Debian Appliance Builder) para

construir plantillas.

• En CICA, está en estudio.

Page 32: Virtualizacion

Proxmox• Funcionalidad de un “cluster” proxmox:

− Gestión web centralizada− Un login y password para acceder a TODOS los nodos y

TODAS las VM's.− Vista de consola de todas las VM's.− Posibilidad de migrar VM's entre nodos físicos.− Almacén de plantillas de VM's sincronizado

• Pero NO proporciona:− Alta disponibilidad.

Page 33: Virtualizacion

Proxmox• Creación de una máquina:

Page 34: Virtualizacion

Proxmox• Estado de una máquina virtual

Page 35: Virtualizacion

Proxmox• Cluster con 2 nodos

Page 36: Virtualizacion

Proxmox• Estado de las máquinas de un cluster con 3 nodos:

Page 37: Virtualizacion

OpenQRM• Gestiona diferentes plataformas de virtualización

Page 38: Virtualizacion

OpenQRM• En teoría, es capaz de gestionar la creación de VM's y

recursos de:− VMWares ESXi y Server− Xen− Linux V-server

• En la práctica, no hemos conseguido que realice su trabajo correctamente.

• Actualmente la tenemos descartada, en favor de ProxMox.

Page 39: Virtualizacion

Comparativa• Comparativa de alternativas de Virtualización S.O.

Page 40: Virtualizacion

Symbolic• Symbolic es una plataforma de gestión de datacenters.

− Incluye puppet: lenguage declarativo para expresar configuraciones de sistema, un servidor y un cliente para distribuirlo y una biblioteca para configuraciones.

• Manual• Pesado

− Incluye cobbler: permite disponer de un servidor para instalaciones rápidas a través de red, admitiendo:

• Instalaciones por PXE• Reinstalaciones• Instalaciones en red• Instalaciones virtualizadas

− Admite Xen, Qemu, KVM− Incluye una consola gráfica para gestionar todo a golpe de

ratón

Page 41: Virtualizacion

Symbolic• Symbolic permite automatizar y facilitar:

− Creación de clústeres− Live Migration de VM's entre nodos− Creación de VM's y su gestión− IMPORTANTE: Admite creación de scripts que pueden

permitir migraciones u otras operaciones a medida.

• Symbolic usa XML-RPC para comunicar los nodos, una base de datos HSQLDB y una aplicación Java que puede desplegarse en un contenedor de servlets (tomcat).

Page 42: Virtualizacion

Symbolic• Creación de una VM:

Page 43: Virtualizacion

Symbolic• Creación de una VM (II)

Page 44: Virtualizacion

Symbolic• Creación de una VM (III)

Page 45: Virtualizacion

Symbolic• Cluster:

Page 46: Virtualizacion

Symbolic• Live Migration

Page 47: Virtualizacion

Demo• Colinux + Nomachine NX