Conferencias Técnicas HP & Capacitación IT 04 de Agosto, 2011
Virtualización en Entornos UNIX Conceptos de virtualización. Solaris Zones. Consolidación de Servidores. HP c-class enclosures. Gabriel Bertone ASDO UNIX Build Team Miriam Lechner ASDO UNIX Build Team
Temario Concepto de Virtualización Ventajas de la virtualización. Caso práctico: zonas en Solaris Fortalezas de las zonas Zonas en OpenSolaris Discusión y cierre Referencias
Concepto de virtualización (1) 1960 Sun Fire Domains (2000) HPUX VPARS/NPARS (2000) Xen (2004) IBM CP-40/CP-67 (1966) Solaris Zones (2004) FreeBSD Jails (2000) IBM LPARs (2001) HP c-class enclousres (2009) VirtualBox (2007) Intel VT (Virtualization Technology) (2006) AMD SVM (secure virtual machine) (2006) Qemu (2009) Integrity VM (HP VM) (2005) VMWare (1999) Java VM (1995) KVM (2007)
Concepto de virtualización (2) Hablamos de software que implementa abstracciones de recursos computacionales físicos o lógicos. Mediante el cuál un mismo recurso base (servidor, sistema operativo, storage, red, etc.) puede actuar como múltiples recursos lógicos. Se aplica diferentes niveles, en particular nos referiremos a la virtualización de sistemas operativo y a la virtualización de plataforma en donde una computadora física puede actuar como varias.
Concepto de virtualización (3) Virtualización de plataforma y sistema operativo: Abstracción de todos los recursos de computación de un huésped dentro de un anfitrión (host). El sistema operativo nativo que corre el software de virtualización es llamado el anfitrión (o host). Es quién controla el hardware. El OS virtualizado es llamado huésped (o guest) Pueden coexistir muchos huéspedes en un mismo anfitrión. Sin embargo no interfieren unos con otros.
Concepto de virtualización (4) Virtualización de plataforma y sistema operativo: Hipervisor: (en inglés hypervisor) o monitor de máquina virtual es una plataforma que permite aplicar diversas técnicas de control de virtualización para utilizar, al mismo tiempo, diferentes sistemas operativos en una misma computadora. Tipo 1: OS real, ejecutado directamente sobre el hardware. Necesita soporte a nivel del hardware (Intel VT, AMD SVM, etc). Las instrucciones privilegiadas invocadas por el huésped se ejecutan directamente sobre el hardware. Tipo 2: nace en reacción a la falta de soporte de virtualización a nivel de hardware. Discos virtuales. Las instrucciones privilegiadas nunca se ejecutan en el hardware real, son emuladas por el hypervisor cada vez que ocurren en el SO huésped. Ej. VMWare, VirtualBox
Concepto de virtualización (5) Virtualización de plataforma (SO huésped modificado): Paravirtualización: el huésped ejecuta hypervisor calls en lugar de instrucciones privilegiadas. Asi el hipervisor define la API disponible para un dado SO huésped. Hipervisor se convierte en microkernel. Hipervisor mas sencillo. (Introducido por Xen en el 2006, implementado en VMwareVMI ) Limitaciones: el SO huésped no puede ejecutarse directamente sobre el hardware. La variedad de hypervisors y la falta de una API standard complejiza el desarrollo de SO huéspedes modificados a tal fin.
Concepto de virtualización (6) Virtualización de Sistema Operativo: Cuando el Kernel permite múltiples ambientes de usuarios aislados entre sí. Ejemplos: FreeBSD Jails, Linux VServer, Virtuozzo, Solaris Zones.
Ventajas de la virtualización (1) Mejora la utilización de recursos (hardware/software). Reducción de costos, consumo eléctrico y espacio. Transparencia Confiablidad (la mayoría de las fallas son debidas a errores de software). Aporta a la consolidación de servidores.
Ventajas de la virtualización (2) Aislación de aplicaciones. Coexistencia de aplicaciones conflictivas entre si en un mismo hardware. Seguridad. Balanceo de carga y escalabilidad. Migración de máquinas virtuales es más sencillo que migrar procesos individuales. Soporte para aplicaciones antiguas (legacy). Muy útil en los entornos de desarrollo y testeo. Construcción de Virtual Appliances
Caso práctico : zonas en Solaris (1) Virtualización de sistema operativo: Disponible a partir de Solaris 10 y en OpenSolaris con algunas variantes. Tipos de zonas: Global zone: solo una y siempre existe. Zona de administración de recursos (hw/sw) y non-global zones. Non-global zone: teóricamente hasta 8192. Entorno de sistema operativo virtualizado creado dentro de una instancia del SO Solaris (u OpenSolaris)
Caso práctico : zonas en Solaris (2) Tipos de non-global zone Sparse root zone (> optimización del uso de recursos compartidos. OS nativo ) Whole root zone (> flexibilidad en la configuración. OS nativo) Branded zone (BrandZ) (Emulación de OS no nativo S8, S9, S10, lx, lx26, cluster)
Caso práctico : zonas en Solaris (3) Ciclo de vida de una zona: zoneadm zonecfg zlogin
Caso práctico : zonas en Solaris (4) Creando una zona de tipo sparse: root@otrosolaris:/# zonecfg -z zone01 export create -b set zonepath=/zone01_sparse set autoboot=true set ip-type=shared add inherit-pkg-dir set dir=/lib end add inherit-pkg-dir set dir=/platform end add inherit-pkg-dir set dir=/sbin end add inherit-pkg-dir set dir=/usr end add net set address=192.168.0.81/24 set physical=e1000g0 end
Caso práctico : zonas en Solaris (5) Creando una zona de tipo sparse (continuación): add rctl set name=zone.max-swap add value (priv=privileged,limit=104857600,action=deny) end add capped-memory set physical=50m end
Caso práctico : zonas en Solaris (6) Instalando software y parches: Administración centralizada desde la zona global. Las herramientas por defecto son las utilizadas y están adaptadas a la presencia de zonas no globales (pkginfo, pkgadd, pgkrm, patchadd etc.). Es posible instalar cierto tipo de software desde dentro de una zona no global. Cada paquete de software dispone de tres parametros que definen su comportamiento en presencia de zonas no globales: SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW, SUNW_PKG_THISZONE (valor por defecto es false)
Caso práctico : zonas en Solaris (7) Agregando filesystem y dispositivos a una zona: add fs set dir=/d1000 set special=/dev/md/dsk/d1 000 set raw=/dev/md/rdsk/d1000 set type=ufs end add device set match=/dev/md/rdsk/d2000 end add device set match=/dev/md/dsk/d2000 end add fs set dir=/lofs_d300 0 set special=/d3000 set type=lofs end
Caso práctico : zonas en Solaris (8) Migrando una zona entre dos hosts físicos:
Fortalezas de las zonas Costo: las zonas son una característica propia del sistema operativo. Movilidad: No hay dependencia de la plataforma de hw. Observabilidad: la zona global permite observar el funcionamiento interno de toda la actividad de cada zona. Capacidad de administración: algunos aspectos puede manejarse en conjunto de zonas y no por zona individual. Como por ejemplo son la instalación de parches y paquetes de software.
Zonas en OpenSolaris El concepto de zonas esta íntimamente relacionado al sistema de paquetes de Solaris. OpenSolaris utiliza IPS, nuevo diseño de sistema de paquetes. Solo está disponible las zonas de tipo whole y BrandZ. Las zonas de tipo sparse root no están disponibles. El BRAND default es ipkg. Requiere de acceso a los repositorios para la instalación de nuevas zonas. Para instalar nuevas zonas es necesario estar conectado a la red y tener acceso al repositorio de paquetes de OpenSolaris. La administración de paquetes y parches no es centralizada.
Discusión y cierre preguntas?
Referencias System Administration for the SolarisTM 10 Operating System, Part 2. SA-202-S1. Student guide. The Art of Virtualization with Free Software. Miguel Vidal, José Castro. http://dlc.sun.com/osol/docs/content/sysadrm/preface-3.html http://en.wikipedia.org http://hub.opensolaris.org/bin/view/community+group+zones/faq#hsection7o http://www.vmware.com/virtualization/history.html
GRACIAS!