Virtualizacion Con Xen En Open Solaris

3,881 views

Published on

Conferencia de Toni de la Fuente sobre XEN en OpenSolaris en los viernes técnicos de OpenSolaris Hispano

Published in: Technology
3 Comments
4 Likes
Statistics
Notes
  • me lo puedes en viar a mi correo es carlos.12.12@hotmail.comGRACIAS
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hola, podrias enviarme esta ppt a mi mail? v_lavia@hotmail.com GRACIAS!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • me podrias mandar esta presentacion mi mail es morenazo_k@hotmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,881
On SlideShare
0
From Embeds
0
Number of Embeds
1,112
Actions
Shares
0
Downloads
0
Comments
3
Likes
4
Embeds 0
No embeds

No notes for slide

Virtualizacion Con Xen En Open Solaris

  1. 1. Virtualización con Xen en OpenSolaris <ul><li>Toni de la Fuente Díaz </li></ul><ul><li>Fundación I+D del Software Libre </li></ul><ul><li>afuente@fidesol.org - [email_address] http://www.fidesol.org - http://blyx.com </li></ul>
  2. 2. Agenda <ul><li>Introducción </li></ul><ul><li>Virtualización vs. Paravirtualización </li></ul><ul><li>Arquitectura </li></ul><ul><li>Red </li></ul><ul><li>Almacenamiento </li></ul><ul><li>Servicios </li></ul><ul><li>Comandos útiles </li></ul><ul><li>Recursos e información </li></ul>
  3. 3. Introducción: Virtualización <ul><li>El objetivo de la virtualización es aprovechar de la mejor manera posible los recursos disponibles en nuestros sistemas. </li></ul><ul><li>Seguridad: Aislamiento real de aplicaciones: </li></ul><ul><ul><li>Con hardware es demasiado caro. </li></ul></ul><ul><ul><li>Por procesos no es suficiente. </li></ul></ul><ul><li>Excedente de potencia computacional </li></ul><ul><li>Diferentes SO en una misma máquina. </li></ul><ul><li>Pruebas de nuevos entornos/sistemas operativos. </li></ul>
  4. 4. Introducción: Virtualización <ul><li>Desarrollos fiables respecto a la configuración real. </li></ul><ul><li>Pruebas de desarrollos en distintas configuraciones y arquitecturas. </li></ul><ul><li>Actualizaciones seguras. </li></ul><ul><li>Mantenimiento hardware sin parar el servicio . </li></ul>
  5. 5. Introducción: Historia <ul><li>Hace mucho tiempo... </li></ul><ul><li>Christopher Strachey, Atlas, 1959. </li></ul><ul><li>IBM 7044 M44/44X. </li></ul><ul><li>CTSS </li></ul><ul><li>Multics </li></ul><ul><li>IBM: CP-40, CP-67, VM/370 </li></ul><ul><li>Hasta nuestros días: </li></ul><ul><li>HP VPARs para HP-UX </li></ul><ul><li>AS/400 LPAR </li></ul><ul><li>z/VM </li></ul>
  6. 6. Introducción: Virtualización <ul><li>Tipos de virtualización conocidos: </li></ul><ul><li>Software/Hardware-level virtualization </li></ul><ul><ul><li>Vmware, Xen </li></ul></ul><ul><li>Operating system-level virtualization </li></ul><ul><ul><li>Jails </li></ul></ul><ul><li>High-level language virtual machines </li></ul><ul><ul><li>Java VM </li></ul></ul>
  7. 7. Introducción: Xen <ul><li>xVM : Basado en Xen Source. Producto </li></ul><ul><li>independiente del tipo de procesador, realizado </li></ul><ul><li>bajo paravirtualización real (Hypervisor) </li></ul><ul><li>Virtualiza Linux, Windows y Solaris. </li></ul><ul><li>Desde Solaris Express a partir de la build 75 (Solaris Express Developer Edition). </li></ul><ul><li>Permite dos modos de virtualización, HVM y PVM. </li></ul><ul><li>Migración de “invitados” en caliente. </li></ul><ul><li>Soporte para Intel VT-x y AMD-V. </li></ul>
  8. 8. Introducción: Virtualización
  9. 9. Virtualización vs. Paravirtualización <ul><li>PVM (Parallel Virtual Machine): Paravirtualización con kernel Xen, es decir, el invitado debe seguir unas reglas. </li></ul><ul><li>HVM (Hardware Virtual Machine): virtualización total, sin necesidad de kernel Xen, con Hardware Intel-VT o AMD-V. </li></ul>
  10. 10. Arquitectura xVM <ul><li>xVM consiste en: </li></ul><ul><li>Hypervisor : control de acceso a recursos, entre los SO huéspedes y el HW. </li></ul><ul><li>Dominio principal : sistema anfitrión, llamado en el mundo Xen como Dom0 </li></ul><ul><li>Dominios de usuarios : los SO húespedes, llamados como DomU </li></ul><ul><ul><li>- PVM (Parallel Virtual Machine): Paravirtualización con kernel Xen. </li></ul></ul><ul><ul><li>- HVM (Hardware Virtual Machine): virtualización total: con HW Intel-VT o AMD-V </li></ul></ul>
  11. 11. Arquitectura
  12. 12. Red <ul><li>● El invitado (domU) usa un dispositivo virtual que ofrece el anfitrión (dom0) de forma virtualizada sobre la física. </li></ul>
  13. 13. Almacenamiento <ul><li>Puede ser: </li></ul><ul><ul><li>un dispositivo físico, como un disco </li></ul></ul><ul><ul><li>un fichero del FS, el cual es exportado al domU y éste la visión que tendrá será la de que está accediendo a un dispositivo de bloques. </li></ul></ul><ul><li>Dispositivo físico: </li></ul><ul><li>disk = [‘phy:dispositivo_dom0, disp_domU, rw’] </li></ul><ul><li>Fichero: </li></ul><ul><li>disk = [‘file:file_dom0, disp_domU, rw’] </li></ul>
  14. 14. Servicios <ul><li>xVM cuenta con 4 servicios (SMF) </li></ul><ul><li>Deben estar habilitados para trabajar con xVM </li></ul><ul><ul><ul><li>svc:/system/xvm/store:default </li></ul></ul></ul><ul><ul><ul><ul><li>Configuración de los dominios. </li></ul></ul></ul></ul><ul><ul><ul><li>svc:/system/xvm/xend:default </li></ul></ul></ul><ul><ul><ul><ul><li>Proceso que controla los dominios </li></ul></ul></ul></ul><ul><ul><ul><li>svc:/system/xvm/console:default </li></ul></ul></ul><ul><ul><ul><ul><li>Controla las consolas de los dominios. </li></ul></ul></ul></ul><ul><ul><ul><li>svc:/system/xvm/domains:default </li></ul></ul></ul><ul><ul><ul><ul><li>parada/arranque de los dominios durante la parada/arranque del sistema. </li></ul></ul></ul></ul>
  15. 15. Comprobar que tenemos xVM listo <ul><li>xVM esta disponible desde la build 75 de Solaris Express </li></ul><ul><li>Podemos comprobar si nuestro sistema operativo Solaris tiene soporte Xen: </li></ul><ul><ul><li>bash-3.2# ls /boot/xen.gz </li></ul></ul><ul><li>Los servicios necesarios: </li></ul><ul><ul><li>bash-3.2# svcs | grep xvm </li></ul></ul><ul><ul><li>disabled 23:36:20 svc:/system/xvm/store:default </li></ul></ul><ul><ul><li>disabled 23:36:20 svc:/system/xvm/domains:default </li></ul></ul><ul><ul><li>disabled 23:36:21 svc:/system/xvm/console:default </li></ul></ul><ul><ul><li>disabled 23:36:22 svc:/system/xvm/xend:default </li></ul></ul>
  16. 16. Grub para xVM <ul><li>Xen está basado en kernel por lo que tenemos que arrancar con el kernel xen (32bits ): </li></ul><ul><ul><li>bash-3.2# cat /boot/grub/menu.lst </li></ul></ul><ul><ul><li>... </li></ul></ul><ul><ul><li>#--------------------- xVM 32bits-------------------- </li></ul></ul><ul><ul><li>title Solaris xVM 32bits </li></ul></ul><ul><ul><li>kernel$ /boot/xen.gz </li></ul></ul><ul><ul><li>module$ /platform/i86xpv/kernel/unix /platform/i86xpv/kernel/unix </li></ul></ul><ul><ul><li>module$ /platform/i86pc/boot_archive </li></ul></ul><ul><ul><li>#---------------------------------------------------- </li></ul></ul>
  17. 17. Herramientas para xVM <ul><li>virt-install : creación de domU con parámetros o con asistente. </li></ul><ul><li>virsh : shell para gestionar los domU. </li></ul><ul><li>xm : junto con parámetros nos permite gestionar los domU (list, console, pause, start, stop, save, etc) </li></ul><ul><li>virt-manager : GUI para administración de xen. </li></ul>
  18. 18. Directorios <ul><li>¿Donde almacena xVM toda la información con la que trabajamos? </li></ul><ul><li>/var/log/xen : almacen de logs. </li></ul><ul><li>/var/lib/xend/domains : contiene directorios por cada ID de dominio creado. </li></ul><ul><li>/var/xen/dump : almacen de cores que se crean con la opción “dump-core” de “xm”. </li></ul>
  19. 19. Creando un domU con Linux Centos (I) <ul><li>La creación de un sistema invitado </li></ul><ul><li>(piticli@dom0)# virt-install -n centos_x64_2 </li></ul><ul><ul><li>-r 512 -f /ruta-almacen-disco/centos_51_x64_2.img </li></ul></ul><ul><ul><li>-s 5 --nographics --paravirt --os-type=linux </li></ul></ul><ul><ul><li>-l /ruta/al-iso/CentOS-5.1-x86_64-bin-DVD.iso </li></ul></ul><ul><ul><li>-n nombre | -r RAM en MB | -f disco | -s tamaño del disco en GB | -nographics instalación sin X | -l imagen del CD o DVD. </li></ul></ul>
  20. 20. Creando un domU con Linux Centos (II)
  21. 21. Primeros pasos <ul><li>Arranque del sistema invitado: </li></ul><ul><li>(piticli@dom0)# xm start centos_x64 </li></ul><ul><li>Ver estado de los sistemas: </li></ul><ul><li>(piticli@dom0)# xm list </li></ul><ul><li>Name ID Mem VCPUs State Time(s) </li></ul><ul><li>Domain-0 0 774 2 r----- 389.4 </li></ul><ul><li>centos_x64 30 720 2 -b---- 39.0 </li></ul><ul><li>Estados: </li></ul><ul><ul><li>r: running, b: blocked (arrancando o parando), p: paused, s: shutdown, c: crashed, d: dying </li></ul></ul>
  22. 22. Entorno gráfico <ul><li>Podemos usar Xnext para exportar KDE: </li></ul>
  23. 23. Parar domU <ul><li>Podemos usar “xm stop” o el radical “xm destroy” que es como dar un botonazo al equipo: </li></ul><ul><li>(piticli@dom0)# xm list </li></ul><ul><li>Name ID Mem VCPUs State Time(s) </li></ul><ul><li>Domain-0 0 774 2 r----- 389.4 </li></ul><ul><li>centos_x64 30 720 2 -b---- 39.0 </li></ul><ul><li>( piticli @dom0)# xm destroy centos_x64 </li></ul><ul><li>( piticli @dom0)# xm list </li></ul><ul><li>Name ID Mem VCPUs State Time(s) </li></ul><ul><li>Domain-0 0 774 2 r----- 391.7 </li></ul><ul><li>centos_x64 512 1 0.0 </li></ul>
  24. 24. Parar domU <ul><li>Podemos usar xm stop o el radical xm destroy que es como dar un botonazo al equipo: </li></ul><ul><li>(piticli@dom0)# xm list </li></ul><ul><li>Name ID Mem VCPUs State Time(s) </li></ul><ul><li>Domain-0 0 774 2 r----- 389.4 </li></ul><ul><li>centos_x64 30 720 2 -b---- 39.0 </li></ul><ul><li>( piticli @dom0)# xm destroy centos_x64 </li></ul><ul><li>( piticli @dom0)# xm list </li></ul><ul><li>Name ID Mem VCPUs State Time(s) </li></ul><ul><li>Domain-0 0 774 2 r----- 391.7 </li></ul><ul><li>centos_x64 512 1 0.0 </li></ul>
  25. 25. Otros comandos de interés I <ul><li>xm pause/unpause <nombre domU> : </li></ul><ul><ul><li>paraliza en ejecución el domU </li></ul></ul><ul><li>xm suspend/resume <nombre domU> : </li></ul><ul><ul><li>graba en disco el estado y se para. </li></ul></ul><ul><li>xm save/restore centos_x64 centos_x64.01 : </li></ul><ul><ul><li>crea un punto de control (snapshot) </li></ul></ul><ul><li>xm delete centos_x64 : </li></ul><ul><ul><li>borra un dominio, debe estar parado. Solo se elimina la configuración, el .img (disco) no se elimina. </li></ul></ul>
  26. 26. Otros comandos de interés II <ul><li>xm vcpu-set centos_x64 2 : </li></ul><ul><ul><li>asignamos dos CPUs al domU, hay que reiniciar el domU para que tenga efecto. </li></ul></ul><ul><li>xm mem-max centos_x64 720 : </li></ul><ul><ul><li>asignamos 720 MB de RAM, hay que reiniciar. </li></ul></ul><ul><li>xm network-attach centos_x64 : </li></ul><ul><ul><li>asigna interfaz de red, no necesita reinicio. </li></ul></ul><ul><li>xm block-attach centos_x64 file:discos1.img hdd1 w </li></ul><ul><ul><li>añadimos un nuevo disco creado previamente con “dd”, no hay que reiniciar. </li></ul></ul>
  27. 27. Otros comandos de interés III <ul><li>Crear un domU con Solaris Express : </li></ul><ul><ul><li>bash-3.2# virt-install -n solaris_11_x64 -r 750 </li></ul></ul><ul><ul><li>-f /export/home/xen/Solaris_11/solaris_11_x64.img </li></ul></ul><ul><ul><li>-s 5 --nographics --paravirt --os-type=solaris </li></ul></ul><ul><ul><li>-l /export/home/IMAGES/Solaris_11_x86_1.iso </li></ul></ul><ul><ul><li>Nota: se le ha asignado 750MB de RAM, con menos no arranca la instalación. </li></ul></ul>
  28. 28. Conclusión <ul><li>xVM es un herramienta madura y potente que nos permite sacar el máximo partido al hardware del que disponemos. </li></ul>
  29. 29. Recursos e información <ul><li>http://www.sangoogle.com </li></ul><ul><li>http://jjmora.es/opensolaris_virtualizando_con_xvm </li></ul><ul><li>http://en.wikipedia.org/wiki/Xen </li></ul><ul><li>http://xen.org/ </li></ul>
  30. 31. ¡ Muchas Gracias ! <ul><li>Toni de la Fuente Díaz </li></ul><ul><li>Fundación I+D del Software Libre </li></ul><ul><li>afuente@fidesol.org - [email_address] http://www.fidesol.org - http://blyx.com </li></ul>

×