Your SlideShare is downloading. ×
  • Like
Virtualizacion KVM + libvirt + HREL6
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

Conceptos y ejemplos de virtualización con KVM, libvirt y RHEL6. Aprendiendo KVM paso a paso.

Conceptos y ejemplos de virtualización con KVM, libvirt y RHEL6. Aprendiendo KVM paso a paso.

  • 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
4,204
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
157
Comments
0
Likes
4

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. CABILDO TENERIFE ­ DIC 2012 Virtualización KVM + RHEL6
  • 2. Indice● Introducción a la Virtualización● Introducción a la Virtualización con KVM● Instalación de KVM sobre RHEL 6● Creación de máquinas virtuales● Administración de máquinas virtuales● Migraciones de máquinas virtuales● Backups & Snapshots● Almacenamiento● Rendimiento y Optimización
  • 3. Introducción a la  Virtualización
  • 4. ¿Qué es la virtualización?
  • 5. Un recurso físico, varios lógicos
  • 6. Es la combinación de hardware y software que permite a una única  máquina comportarse como si  fueran varias máquinas
  • 7. Características● El término nace en los 60s y en los 70s IBM ya crea VM● Desde 2005 Intel y AMD dan soporte hardware para la  virtualización, mayor rendimiento.● Permite aislar aplicaciones y usuarios en la mísma máquina● Capacidad para ejecutar diferentes S.O. ● Permite reducir los costes totales de propiedad (TCO)● Minimiza el consumo de energía e infraestructura
  • 8. Arquitectura de virtualización
  • 9. Arquitectura de virtualización
  • 10. Hypervisores● Es como se le conoce al software de virtualización● Son los encargados de gestionar las diferentes VM● Se encargan de aislar las diferentes VM● Ofrecen una interfaz única de acceso al hardware● Personalización extrema● Reducir el coste de desarrollo y mantenimiento● Reducir el coste de soporte y asistencia
  • 11. Tipos de virtualización● Emulación● Virtualización completa● Paravirtualización● Virtualización a nivel de Sistema Operativo
  • 12. Emulación● La máquina virtual simula el hardware completo● Ventajas: Simular hardware no disponible● Desventajas: bajo rendimiento y baja densidad (1000%)● Ejemplos: bochs, qemu
  • 13. Virtualización completa● Parecido a emulación● Se diferencia de la emulación en que los S.O. A virtualizar  están diseñados para correr en la misma arquitectura● Ventajas: flexibilidad, ejecutar diferentes S.O.● Desventajas: no se pueden emular otras arquitecturas● Ejemplo: virtualbox, KVM, XEN + VT, Vmware, Hyper­V
  • 14. Paravirtualización● La VM tiene la misma arquitectura● Ventajas: rendimiento (ligero y rápido), escalabilidad, no  requiere VT● Desventajas: requiere modificar el S.O. invitado.● Ejemplo: XEN, KVM, Hyper­V, VMware
  • 15. Virtualización a nivel de S.O.● La VM se hace con el mismo S.O. que lo aloja (sin  hypervisor)● El S.O. Está modificado para permitir múltiples espacios de  usaurio aislados● Ventajas: muy rápido, rendimiento cercano al nativo● Desventajas: más dificil aislar completamente● Ejemplo: openVZ, virtuozzo, vserver, containers...
  • 16. Otras virtualizaciones● Virtualización de bibliotecas: ejecución de API Win32. Wine● Virtualización de aplicación: Java Virtual Machine● Virtualización de almacenamiento: pool de discos. LVM● Virtualización de escritorio: escritorio como servicio. SunVDI● Virtualización de red: Crossbow
  • 17. Algunos términos● P2V: Phisical to Virtual: Migrar de físico a virtual● V2V: Virtual to Virtual: Migrar de virtual a virtual (de un  hipervisor a otro)● V2P: Virtual to Phisical: Migrar de virtual a físico● Dominio: máquina virtual
  • 18. KVM
  • 19. KVM, el sistema oficial de virtualización  del kernel de Linux.● Es un módulo del kernel que convierte el SO Linux en un  hypervisor. Se ha portado a FreeBSD y Illumos.● Creado por Quramnet (comprado por RH en 2008)● Soporta x86 (32 y 64 bits), S/390, PowerPC, IA­64 y ARM en  proceso● Utiliza el API estándar del kernel● Sistema de virtualización oficial de RHEL
  • 20. KVM, basado en Qemu (emulación)  pero modificado para virtualización● Necesidad de soporte en el procesador instrucciones Intel­ VT, AMD­V● Al cargarse el módulo KVM, se convierte en un hypervisor  “bare­metal”● Soporte de drivers paravirtualizados para mejorar el  rendimiento
  • 21. KVM, Kernel based Virtual Machine● Seguridad – Cada Virtual Machine es un proceso – Cada CPU es un thread – Se aprovecha de modelo seguridad selinux/AppArmor – Svirt● Es software libre
  • 22. KVM, tipos de redes● User networking● Private virtual Bridge● Public Bridge
  • 23. KVM, tipos de formatos de imagen● Raw – Ocupa todo el tamaño total – No soporta snapshots, compresión ni cifrado – Mejor I/O● Qcow2 – Imagen ocupa tamaño real y aumenta según necesid – Soporta snapshots, compresión y cifrado
  • 24. KVM, tipos de formatos de imagen● Vmdk – Formato utilizado por VMWare Workstation● VDI – Formato soportado por VirtualBbox
  • 25. KVM, desventajas● Proyecto relativamente jóven● No hay herramientas sofisticadas para la gestión de  servidores y VM● KVM aun puede mejorar mucho – Ahora se está trabajando en almacenamiento VirtFS,  disponible en anfitrión y huesped. El huesped es  capaz de utilizar la caché del anfitrión, acelerando el acceso a ficheros.
  • 26. Libvirt
  • 27. Libvirt● Conjunto de herramientas con API para virtualización de  sistemas Linux● Soporta los siguientes hypervisores KVM/QEMU, XEN, LXC,  OpenVZ, UML, Virtualbox, Vmware ESX/GSX, Workstation,  Hyper­V● Almacenamiento IDE/SCSI/USB/, LVM, iSCSI, NFS..● Proyecto de Software Libre 
  • 28. Libvirt arquitectura
  • 29. Virsh, Libvirt y ficheros XML● Virsh puede gestionar ficheros XML. Es muy útil para realizar  scripting avanzado para grandes despliegues.● Puedes realizar tareas especiales de forma automatizada
  • 30. Libvirt, tipos de formatos de imagen● Raw: fichero plano● Iso: formato disco de CDROM● Dmg: formato disco de Mac● Qcow2: formato disco qemu v2● Vmdk: formato disco VMWare● Vdi: formato disco Virtualbox● Vpc: formato disco VirtualPC
  • 31. Instalación de RHEL6 + KVM
  • 32. Instalación de RHEL6
  • 33. Instalación de KVM● KVM, al utilizar el paradigma de virtualización completa, es  necesario realizar la comprobación previa de que los  equipos soportan virtualización (Intel­VT, AMD­V) – grep vmx|svm /proc/cpuinfo● Es necesario habilitarlo en la BIOS.
  • 34. Ubicación de las máquinas virtuales● Local – Dentro del sistema de ficheros, habitualmente en – /var/lib/libvirt/images● Remoto – NFS, Samba.. – ISCSI, Fibre Channel...
  • 35. Instalación de paquetes KVM Instalación nueva
  • 36. Instalación de paquetes KVM Instalación nueva
  • 37. Instalación de paquetes KVM Instalación existente● yum install qemu­kvm, qemu­kvm­tools, libvirt, libvirt­ python, libvirt­client, python­virtinst, virt­manager, virt­ viewer, virt­v2v, libguestfs, libguestfs­tools● Confirmar que están cargados los módulos – kvm – kvm_intel
  • 38. Comprobación de acceso a KVM● Añadir el usuario root al gruopo libvirt – adduser ­G root libvirt● Comprobamos que podemos acceder – virsh ­c qemu:///system 
  • 39. Creación de máquinas virtuales
  • 40. Virt­install: creación de VM● Comando que permita aprovisionar máquinas virtuales● Herramienta de línea de comandos● Básicamente hay que indicar: – Nombre de la VM (­­name) – RAM (­­ram) – Almacenamiento (­­file,­­disk) – Método de instalación (­­cdrom,­­location)
  • 41. Virt­install: creación de VM● Virt­install – Virt­install ­­name=ubuntu1204 ­­vcpus=1 ­­ram=1024  ­­file=/var/lib/libvirt/images/ubuntu1204.img ­­file­ size=6 ­­os­type linux ­­os­variant ubuntuprecise ­­vnc –cdrom=/opt/ubuntu.iso● También es posible crearlas con: – Virsh – virt­manager
  • 42. Herramientas para la gestión de MV● Hay 2 herramientas principales para la gestión de máquinas virtuales: – Modo consola: virsh – Modo gráfico: virt­manager
  • 43. Virt­manager● Herramienta para gestionar las máquinas virtuales, consultar consumo de recursos, acceder a consolas virtuales,  clonación de máquinas● Permite gestionar hypervisores QEMU, KVM, XEN● Permite conexiones locales y remotas● Muestra estadísticas de rendimiento● Permite gestión de pools de almacenamiento
  • 44. Virt­manager
  • 45. Virt­manager
  • 46. Virt­manager
  • 47. virsh● Virsh es una herramienta de línea de comando para  administar a los huéspedes y al hipervisor● Utiliza la API de libvirt
  • 48. virsh● virsh ­c qemu+ssh://root@host.to.con:22222/systemBienvenido a virsh, la terminal de virtualización interactiva.Teclee:  «help» para ayuda con las órdenes         «quit» para salir ● Para que no pida contraseña – ssh­keygen ­t dsa – ssh­copy­id ­i ~/.ssh/id_rsa.pub root@somehost
  • 49. virsh● virsh ­c qemu+ssh://root@host.to.con:22222/systemBienvenido a virsh, la terminal de virtualización interactiva.Teclee:  «help» para ayuda con las órdenes         «quit» para salir
  • 50. Opciones virsh
  • 51. Creación de máquinas virtuales● Virt­install – Virt­install ­­network ­­name=ubuntu1204 ­­ram=1024  ­­file=/var/lib/libvirt/images/ ­­file­size=6 ­­vnc – cdrom=/opt/ubuntu.iso● Virt­manager – Mediante la interfaz gráfica● Virsh – Mediante ficheros XML (http://libvirt.org/format.html)
  • 52. Ficheros XML <domain type=kvm id=3>   <name>ubuntu</name>   <uuid>4e3350e1­7612­d9da­1569­4cdbb6a74915</uuid>   <memory unit=KiB>524288</memory>   <currentMemory unit=KiB>524288</currentMemory>   <vcpu placement=static>1</vcpu>   <os>     <type arch=x86_64 machine=rhel6.3.0>hvm</type>     <boot dev=hd/>   </os>   <clock offset=utc/>   <devices>     <emulator>/usr/libexec/qemu­kvm</emulator>     <disk type=file device=disk>       <driver name=qemu type=qcow2 cache=none/>       <source file=/var/lib/libvirt/images/ubuntu.qcow2/>       <target dev=vdb bus=virtio/>       <alias name=virtio­disk1/>      <address type=pci domain=0x0000 bus=0x00 slot=0x06 function=0x0/>     </disk>
  • 53. Virsh● Arrancar máquina virtual – virsh start <domain>● Apagar máquina virtual – virsh destroy <domain>● Eliminar máquina virtual – virsh undefine <domain>
  • 54. Virsh● Suspender máquina virtual a RAM (consume RAM, pero no  CPU ni I/O) – virsh suspend <domain>● Restaurar máquina virtual – virsh resume <domain>● Conocer el estado de una VM – Virsh domstate <domain>
  • 55. Virsh● Listar máquinas virtuales – virsh list● Listar pools – virsh pool­list● Listar volúmenes – virsh vol­list <pool>
  • 56. Otros comandos● Además de la shell virsh existen una multitud de comandos  que realizan tareas similares: – Listar el contenido de un directorio de una VM ● virt­ls – Listar el espacio de las particiones de una VM ● virt­df – Listar las particiones ● virt­list­partitions
  • 57. Otros comandos● Listar el contenido de un fichero de una VM – virt­cat● Redimensionar una VM – virt­resize● Clonar VM – virt­clone
  • 58. Otros comandos: virt­top
  • 59. Administración de máquinas virtuales
  • 60. Administración de máquinas virtuales● Cambiar la memoria en caliente. Para poder realizar este  cambio la configuración de memoria máxima permitida  tiene que permitirnoslo, sino hay que cambiarlo primero. – virsh setmen vm1 524288● Cambiar las CPU – virsh edit vm1
  • 61. Gestión de pools● Los pools son orígenes de dispositivos de almacenamiento  en los que alojar los volúmenes (máquinas virtuales)● Estos pools pueden ser de diversos tipos: – Dir: directorio del sistema de ficheros – Disk: dispositivo de disco físico  – Fs: dispositivo de bloque – ISCSI: destino iSCSI – Logical: grupo de volumen LVM
  • 62. Gestión de pools: tipos
  • 63. Drivers
  • 64. Drivers de dispositivos● KVM soporta virtualización hibrida.  – IDE ● En los SO invitados: emulación drivers.  ● Bajo I/O en dispositivos de bloques y red – VirtIO ●  En los SO invitados drivers paravirtualizados.  ● Alta I/O en dispositivos de bloques y red
  • 65. Drivers de dispositivos: Virtio● VirtIO es una interfaz independiente del hypervisor● Incluido en kernel > 2.6.25● RedHat ha desarrollado drivers virtIO para Windows,  certificados por Microsoft.
  • 66. VirtIO disk driver
  • 67. VirtIO network driver
  • 68. Virtual Networking
  • 69. Virtual Networking● Para la implementación de redes virtuales libvirt utiliza el  concepto de switches virtuales● Un switch virtual es una implementación software de un  switch al que se le pueden conectar varias máquinas y su  tráfico se redirige a través de ese switch.● El anfitrión Linux representa un switch virtual como una  interfaz de red.● Default es un switch virtual representado por virbr0.
  • 70. Virtual Networking
  • 71. Virtual Networking● Por defecto – Las VM reciben una IP por DHCP (dnsmasq) – El anfitrión hace NAT (masquerading) – Tienen acceso de red a otras máquinas virtuales o al  host a través de 192.168.122.0● Tenemos una interfaz virbr0 que es la encargada de la  conectividad NAT
  • 72. Virtual Networking: NAT
  • 73. Virtual Networking● Si se quiere que las máquinas tengan acceso a la LAN es  necesario crear un BRIDGE● Tenemos una interfaz virbr0 que es la encargada de la  conectividad NAT. No utilizarla para crear el Bridge.● Estableceremos un bridge entre 2 interfaces del anfitrión – Dispositivo físico (eth0, eth1, bond0..) – Dispositvo virtual (vnet0...) – Para generar el bridge br0● La IP del anfitrión se la quedará br0
  • 74. Virtual Networking: bridge● Bridge en Linux – Deshabilitar NetworkManager (no soporta bridge) ● chkconfig NetworkManager off ● chkconfig network off ● service NetworkManager stop ● service netwok start
  • 75. Virtual Networking: bridge● Crear el Bridge (I) – /etc/sysconfig/network­scripts/ifcfg­eth0 DEVICE=”eth0” ONBOOT=”yes” BRIDGE=”br0”
  • 76. Virtual Networking: bridge● Crear el Bridge (II) – /etc/sysconfig/network­scripts/ifcfg­br0 DEVICE=”br0” TYPE=”Bridge” ONBOOT=”yes” DELAY=”0” IPADDR=172.25.209.249 BOOTPROTO=none NETMASK=255.255.254.0 GATEWAY=172.25.208.1 DNS1=172.25.201.33 DNS2=172.16.2.2
  • 77. Virtual Networking: bridge● Confirmar que iptables no está trabajando en el bridge – /etc/sysctl.conf net.bridge.bridge­nf­call­ip6tables = 0 net.bridge.bridge­nf­call­iptables = 0 net.bridge.bridge­nf­call­arptables = 0 – sysctl ­p /etc/systctl.conf – Service libvirtd reload
  • 78. Virtual Networking: bridge● Reiniciar la red – service network restart● Verificar el bridge – brctl show bridge name     bridge id               STP enabled     interfaces virbr0          8000.000000000000       yes br0             8000.000e0cb30550       no              eth0
  • 79. Virtual Networking: bridge
  • 80. Virtual Networking: VLAN Tagging● VLAN es una red local virtual.● Se utilizan por su rendimiento, seguridad, facilidad de  gestión...● Requiere que esté el módulo cargado – modprobe 8021q
  • 81. Virtual Networking: bridge● Ajustamos los valores de la interfaz física – /etc/sysconfig/network­scripts/ifcfg­eth0 DEVICE=”eth0” TYPE=”Ethernet” ONBOOT=”yes” BOOTPROTO=none
  • 82. Virtual Networking: bridge● Vamos a taggear todos los paquetes que salgan a través  de eth0 con el VLAN ID 3003. – /etc/sysconfig/network­scripts/ifcfg­eth0.3003 DEVICE=”eth0.3003” ONBOOT=”yes” BOOTPROTO=static IPADDR=192.168.1.1 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 USERCTL=no VLAN=yes – service network restart
  • 83. Migraciones de máquinas virtuales
  • 84. Migraciones p2v● Las migraciones p2v requieren realizar un proceso de  empaquetamiento del servidor físico en un fichero virtual● Es recomendable darle 1GB más a la máquina virtual.● Se puede realizar con diversas herramientas – Clonezilla – Selfimage – Windows Backup● http://pve.proxmox.com/wiki/Migration_of_servers_to_Proxm ox_VE
  • 85. Migraciones v2v● Las migraciones v2v requieren básicamente que las  máquinas virtuales sean convertidas al formato KVM. – Qemu­img – virt­v2v● Soporta una gran cantidad de formatos – RAW,  – QCOW2 (formato QEMU) – VDI (formato VirtualBox 1.1) – VMDK (formato VMWARE 3, 4 y 6)
  • 86. qemu­img● Comando que permite  – chequear imagen en disco – Realizar conversiones entre formatos de imagen – Proporcionar información de la imágen – Gestionar las snapshots de una imagen – Redimensionar una imagen
  • 87. Migraciones v2v: vmware2kvm● Vmware es el hipervisor más utilizado en el mundo, por lo  que a menudo vamos a querer hacer migraciones  vmware2kvm. – Qemu­img ● qemu­img convert ubuntu*.vmdk ­O raw ubuntu.raw ● qemu­img convert ubuntu*.vmdk ­O qcow2  ubuntu.qcow2 – Arrancar en virt­manager – Arrancar con virsh (vmware2libvirt del vmx)
  • 88. Migraciones v2v: virtualbox2kvm● Virtualbox es un hipervisor de software libre ampliamente  utilizado para la virtuialización de escritorios. – VboxManage ● VBoxManage clonehd ­­format raw winXP.vdi  winXP.raw – Qemu­img ● qemu­img convert winXP.raw ­O qcow2  winXP.qcow2 – Arrancar en virt­manager
  • 89. Virt­maneger no detecta correctamente  qcow2
  • 90. Migraciones v2v: bootfail ● Virt­manager no detecta correctamente el formato qcow2  y lo considera raw. Eso hace que el sistema no arranque. ● Solución – Virt­manager ● Editar las propiedades de la máquina > IDE – virsh ● virsh edit <domain> <driver name=qemu type=raw/>       <driver name=qemu type=qcow2/>
  • 91. Migraciones v2v: particiones ● En ocasiones puede interesarnos conocer las particiones de una máquina virtual – parted ­s /var/lib/libvirt/images/ubuntu.img printModel:  (file)Disk /var/lib/libvirt/images/ubuntu.img: 2147MBSector size (logical/physical): 512B/512BPartition Table: msdosNumero  Inicio  Fin     Tamaño  Typo      Sistema de ficheros  Banderas 1      1049kB  1611MB  1610MB  primary   ext4                 arranque 2      1612MB  2146MB  535MB   extended 5      1612MB  2146MB  535MB   logical   linux­swap(v1)
  • 92. Ojo con las máquinas Windows BSoD
  • 93. Migraciones v2v: windows● Las máquinas Windows tienen el problema de BsoD, ya que  memorizan el hardware sobre el que fue instalado y no  disponen del controlador IDE. – STOP 0x000007f.● Solución: – Desinstalar vmware­tools – Utilidad MergeIDE  http://www.inode64.com/doc_download/22­mergeide – Proceso habitual (vmware­vdiskmanager + gemu­img)
  • 94. Migraciones v2v: windows● MergeIDE – Es un script que mete una serie de parametros en el  Registro de Windows y confirma la existencia de unos  drivers en Windows (%SystemRoot%System32Drivers) ● atapi.sys ● intelide.sys ● pciide.sys ● pciidex.sys
  • 95. Snapshots y backups
  • 96. Snapshots y Backups● Los snapshots y backups nos permitirán hacer una copia  que poder recuperar posteriormente. Los snapshots son  mucho más eficientes que un backup tradicional y más  sencillos de restaurar.● Herramientas más utilizadas: – Virt­clonate – Virsh snapshot – LVM2
  • 97. Snapshots: virt­clonate● La función clonate de virsh no es un snapshot como tal, es  una copia de una máquina con el objetivo de crear clones, como si fuera una plantilla.● La clonación no se puede hacer en caliente, es necesario  parar la máquina● Es una copia exacta de la máquina (CPUs, memoria,  espacio en disco y contenido). Genera una nueva MAC  para evitar problemas.
  • 98. Snapshots: virt­clone● Suspender la máquina – virsh suspend vm1● Clonar la máquina – virt­clone ­­original vm1 ­­name vm1­clone ­­file  /var/lib/libvirt/images/vm1­clone.img● Arrancar ambas máquinas – virsh resume vm1 – virsh start vm1­clone
  • 99. Snapshots: virsh snapshot● Un snapshot no es una copia como tal, sino un recordar el  estado en un momento dado. Cuando se realiza un  snapshot no se copia y por tanto no ocupa. El snapshot va  ocupando según se va modificando la máquina original.● Requiere imágenes de tipo qcow2.
  • 100. Snapshots: virsh snapshot● Confirmar el formato de la imagen – qemu­img info /var/lib/libvirt/images/vm1.img● Recomendable parar la máquina antes – virsh shutdown vm1● Tomamos el snapshot – virsh snapshot­create vm1● Confirmar el snapshot – virsh snapshot­list vm1
  • 101. Snapshots: virsh snapshot● Restaurar un snapshot – virsh snapshot­revert vm1 estado­inicial● Eliminar un snapshot – virsh snapshot­delete vm1 estado­a­borrar
  • 102. Snapshots: LVM2● Los snapshots nos permitirán hacer una copia que poder  recuperar posteriormente. Los snapshots son mucho más  eficientes que un backup y más sencillos de restaurar.● Formas de realizar un snapsot: – Virsh snapshot – Virsh clonate – LVM2
  • 103. Almacenamiento
  • 104. Almacenamiento
  • 105. Almacenamiento● KVM utiliza cualquier almacenamiento soportado por Linux – Local ● IDE/SCSI/SATA/USB, LVM – Remoto ● NAS: NFS, Samba/CIFS ● SAN: iSCSIFibre Channel.. – Distribuido ● GFS2, OCFS, GlusterFS
  • 106. Almacenamiento● No es aconsejable pasar dispositivos completos a VM – Es mejor asignar /dev/sdb1 que /dev/sdb – Sino el invitado puede crear particiones que afecten al  anfitrión
  • 107. Almacenamiento● En ocasiones el almacenamiento requiere ser visto por el  hypervisor, ser detectado. Bien porque es nuevo, bien  porque cambia de tamaño. Cada sistema de  almacenamiento dispone de diferentes formas de hacerlo● RHEL provee de un script “universal” – /usr/bin/rescan­scsi­bus.sh – rpm ­ivh  http://mirror.centos.org/centos/6/os/x86_64/Packages/sg3_utils­1.28­4.el6.x86_64.rpm● Especialmente útil en sistemas como iSCSI, FC...
  • 108. Almacenamiento● Supongamos que queremos añadir un USB a todas las  máquinas virtuales● Añadiendo almacenamiento adicional – virsh attach­disk vm1 /dev/sdb discoUSB ­­driver tap  ­­mode shareable● Puedes repetir el comando anterior en tantas VM como  quieras. Ojo! No hay control de escritura.
  • 109. Almacenamiento: LVM● Mecanismo para crear grandes colecciones de espacio de  almacenamiento que se pueden asignar a diversos sistemas de ficheros (volúmenes) pequeños que a la vez permite  manejarlas como una entidad completa.● Nivel de abstracción entre: – las peticiones de almacenamiento o recuperación  – Los dispositivos físicos concretos donde están  almacenados esos datos.
  • 110. Almacenamiento: LVM● Diseño: – Volume Group (VG) : El Volume Group es el mayor nivel de abstracción  en LVM. Agrupa una colección de Volúmenes Lógicos y Volúmenes  Físicos en una unidad administrativa. – Physical Volume (PV): Un Volumen Físico es típicamente un disco duro,  aunque puede ser cualquier dispositivo que “parezca” un disco duro  (ej. Un dispositivo RAID software). – Logical Volume (LV): El equivalente a una partición en un sistema no  LVM. El LV se ve como un dispositivo de bloques estándar que puede  contener un FS (ej. /home).
  • 111. Almacenamiento: NFS
  • 112. Almacenamiento: iSCSI● Descubrimos el IQN objetivo del LUN – iscsiadm ­m discover ­t st ­p <ip.address>● Creamos el nuevo pool – # virsh pool­define­as myiscsipool iscsi <targethost> ­  <targetiqn> ­ /dev/disk/by­path● Creamos el pool – # virsh pool­build myiscsipool
  • 113. Almacenamiento: Fibre Channel● Tecnología de red utilizada para redes de almacenamiento● Requiere de una tarjeta HBA en el sistema anfitrión● Cada HBA tiene un identificativo único mundial (WWN)● Drivers nativos RHEL6 para FC – lpfc – qla2xxx – zfcp – mptfc
  • 114. Almacenamiento: Fibre Channel● Pasos a realizar para habilitar el acceso 1.Crear un dispositivo de almacenamiento en la cabina ● Se crea a través de herramientas propias 2.Cargar el driver correspondiente ● modprobe qla2xxx 3.El anfitrión detecte el dispositivo presentado ● echo "1" > /sys/class/fc_host/host/issue_lip ● echo "­ ­ ­" > /sys/class/scsi_host/host0/scan
  • 115. Almacenamiento: Fibre Channel● Tras los pasos anteriores fdisk muestra el nuevo dispositivo 4.Creamos una partición con todo el tamaño publicado ● fdisk /dev/sdb 5.Formateamos la partición ● mkfs.ext4 /dev/sdb1 6.Montamos la partición ● mount ­t ext4 /dev/sdb1 /vm­images
  • 116. Almacenamiento: Fibre Channel● Finalmente 7.Editamos /etc/fstab para añadirlo permanentemente ● /dev/sdb1 /vm­images ext4 defaults 0 0 8.Añadimos un nuevo pool ● virt­manager ● virsh
  • 117. Almacenamiento: Fibre Channel● virsh – virsh pool­define­as myfcpool dir ­ ­ ­ ­ /vm­images – virsh pool­build myfcpool – virsh pool­start myfcpool – virsh pool­autostart myfcpool
  • 118. Almacenamiento: Fibre Channel● virt­manager
  • 119. Rendimiento y Optimizaciones
  • 120. Rendimiento● KVM posee el mismo rendimiento y estabilidad que Linux● KVM soporta MV hasta 16CPU virtuales y 256GB RAM● Rendimiento de SGBD Oracle, SAP, LAMP, MS Exchange  sobre KVM oscila entre 95% y 135%● Se han conseguido ratios de hasta 600 máquinas virtuales  en un servidor físico.
  • 121. Optimizaciones● Utilizar virt­manager es una buena idea porque: – Se asegurará de que el huesped va a funcionar – Optimiza el huesped● Es importante ser lo más específico posible – Utilizará drivers adecuados
  • 122. Se específico!
  • 123. Se específico!
  • 124. Optimizaciones● Utilizar drivers paravirtualizados en medida de lo posible  virtio – Exiten drivers para Linux y Windows.● Utiliza kernels > 3.0.0 si es posible ● Utiliza cache=writeback 
  • 125. Piloto
  • 126. Piloto● Servidores de virtualización: RHEL 6 + KVM – Acceso a storage compartido iSCSI/NFS – Creación de máquinas virtuales en nodo1 – Simulación de fallo y levantamiento de máquinas en nodo2● Configuración de switches● Servidores de almacenamiento: Openfiler 2.3 – Sincronización entre ellos modo pri/sec DRBD – Publicación de contenido mediante iSCSI/NFS – Simulación de fallo
  • 127. Otras soluciones
  • 128. Proxmox
  • 129. RedHat Enterprise Virtualization
  • 130. RedHat Enterprise Virtualization
  • 131. RedHat Enterprise Virtualization
  • 132. Citrix
  • 133. Parallels + Plesk