Virtualizacion
-
Upload
juan-carlos-rubio-pineda -
Category
Self Improvement
-
view
9.844 -
download
0
description
Transcript of Virtualizacion
![Page 1: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/1.jpg)
EXPERIENCIAS DE VIRTUALIZACIÓN EN CICA
Juan Carlos Rubio Pineda
![Page 2: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/2.jpg)
Creative-commons
![Page 3: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/3.jpg)
Virtualización
1)¿Qué es?
2)Soluciones de virtualización: Tipos
3)Alternativas elegidas en CICA
4)demo
![Page 4: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/11.jpg)
Xen
![Page 12: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/12.jpg)
Xen
![Page 13: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/13.jpg)
Xen
![Page 14: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/15.jpg)
Vmware ESXi: cliente
![Page 16: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/16.jpg)
Vmware ESXi:conexión
![Page 17: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/17.jpg)
VMWare ESXi:Estadísticas
![Page 18: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/18.jpg)
VMWare ESXi: consola
![Page 19: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/19.jpg)
VMWare ESXi: Resumen
![Page 20: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/20.jpg)
VMWare ESXi: M. Virtuales.
![Page 21: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/21.jpg)
VMWare ESXi: recursos
![Page 22: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/23.jpg)
Vmware ESXi: consola• La consola muestra esta imagen:
![Page 24: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/24.jpg)
Vmware ESXi: consola• Una vez en la consola, pulsamos ALT+F1, y aparece:
![Page 25: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/26.jpg)
Vmware ESXi: consola• Si escribimos la contraseña del servidor, tenemos:
![Page 27: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/27.jpg)
Vmware ESXi: consola• Ahora editamos /etc/inetd.conf y habilitamos ssh:
![Page 28: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/33.jpg)
Proxmox• Creación de una máquina:
![Page 34: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/34.jpg)
Proxmox• Estado de una máquina virtual
![Page 35: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/35.jpg)
Proxmox• Cluster con 2 nodos
![Page 36: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/36.jpg)
Proxmox• Estado de las máquinas de un cluster con 3 nodos:
![Page 37: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/37.jpg)
OpenQRM• Gestiona diferentes plataformas de virtualización
![Page 38: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/39.jpg)
Comparativa• Comparativa de alternativas de Virtualización S.O.
![Page 40: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/42.jpg)
Symbolic• Creación de una VM:
![Page 43: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/43.jpg)
Symbolic• Creación de una VM (II)
![Page 44: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/44.jpg)
Symbolic• Creación de una VM (III)
![Page 45: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/45.jpg)
Symbolic• Cluster:
![Page 46: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/46.jpg)
Symbolic• Live Migration
![Page 47: Virtualizacion](https://reader036.fdocuments.es/reader036/viewer/2022081403/556f295ed8b42a414f8b4b24/html5/thumbnails/47.jpg)
Demo• Colinux + Nomachine NX