Xen virtualizando infraestrcturas - Oscar Gonzalez

  • 970 views
Uploaded on

Se va a ver un pequeño marco teórico de manera de entender de que estamos hablando, se analizaran las diferentes opciones de virtualizacion de hoy en dia, explicare porque usar tecnologias de …

Se va a ver un pequeño marco teórico de manera de entender de que estamos hablando, se analizaran las diferentes opciones de virtualizacion de hoy en dia, explicare porque usar tecnologias de para-virtualizacion y analizaremos las caracteristicas de XEN Source especificamente. Por ultimo si esta charla es taller se detallara la instalacion de xen source y tips para configurarlo de manera apropiada para virtualizar maquinas Linux, Windows y Mac.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
970
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Infraestructuras XEN Virtualizando
  • 2. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER XEN Virtualizando Infraestructuras • IANUX Soluciones | Comunidad de Software Libre http://ianux.com | http://saltalug.org.ar LPIC Oscar Gonzalez, Consultor IT Security Researcher, Instructor LPI Linux oscar@ianux.com oscar@saltalug.org.ar
  • 3. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER XEN Virtualizando Infraestructuras Agenda: • Breve reseña teórica • Analizar las ventajas y las funcionalidades • Que tipo de Sistemas Operativos se pueden virtualizar. • Taller de Instalación, Configuración y Tips
  • 4. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Que es Virtualizacion? se refiere a la abstracción de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstracción entre el hardware de la máquina física (host) y el sistema operativo de la máquina virtual (virtual machine, guest), dividiéndose el recurso en uno o más entornos de ejecución. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Almacenamiento y Conexiones de Red) y así podrá repartir dinámicamente dichos recursos entre todas las máquinas virtuales definidas en el computador central. Esto hace que se puedan tener varios ordenadores virtuales ejecutándose en el mismo ordenador físico.
  • 5. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Nunca escuche hablar de virtualizacion, desde cuando exite? La virtualización es un concepto que existe desde hace años (60 aprox) implementado por empresas como IBM, Hewlett Packard (entre otras) en sus sistemas operativos y equipos mainframe. Pero es en estos días que está tomando un interés mayor por las empresas sobre esta tecnología. En este taller se hará una revisión sobre el monitor de máquinas virtuales libre (o hypervisor) XEN Source licenciado bajo GPL y que funciona en arquitecturas x86 (32 y 64 bits).
  • 6. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Tipos de Virtualizacion De Plataforma: Un equipo completo (incluido el CPU) Mediante Hardware dedicado como Hypervisor Por Software → P-code ó CPUs reales (Set de Instrucciones) De Recursos: Almacenamiento: RAID, SANs, etc. Memoria: Memoria Virtual → SWAP Procesamiento: Clusters, GAE, EC2, etc
  • 7. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Que tipo de soluciones puedo encontrar para trabajar con esto? Escritorio: VirtualBox, Qemu, VMWare WorkStation | Server editions, Microsoft Virtual PC y Microsoft Virtual Server lo mas usado en ambientes de produccion: Xen Source, Xen Citrix, VMWare Esxi Crece en popularidad : KVM Otros:HyperV, Virtuozzo|OpenVirtuozzo, OpenVZ|Parallels Virtuozzo Containers, Containers en Solaris, Jails en BSD, Linux Vserver, etc. Tabla comparativa http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines
  • 8. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Entendiendo la paravirtualizacion En las computadoras que estamos acostumbrados a utilizar a diario el sistema operativo es el software mas poderoso, ya que controla todos los recursos del CPU, como el uso compartido del mismo entre las aplicaciones, memoria virtual, I/O a dispositivos, entre otras cosas. Estas tareas las puede realizar gracias a que los procesadores modernos soportan niveles de privilegios o rings. El sistema operativo, el supervisor, corre en el ring 0 (más privilegiado) y las aplicaciones en ring 3 (menos privilegiado).
  • 9. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Entendiendo la paravirtualizacion Xen utiliza una técnica llamada "ring deprivileging", donde el sistema operativo es modificado para poder ejecutarse en ring 1 dejando el ring 0 para el Xen. Este mecanismo le permite a Xen tener más poder que el sistema operativo controlando los recursos a los cuales este puede acceder. Este esquema de usos de rings es lo que se llama "paravirtualización". Limitacion!!, la modificación que deben sufrir los sistemas operativos para ser virtualizados en principio presenta una limitación, ya que esto solo puede realizarse en software abierto (o por el fabricante del software, en el caso del software propietario). Solucion!!. Sin embargo, esta limitación es eliminada con las nuevas tecnologías de virtualización de Intel y AMD, que permiten ejecutar sistemas operativos en ring 0 sin necesidad de modificación alguna, dejando un nivel de privilegio especial para el Hypervisor. Este nivel de privilegio especial se llama root-mode, el resto de los componentes corren en non-root-mode.
  • 10. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Entendiendo la paravirtualizacion la paravirtualizacion es una tecnica donde XEN trabaja en el ring 0 para que los sistemas virtualizados corran directamente sobre el procesador, sin emulación. En principio se puede virtualizar cualquier sistema operativo libre , ya que puede hacer la modificacion en el codigo del SO. Si queremos virtualizar otros sistemas operativos, como Windows MacOS ? Se puede ? Como lo logramos? Si se puede, necesitamos ayuda del lado del hardware, precisamente de soporte de instrucciones en el procesador que permitan modificar el nivel del ring desde el hardware sin modificar el codigo del SO. Hay que revisar que el servidor tenga un procesador tengan instrucciones de virtualizacion( soporte (Intel modulo VT | AMD modulo V), de esta manera podra modificar el ring y virtualizar windows macos.
  • 11. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Xen Soporta Full Virtualization * parecido a la emulacion * los SO se quedan sin modificar * Solo funcionan sobre la misma arquitectura que el hardware reaal * Necesarias las extensiones Intel VT o AMD V Simplifica instrucciones x86 Traduccion de instrucciones binarias al vuelo ParaVirtualizacion El sistema operativo huesped ha de estar modificado, ayudar a mejor la performance La comunicacion con el hardware se realiza atraves del hypervisor Dificultades con SO cerrados Ventajas: rendimiento, escalabilidad
  • 12. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Arquitectura Un kernel hipervisor abstrae el hardware real
  • 13. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Ventajas de virtualizar Optimizacion del uso del hardware. (Generalmente el hardware que se utiliza para un servidor de páginas web, servidor de correo u otros servicios de red no es utilizado en la totalidad de su capacidad). Ahorro de costos, luego de mirar a VM, se tendra mas espacio en el Datacenter y menos gasto en electricidad, mantenimiento fisico-operacion, temperatura etc. Backups del server completo y en caliente, ideal para entornos de produccion criticos. Entornos de Laboratorio: Podra duplicar sus entornos de producion antes de lanzar sus nuevas versiones de desarrollo de su software. Entornos CloudComputing: Crear un pool de servidores fisicos, sobre los que se pueden distribuir los servicios, armar esquemas de Alta disponibilidad y entornos distribuidos, Movimiento de maquinas entre entorno fisicos de forma transparente y en caliente.
  • 14. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Dudas? | Preguntas? Si esta todo claro, el taller es un tramite..
  • 15. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Taller de instalacion de XEN Source en Debian Agenda: • Instalacion paso a paso de un Debian 6 • Tips de particionado • Instalacion de XEN y sus tools • Configuracion basica y creacion VM linux • Tips para instalar VM Windows or MacOS
  • 16. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Instalacion de Xen aptitude -P install xen-linux-system xen-hypervisor-4.0-amd64 linux-image-xen- amd64 xen-tools bridge-utils xen-qemu-dm-4.0 libcdio-utils ntfs-3g ntfsprogs parted
  • 17. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Modificar grub2 mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux update-grub2 echo "" >> /etc/default/grub echo "# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu." >> /etc/default/grub echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub update-grub2 echo "# Xen boot parameters for all Xen boots" >> /etc/default/grub echo "#GRUB_CMDLINE_XEN="" " >> /etc/default/grub echo "# Xen boot parameters for non-recovery Xen boots (in addition to GRUB_CMDLINE_XEN)" >> /etc/default/grub echo "#GRUB_CMDLINE_XEN_DEFAULT="" " >> /etc/default/grub update-grub2
  • 18. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Configuracion de Red vim /etc/xen/xend-config.sxp (network-script network-bridge antispoof=yes) (vif-script vif-bridge)
  • 19. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Crear la primera VM Usando bootstrapping xen-create-image --hostname=xen1.miserver.com --size=10Gb --swap=256Mb --ide --ip=186.136.206.199 --netmask=255.255.255.0 --gateway=186.136.206.1 --force --dir=/dominios/domains --memory=64Mb --arch=i386 Donde se guarda la configuracion de esta virtual maquina? Una vez terminada de instalar se debe instalar software basico para que no haya problemas cuando se conecte remotamente. apt-get install udev ssh vim
  • 20. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Comandos tipicos Prender: xm create /etc/xen/xen1.my-domain.com.ar.cfg Apagar: xm destroy xen1.my-domain.com.ar Conectarse: xm console xen1.my-domain.com.ar xm list - List all running systems. xm help - List of all commands. xen-create-image –hostname=dev.miserver.com –force #usa Xen tools
  • 21. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Tips install Windows VM mkdir -p /home/xen/domains/winxp01/ dd if=/dev/zero of=/home/xen/domains/winxp01/winxp01.img bs=1M count=20480 conv=notrunc Crear este archivo: /etc/xen/windowxp.cfg import os, re arch = os.uname()[4] device_model = /usr/lib64/xen-4.0/bin/qemu-dm kernel = /usr/lib/xen-default/boot/hvmloader builder = hvm vcpus = 1 memory = 1024 shadow_memory = 8 name = winxp01 # The bridge name should coincide with the bridge name in result of the command : brctl show vif = [ type=ioemu, bridge= eth0 ] # During installation booting D: (CDROM) #disk = [ file:/home/xen/domains/winxp01/winxp01.img,ioemu:hda,w , file:/home/sysadmin/isos/WXPsp3originalen.iso,ioemu:hdc:cdrom,r ] #boot = dc # After installation (using only drive C: (Installed system) disk = [ file:/home/xen/domains/winxp01/winxp01.img,ioemu:hda,w ] boot = c
  • 22. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Tips install Windows VM # Using VNC port 590x for as screen sdl=0 vnc=1 vncviewer=1 nographic = 0 vncdisplay=0 vnclisten="0.0.0.0" vncconsole=1 vncpasswd=parword stdvga=0 serial=pty usbdevice=tablet #acpi = 1 #apic = 1 # Behaviour # on_poweroff = destroy on_reboot = restart on_crash = restart
  • 23. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Tips install MacOS Descargar iATKOS Proyect mkdir -p /home/xen/domains/macos01/ dd if=/dev/zero of=/home/xen/domains/macos01/disk1.img bs=1M count=20480 conv=notrunc Crear este archivo: /etc/xen/mac.cfg import os, re arch = os.uname()[4] device_model = /usr/lib64/xen-4.0/bin/qemu-dm kernel = /usr/lib/xen-default/boot/hvmloader builder = hvm #vcpus = 1 memory = 1024 #shadow_memory = 8 name = mac01 NE2000=0 # The bridge name should coincide with the bridge name in result of the command : brctl show vif = [ type=ioemu, bridge= eth0 ] # During installation booting D: (CDROM) disk = [ file:/home/xen/domains/mac01/disk1.img,ioemu:hda,w, file:/home/xen/domains/mac01/swap.img,ioemu:hdb,w, file:/home/sysadmin/isos/mac/iATKOS_S3_version2.iso,hdc:cdrom,r ] boot = cd # After installation (using only drive C: (Installed system) #boot = c
  • 24. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Tips install MacOS # Using VNC port 590x for as screen sdl=0 vnc=1 vncviewer=1 #nographic = 0 vncdisplay=6 vnclisten="0.0.0.0" vncconsole=1 vncpasswd=password stdvga=1 serial=pty monitor=1 #usbdevice=tablet pae=1 acpi = 1 apic = 1 # Behaviour # on_poweroff = destroy on_reboot = restart on_crash = restart
  • 25. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Demostracion Warning … las pruebas en vivo siempre fallan :(
  • 26. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER oscar.gonalez@ianux.com.ar Dudas? | Preguntas?
  • 27. XEN Virtualizando Infraestructuras //INTRODUCCION+TALLER Gracias por la paciencia!!! y a los organizadores por hacernos sentir comodos Hasta la proxima....