Download Virtualización Virtualización rendimiento de rendimiento
Document related concepts
Transcript
Virtualización y rendimiento de discos Virtualización y rendimiento de discos 1 Introducción: Dado que las tecnologías de virtualización tienen muchas aplicaciones específicas, comenzaremos presentando las correspondientes definiciones. Definición: Virtualización Virtualizar algo es, básicamente, hacer que algo que no existe (físicamente) parezca que existe. Piense en el contexto de realidad virtual. Veamos un ejemplo rápido de algo con lo que todos en el mundo de la informática estamos familiarizados: un PC con 4 volúmenes lógicos (C, D, E y F). En realidad, dicho escritorio tiene una unidad de disco físico dividido en 4 volúmenes. Un volumen lógico es, en este caso, una unidad virtual. A continuación definiremos dos aplicaciones recientes y muy populares de la tecnología de virtualización. Definición: Virtualización de servidor1 / Equipo virtual La virtualización de servidor describe la creación de una o varias instancias de un sistema operativo “huésped”, bien sobre un sistema operativo “host” o anfitrión (arquitectura alojada) o directamente sobre una capa de software especializado denominado hipervisor (arquitectura de hipervisor). En ambas arquitecturas, la virtualización del sistema host de otros sistemas operativos se consigue mediante software propio del fabricante (por ejemplo, Virtual Server™, VMware™, Virtuozzo™), que reside entre el hardware físico (CPU, memoria, etc.) y los sistemas operativos "huéspedes". Cada sistema operativo huésped o host ejecuta sus propias aplicaciones de manera independiente como si se tratara del único sistema que opera en el hardware. Imagen 1 (equipos virtuales) En un entorno host/huésped, cada instancia de un sistema operativo huésped almacena un archivo denominado disco virtual (por ejemplo, .vhd, .vmdk) en el sistema host. Esta es una implementación de la virtualización de equipos muy habitual hoy en día. 1 En este documento, la virtualización de servidor incluye también la virtualización de PC (estación de trabajo). Virtualización y rendimiento de discos 2 La arquitectura de hipervisor elimina la necesidad de un sistema “host”. Con un hipervisor, los equipos virtuales se ejecutan en una capa delgada de software de abstracción del hardware. Dicha capa de software, el hipervisor, se encarga de las comunicaciones de hardware de todos los sistemas virtuales existentes en el equipo. El hipervisor representa el futuro de la tecnología de equipos virtuales. Definición: Virtualización del almacenamiento La virtualización del almacenamiento implica la creación de un contenedor lógico de datos, generalmente de gran tamaño, que, mediante software, aparenta estar físicamente situado completamente en un único servidor. En realidad, los datos pueden estar situados en cientos de discos físicos repartidos por decenas de servidores. Este es el concepto que implementan las SAN (Storage Area Networks: redes de área de almacenamiento). Para lograr el máximo Imagen 2 (virtualización del rendimiento, estos contenedores de almacenamiento) almacenamiento requieren desfragmentación automática de discos de la misma forma que la requiere una unidad de disco duro independiente. La desfragmentación automática se implementa desde servidores que administran los correspondientes volúmenes de disco lógicos. Nuestra última definición es una explicación a grandes rasgos de la fragmentación de discos. Definición: Fragmentación de discos La fragmentación de disco es un estado en el que las distintas partes que conforman archivos concretos y el espacio libre de un disco no son contiguas sino que están fragmentadas y repartidas por todo el disco. Esto exige que la unidad de disco duro localice todos los fragmentos de un archivo. Recabar todos los fragmentos de un archivo de numerosos lugares en lugar de hacerlo de un solo lugar provoca que el acceso sea significativamente más lento de lo que debiera. La grabación de archivos en el espacio libre fragmentado también lleva más tiempo y puede aumentar la probabilidad de que se fragmenten los nuevos archivos. Imagen 3 (fragmentación de disco) Virtualización y rendimiento de discos 3 El efecto de la fragmentación de los discos es un rendimiento más lento del sistema, mayor uso de los recursos de E/S y más situaciones graves, además de fiabilidad reducida, que puede originar fenómenos como los bloqueos de aplicaciones y del sistema. Descripción general: Dependiendo de la perspectiva que adoptemos, el objetivo de la virtualización es permitir la divergencia y la convergencia. Permite la división de objetos lógicos que deben estar separados y/o la consolidación de objetos que deben estar agrupados. La eclosión reciente de esta tecnología coincide con la tendencia hacia la consolidación de los sistemas en un menor número de equipos de hardware pero más potentes. Con un hardware más robusto, la consolidación tiene sentido en lo que se refiere a la efectividad de los costes. Y ante la tendencia a la consolidación, cuyo fin es reducir las necesidades de administración y aumentar la eficiencia de la utilización del hardware, la virtualización resulta más que interesante. El objetivo de la desfragmentación es consolidar los fragmentos de los archivos en una única pieza para aumentar la velocidad de acceso, además de reducir los fragmentos de espacio libre a tan sólo unos pocos trozos grandes. La virtualización tiene sus riesgos, ya que somete los recursos físicos a un mayor nivel de estrés. Aunque la infrautilización de la CPU puede ser un factor que anime a la virtualización de los servidores, otros recursos de hardware pueden sufrir una sobreexplotación. Dado que un sistema host tiene una capacidad limitada (que depende de la aplicación) para paginar la memoria utilizada por los sistemas huéspedes, el cuello de botella más reconocible que debe atajarse es la memoria física (la RAM). Las opciones que permiten mitigar los embotellamientos de la memoria de manera programática tienen como contrapartida efectos negativos en el rendimiento cuando el disco es reintroducido. Otro componente principal que quizá no se reconoce tan fácilmente es el subsistema de disco. En muchos casos, dependiendo del objetivo y la aplicación de los sistemas huésped/virtual, el embotellamiento en los discos es el obstáculo más importante para lograr un alto rendimiento. El resto de este documento describe la importancia creciente del rendimiento de los discos. El disco es el eslabón débil: Las CPU y la memoria operan a velocidades muy superiores a las de las unidades de disco duro mecánicas. Cuanto más lento es el disco, más lento es todo el sistema. Aunque los profesionales del sector conocen bien esta realidad, merece ser reiterada, ya que el problema se hace patente cuando se pide a los discos que den más de sí. Esto es lo que sucede con la virtualización, en la que el hardware tiene que dar apoyo a numerosos sistemas operativos simultáneamente. Otro factor fundamental que debe tenerse en cuenta es que la virtualización de los servidores puede aumentar la fragmentación de los discos y, como ya se ha indicado anteriormente, la fragmentación de los discos reduce el rendimiento del disco. Virtualización y rendimiento de discos 4 La fragmentación se produce normalmente en unidades de disco lógicas, que los controladores de dispositivos traducen en sectores físicos de un disco. Puede ilustrarse como una serie de piezas de un archivo almacenadas de manera no contigua (Imagen 4). En el caso de los sistemas virtuales, el volumen lógico queda enmascarado por la tecnología, lo que se conoce como disco virtual. Estos discos virtuales residen en discos lógicos en forma de contenedores de archivos. Estos archivos de discos virtuales pueden fragmentarse del mismo modo que cualquier otro archivo, dando como resultado un disco duro virtual fragmentado “lógicamente” (Imagen 5), que continúa conteniendo la típica fragmentación de archivos. Imagen 4 (unidad fragmentada) Imagen 5 (disco virtual fragmentado) La Imagen 5 aparecería en la lista de “Archivos fragmentados” de un informe de análisis de desfragmentación ejecutado desde un sistema operativo Windows host como “VirtualServer1.vhd, con un tamaño de 4 GB en 6 trozos”. Imagen 6 (Fragmentación de disco jerárquica) Esto se traduce en fragmentación jerárquica o, dicho de otro modo, en fragmentación dentro de la fragmentación. Las líneas negras de la Imagen 6 (izquierda) representan las asignaciones de E/S de disco de los fragmentos de archivos de disco virtual al sistema host en una arquitectura alojada. La unidad más pequeña de acceso a datos en un equipo virtual suele ser de 128 sectores o 64 KB. Por ello, si las unidades de acceso (llamadas granos en VMware) se fragmentan, el rendimiento se resiente. Virtualización y rendimiento de discos 5 Imagen 7 (E/S de disco en niveles a un archivo fragmentado en un disco virtual fragmentado La Imagen 7 (derecha) ilustra un archivo fragmentado (“Fragmented Word doc in Virtual Server.doc”) que reside en un disco virtual, que a su vez es un archivo fragmentado del sistema operativo host. El diseño actual de la virtualización de servidores basada en software requiere que el sistema host capture y procese todas las E/S de disco generadas por los sistemas operativos huéspedes, lo que añade una nueva capa a la pila de procesamiento de E/S. Virtualización y rendimiento de discos 6 Arquitecturas de virtualización de equipos y E/S: Ante las dos arquitecturas de virtualización predominantes (alojada o de hipervisor), recuerde que los equipos virtuales emulan el hardware y pueden no emular las especificaciones exactas. Por ejemplo, una tarjeta de vídeo de gama alta puede no ser emulada en el sistema host con todas sus prestaciones avanzadas. Imagen 8 (Virtualización de hipervisor) La arquitectura de hipervisor (derecha) elimina la necesidad de un sistema operativo host y mejora el rendimiento global de los sistemas virtuales. Como se ha demostrado anteriormente, las E/S de disco generadas por sistemas virtuales (arquitectura alojada) pueden verse afectadas por el aumento del procesamiento en la pila de software. Esto significa que la E/S de disco tiene que subir y bajar capas de software que se abstraen del hardware físico. En una arquitectura alojada, una petición de disco de bajo nivel en un sistema huésped se traduce en una llamada de nivel de usuario en el sistema host. Con la probable pérdida del caché de disco a nivel de huésped (consideración relativa al soporte de Imagen 9 (Virtualización alojada) hardware) y la capacidad limitada de puesta en cola, este proceso no será tan rápido como una llamada directa de hardware físico realizada por el sistema host. En resumen, la virtualización de servidores establece una relación simbiótica, por lo que conviene recordar que la generación de E/S de disco en un equipo virtual ralentiza la E/S del disco de otros sistemas virtuales, con independencia de la arquitectura de que se trate. La fragmentación es cada vez más importante en entornos de equipos virtuales (jerárquica en la arquitectura alojada) y aumenta más el embotellamiento en los discos que en sistemas convencionales (recurso compartido). En el futuro, la apertura de los formatos propios para el desarrollo por parte de terceros, el hardware apto para virtualización de Intel y AMD (soporte y acceso de hardware mejorados), los avances en los sistemas operativos (el hipervisor formará parte de Windows Longhorn) y las asociaciones de colaboración tecnológica, como la establecida entre Diskeeper y Microsoft, persiguen la mejora continua en el rendimiento de los discos conforme la virtualización gana terreno en la informática del día a día. Virtualización y rendimiento de discos 7 Mejora del rendimiento de los discos en servidores virtuales: 1. Ejecute desfragmentación automática avanzada en el sistema operativo host y en todos los sistemas operativos huéspedes. Asegúrese de que el software sea cuidadoso con los recursos de disco, ya que la desfragmentación intrusiva con herramientas manuales o básicas puede provocar más problemas de los que resuelve. 2. Utilice herramientas básicas incorporadas o de terceros más avanzadas (como FragShield de Diskeeper) para ajustar adecuadamente la configuración de la MFT y del archivo de paginación en los sistemas operativos host y/o huésped. 3. Incorpore las siguientes estrategias de subsistema de discos y partición recomendadas para el sector: • • • • • • Para minimizar la fragmentación de los discos virtuales, preasigne su tamaño si es posible (simplemente supervise la cuota de espacio en disco). Separe el sistema operativo host en un disco físico independiente (eje). Mantenga el archivo de paginación host en un disco físico (eje) independiente de los de los discos virtuales. Cree particiones lógicas independientes en el sistema host por cada sistema virtual. Esto es especialmente importante para permitir la expansión dinámica de los discos duros virtuales. Utilice discos duros SCSI de alto rendimiento y, preferiblemente, un backend SAN o RAID. Compacte los discos duros virtuales. Asegúrese de que ataja la fragmentación como parte del proceso de compactación, tanto antes como después de ésta. Referencias de prácticas recomendadas: VM Performance Tips (Sugerencias sobre rendimiento de VM) – (Michael Otey - Windows IT Pro): http://www.windowsitpro.com/Article/ArticleID/48726/48726.html How to Improve Disk I/O Performances with VMware Workstation 5 (Cómo mejorar el rendimiento de E/S de disco con VMware Workstation 5) – (Alessandro Perilli): http://www.virtualization.info/2005/11/howto-improve-disk-io-performances.html Virtual Server Improving Performance (Mejora del rendimiento de Virtual Server) – Microsoft Corporation: http://www.microsoft.com/technet/prodtechnol/virtualserver/2005/proddocs/vs_operate_using_p erfTune_tune.mspx?mfr=true Configuring Hard Disk Storage in a Virtual Machine (Configuración del almacenamiento en disco duro en un equipo virtual) – VMware Inc.: http://www.vmware.com/support/ws45/doc/disks_config_ws.html Diskeeper and Microsoft Collaborate to Offer Advanced Virtual Server Performance (Diskeeper y Microsoft colaboran para ofrecer rendimiento avanzado en Virtual Server) – Microsoft Corporation: http://www.microsoft.com/presspass/features/2006/apr06/0403virtualizationqa.mspx Virtualización y rendimiento de discos 8 Virtual Server 2005 Best Practices (Prácticas recomendadas para Virtual Server 2005) – Microsoft Corporation: http://www.microsoft.com/technet/prodtechnol/virtualserver/2005/proddocs/vs_deploy_reqs.msp x?mfr=true VMware Workstation and GSX Performance and Configuration (Rendimiento y configuración de VMware Workstation y GSX): http://www.vmug.net/download.aspx?file=23 Diskeeper Corporation Europe, Kings House, Cantelupe Road, East Grinstead, West Sussex, RH19 3BE www.DiskeeperEurope.com © 2006 Diskeeper Corporation. Reservados todos los derechos. Diskeeper, The Number One Automatic Defragmenter y Frag Shield son marcas comerciales o marcas registradas de Diskeeper Corporation. Microsoft, Windows y Virtual Server son marcas registradas o comerciales de Microsoft Corporation en los Estados Unidos de América y/o en otros países. VMware es una marca comercial de VMware, Inc. Virtuozzo es una marca comercial de SWsoft, Inc. El resto de marcas comerciales pertenecen a sus respectivos propietarios. Virtualización y rendimiento de discos 9