Microsoft, su tecnología y yo

El Blog de David Cervigón (Microsoft)

February, 2009

  • Guías Acerca de Hyper-V de IBM, Dell y HP

    Hola

    He estado indagando acerca de la información que publican algunos fabricantes de hardware acerca de Hyper-V. Estos posts envejecen mal, pero hoy por hoy esto es lo que he ido encontrando.

    Saludos

    David Cervigón

  • Cómo hacer una Prueba de Concepto de Hyper-V y material relacionado

    Hola

    Durante los últimos meses hemos estado preparando e impartiendo diferentes seminarios, sesiones y formaciones en torno a la virtualización y a la gestión de entornos virtualizados. Los materiales que se han ido generando han variado a lo largo del tiempo y seguramente lo seguirán haciendo, por lo que he pensado que podría resultar de utilidad ponerlos todos juntos en el mismo sitio.

    1.- Presentación: El conjunto de diapositivas que suelo utilizar, aunque muchas de ellas acaben por no proyectarse a cambio de las demos correspondientes:

    2.- Pruebas de concepto: En estos documentos hemos intentado plasmar un escenario completo en el que comprobar todas las funcionalidades de Hyper-V y de los productos de System Center relacionados con la gestión de la virtualización. Vale por tanto para ver, comprobar y adaptar funcionalidades, pero en ningún caso debería considerarse mucho más. Efectivamente pueden constituir también el embrión de un Piloto, o incluso de un proyecto, pero todo el mundo debería ser consciente de que esos entornos requieren, cuanto menos, pensar un poco más en cómo la tecnología se adapta a unas necesidades particulares. Supongo que leer esto no le sorprende a nadie, pero por la misma regla de tres seguramente muchos hayáis visto ocasiones en las que lo que empieza siendo una prueba de concepto acaba creciendo de forma incontrolada y con intención de quedarse hasta que acaba en demasiadas ocasiones reventando por el sitio más insospechado. Por tanto mi recomendación es que estos documentos se utilicen para aprender, montar laboratorios, enseñar, demostrar, probar novedades, etc. y que sea lo que se saque en claro de todo esto lo que sirva para progresar en el diseño de una arquitectura adecuada necesidades específicas.

    • http://cid-640eab90376c5213.skydrive.live.com/browse.aspx/Documentos. En este enlace tenemos los siguientes documentos:
      • PoC de Virtualización de servidores con gestión avanzada: La descripción del alcance y requisitos para montar la prueba de concepto.
      • ANEXO PoC de Virtualización de servidores con gestión avanzada - Pruebas: Como su propio nombre indica, una descripción de las pruebas que se proponen llevar a cabo sobre el escenario descrito en el documento anterior.
      • Creación de PoC de Virtualización (manual): Manual de como instalar en el entorno para la prueba de concepto. Este documento lo ha escrito Julián Blazquez, de Informática 64, para su uso durante una formación específica sobre este tema. ¡Gracias Julián!.
      • Instalación de un servidor de gestión y monitorización de entornos físicos y virtuales: Uno de los puntos clave del entorno propuesto es la instalación de uno (o varios) servidores dedicados a la gestión del entorno virtualizado. Mi compañero Arturo López ha tenido la paciencia de poner en un documento un compendio de tres posts que publiqué hace unas semanas al respecto de instalar en un único servidor System Center Virtual Machine Manager 2008 y System Center Operations Manager SP1. ¡Gracias Arturo!.

    Los diferentes autores de la documentación anterior la cedemos bajo licencia HLQTDLGCE (Haz Lo Que Te De La Gana Con Ella), lo que significa exactamente eso. Si gracias a ella consigues, como esperamos, ganar o ahorrar un dinerillo para ti o para tu empresa, ya te invitarás a algo. Si además se te ocurre como mejorarla, cualquier sugerencia es bienvenida.

    Saludos

    David Cervigón

    Etiquetas de Technorati: ,
  • TechTalk de NetApp sobre soluciones de almacenamiento para Hyper-V

    Hola

    El miércoles que viene (18/2/2009), desde las 11:00 a las 12:00 h, participaré como ponente invitado, junto con Jorge Rami (Acens) y Javier Martínez (NetApp), en la siguiente TechTalk (Webcast) gratuita.

    En ella haremos una introducción a Hyper-V y a la estrategia de Microsoft en lo tocante a la virtualización, para dar paso a ver cómo las soluciones de almacenamiento de NetApp pueden jugar un papel muy importante en estos entornos virtualizados. Por su parte, Javier Rami nos contará la experiencia real de Acens a la hora de implementar una solución de virtualización basada en cabinas de NetApp e Hyper-V para ofrecer sus servicios de hosting de servidores virtuales.

    Por si queréis informaros más sobre estos temas, o si sois los felices propietarios de alguna cabina de NetApp, aquí tenéis estos documentos técnicos que me ha referenciado Jorge Palomero (NetApp)

    Aprovechando la visita a sus oficinas para preparar la sesión, Javier me ha estado ayudando a configurar su simulador ONTAP Simulator en una máquina virtual para aprender a manejar sus cabinas, y de paso poder tener una pequeño sistema de almacenamiento con el que poder hacer algunas pruebas.

    Saludos

    David Cervigón

  • Libro electrónico gratuito: Understanding Microsoft Virtualization Solutions

    Hola

    Un libro que se puede descargar gratuitamente tras el habitual proceso de registro, y en el que se tratan diferentes aproximaciones al mundo de la virtualización

    He echado un vistazo rápido y tiene bastante buena pinta, no solo por la visión general sino también por la colección de recursos externos que incluye. Para que os hagais una idea, este es el índice resumido:

    • Microsoft Virtualization Solutions
    • Server Virtualization: Hyper-V
    • Managing Virtualization: Virtual Machine Manager 2008
    • Application Virtualization: App-V
    • Presentation Virtualization: Terminal Services
    • Desktop Virtualization: MED-V and VDI
    • User State Virtualization
    • Building a Virtualization Infrastructure

    como digo, cuanto menos completito:

    Saludos

    David Cervigón

  • WIM2VHD: Herramienta útil para crear nuevas máquinas Virtuales de Windows 7 y Windows Server 2008 R2

    Hola

    Se acaba de liberar una beta de una herramienta que puede resultar bastante interesante:

    Su filosofía es bastante sencilla. En Windows Vista, Windows Server 2008 y posteriores, el proceso de instalación consiste en el volcado de una imagen "sysprepeada" contenida en el propio DVD del producto al disco en el que estamos instalando el sistema. Si conseguimos crear un VHD a partir de ese "install.wim" que se encuentra en la carpeta "sources" del DVD de instalación, conseguiremos una máquina virtual completamente limpia, que arrancará justo en la parte del OOBE (Out of Box Experience). No habremos ahorrado por tanto la parte más tediosa de la instalación, que es aquella en la que se se copian y se expanden los ficheros a disco.

    Como se puede observar, WIM2VHD es un script que se basa en herramientas de ésta versión del Windows Automated Instalation Kit (WAIK). Esta es su sintaxis (entre corchetes los parámetros opcionales):

    WIM2VHD.WSF /wim:<wimPath> /sku:<sku>

    [/vhd:<vhdPath>] [/size:<vhdSizeInMb>]

    [/disktype:<dynamic|fixed>]

    [/unattend:<unattendXmlPath>]

    [/qfe:<qfe1,...,qfeN>]

    [/hyperv:<true|false>]

    [/ref:<ref1,...,refN]

    [/dbg:<args>]

    [/passthru:<physicalDrive>]

    La explicación de cada parámetro, así como ejemplos, preguntas más frecuentes y hasta vídeos, están en su página principal: http://code.msdn.microsoft.com/wim2vhd. En este blog también iremos encontrando actualizaciones.

    Saludos

    David Cervigón

  • Paginación y máquinas virtuales

    Hola

    Realmente el post anterior era para poder poner este. En una máquina virtual, ¿cómo dimensiono la memoria y los ficheros de paginación?. Pues igual que lo harías en una máquina física. Iba a ponerme manos a la obra a escribir al respecto del pagefile.sys, pero visto lo que he encontrado ya escrito, gran parte me la puedo ahorrar:

    ¿Es buena la paginación?. Ni buena ni mala, es normal. Es un mecanismo al que hay que recurrir para poder repartir el espacio de direccionamiento de memoria de cada uno de los procesos entre las direcciones de memoria físicas de la RAM existente. Lo que es malo es la excesiva paginación, que suele ser el síntoma claro de que necesitamos otorgar más memoria física a una máquina, o que tenemos que bucear entre los procesos en ejecución en busca de algún tipo de "leak" (muy gráfico eso del "goteo de memoria").

    La excesiva paginación es problemática en entornos de virtualización porque supone la superposición de dos cosas. Es finalmente el Hypervisor el que debe gestionar todas las operaciones de acceso a memoria que quieren efectuar las máquinas virtuales, y por otro lado supone un aumento del I/O a disco que suele ser directamente proporcional al número de VMs . Por tanto, si en un entorno físico es importante, en un entorno virtual atinar con la combinación entre la RAM asignada a una VM, con el tamaño necesario del fichero de paginación, y con cómo las operaciones de lectura/escritura se reparten entre el sistema de almacenamiento físico es crucial para ganar o perder unos cuantos puntos de rendimiento.

    Si existiera una receta universal para la configuración de la memoria y el tamaño del fichero de paginación, el "Performance Tuning" dejaría de ser un arte. Lo más parecido puede encontrarse en el capítulo dedicado a la gestión de memoria dentro del libro "Windows Internals" de Mark Russinovich. Este es el resumen:

    Los contadores "Memory: Commited Bytes", "Memory: Commit Limit", "Paging File: % Usage" y "Paging File: % Usage Peak" pueden ayudar a la hora de determinar el tamaño del fichero de paginación. Aunque todas las recomendaciones suelen usar una función de la RAM (entre x1,5 y x3) para definir su tamaño, también es cierto que a mayor cantidad de memoria física, menor probabilidad de que una página tenga que ser trasladada al fichero de paginación. Para determinar la cantidad aproximada que podrían llegar a necesitar las aplicaciones corriendo en un servidor, basta dejar el servidor funcionando un cierto tiempo y examinar el campo "Peak Commit Charge" (en el Task Manager o con el Process Explorer). Este numero representa el tamaño máximo del fichero de paginación que hubiera sido necesario si el sistema hubiese paginado a la vez toda la memoria virtual, cosa que no suele suceder. También hay una relación en el Task Manager que es el Commit Charge / (RAM+Tamaño del fichero de paginación) que nos indica la cantidad de espacio del fichero de paginación que se puede llegar a usar en un momento dado si el sistema paginara de golpe toda la memoria virtual en uso.

    Además de con herramientas como el Task Manager, el Performance Monitor o el Process Explorer, estas dos cifras se pueden obtener también rápidamente así:

    > wmic path Win32_PerfFormattedData_PerfOS_Memory get CommittedBytes,CommitLimit

    CommitLimit  CommittedBytes
    17238245376  7058923520

    Por otro lado, para ver el uso que se está haciendo del fichero de paginación (los resultados son en MB):

    > wmic path Win32_PageFileUsage get allocatedbasesize,currentusage,peakusage


    AllocatedBaseSize  CurrentUsage  PeakUsage
    8425                       94                    102

    Si, esto es complicado de entender. También esta explicado aqui

    MORALEJA:

    • Si eres rácano con la RAM que asignas a la VM, puede que tengas que aumentar su fichero de paginación y el rendimiento del la VM bajará. Además probablemente afectará a las demás, por el exceso de I/O que supondrá sobre el sistema de almacenamiento.
    • A mayor RAM asignada a la VM, menor paginación y (en general) menor tamaño de fichero de paginación necesario.
    • Pensar que definir el menor tamaño posible para el fichero de paginación aumentará el rendimiento porque disminuiremos el I/O es un error. Si lo dejamos pequeño y de tamaño fijo, aumentaremos las posibilidades de obtener el famoso mensaje de "sus sistema tiene poca memoria virtual disponible". Si lo ponemos pequeño, pero lo dejamos crecer, su continuo crecimiento producirá una perdida adicional de rendimiento.
    • Procura ajustar la cantidad de RAM de manera que sea el mayor tiempo posible mayor que el Commit Charge (es decir, busca el "Peak Comit Charge")

    Saludos

    David Cervigón

  • Y en una máquina virtual, ¿cómo...?

    Hola

    Suele ser una pregunta recurrente el cómo hacer cierto tipo de tareas de configuración o mantenimiento de los sistemas y productos que van a correr sobre máquinas virtuales.

    La virtualización abre las puertas a una gestión mucho más dinámica y flexible de la infraestructura, pero sin embargo no debe violarse un principio básico: Como punto de partida, trata siempre a tus máquinas virtuales del mismo modo que a tus máquinas físicas. Y luego planteate si las posibilidades que te ofrece la virtualización suponen alguna ventaja que puedas aprovechar en todos y cada uno de los puntos del tradicional círculo del ciclo de vida de la gestión (Aprovisionamiento y Despliegue, Actualización, Monitorización, Backup, Recuperación ante Desastres, Decomisionado, etc.).

    También es bueno muchas veces intentar establecer un paralelismo entre una cierta operación de una máquina virtual y la que sería equivalente en el mundo físico. Con un poco de esfuerzo, podemos encontrar equivalencia para prácticamente todas las operaciones que se pueden llevar a cabo sobre una máquina virtual. Este pequeño ejercicio mental nos puede ayudar mucho a predecir cual podría ser su efecto sobre el sistema operativo que corre en la VM y los productos que corren sobre el. Un ejemplo muy corriente de esto surge cuando se habla de la copia de seguridad o el despliegue de máquinas virtuales. La copia de un VHD sería equivalente al clásico Ghost de un disco, las snapshots vendrían a ser una especie de "Ghost en caliente" y el clonado de una VM, la restauración de dicha imagen en un servidor idéntico. La validez o no de estas técnicas como métodos de backup/restore o despliegue dependen del contexto y son bien conocidas, y por tanto totalmente extrapolables al mundo virtual.

    Lo mismo sucede a nivel de configuración. Atesoramos un montón de recetas bien probadas en el mundo físico en lo tocante a, por ejemplo, asuntos de rendimiento y fiabilidad. Separar bases de datos de logs, usar volúmenes que por debajo tengan niveles de RAID que nos ofrezcan el balance de rendimiento/fiabilidad que requiere nuestra solución, segmentación del tráfico de red, configuración de cómo se usará la memoria, la paginación, el procesador... . ¿Porque todo esto va a ser diferente, de entrada, en un máquina virtual?.

    Bajo mi punto de vista, el principal cambio en el enfoque de todo esto radica en cómo se puede llegar definir una arquitectura basada en una capa de virtualización, ya esto si que puede marcar diferencias a nivel de como se opera una VM, o cómo se construye y configura. Pero una vez tengamos corriendo nuestras máquinas virtuales, merecen el mismo trato que hemos venido dando hasta ahora a sus equivalentes físicos. Eso si, seguro que es un trato mucho más ágil, dinámico y flexible.

    Saludos

    David Cervigón

  • La guía definitiva para la virtualización de controladores de dominio

    Hola

    La han publicado aquí:

    Aunque esté centrada en Hyper-V, huelga decir que la mayor parte de los puntos que se citan son independientes de la pila de virtualización. Para los que andéis escasos de tiempo, he aquí un resumen rápido, que como de costumbre no exime de la lectura del documento original.

    • Espera una pérdida de rendimiento de entre un 2% a un 12% comparado con un DC físico.
    • Almacenamiento:
      • Cuidado con el problema de seguridad que puede suponer el acceso a los VHDs de las máquinas virtuales correspondientes a DCs.
      • No utilizar discos diferenciales, por los riesgos que supone desde un punto de vista operativo como por una cuestión de rendimiento.
      • Utilizar VHDs de tamaño fijo, o mejor aún discos pass-through. En estos últimos, las snapshots están deshabilitadas por defecto, lo que es francamente deseable para un DC virtual, por lo que nos llevamos rendimiento y fiabilidad por el mismo precio.
      • Colocar la base de datos y los logs en discos diferentes y que no coincidan con el de sistema operativo, tal y como se recomienda para un DC físico.
      • No de debe obtener un VHD de un DC a partir del VHD de otro DC, ni siquiera usando Sysprep. Si se quiere utilizar una plantilla, que sea la de un servidor miembro, generalizado con Sysprep, al que le haremos seguir el proceso de un DCPROMO.
    • Mucho cuidado con las conversiones P2V de un DC físico. Deben realizarse siempre Offline y evitar en todo momento la concurrencia en la red del servidor físico y su imagen virtual.
    • No usar la sincronización horaria con el host, dejando esta tarea en manos del servicio Win32Time como es costumbre en todo DC.
    • Configura correctamente las acciones que se deben de llevar a cabo cuando se arranque y apague el host:
      • El DC virtual debe arrancar automáticamente cuando arranque el host.
      • El DC virtual debe apagarse (shutdown) automáticamente cuando se apague el host (por defecto la acción es salvar el estado).
    • Cuidado con las acciones Pausar, Salvar, Instantánea, Exportar e Importar sobre un DC Virtual. Deben evitarse a toda costa, o en caso de ser necesarias, ser conscientes de lo que pueden suponer.
      • Cualquier acción que permita la vuelta atrás en el tiempo de un DC virtual es especialmente peligrosa.
      • En caso de ser necesario que un DC esté apagado, pausado o salvado, nunca se debe sobrepasar el periodo de Tombstone definido para el dominio (180 días en 2003 o superior, 60 en 2000).
      • Ninguno de estos medios pueden ni deben sustituir a una copia de seguridad del Controlador de dominio usando un método soportado.
      • Para curarnos en salud, en un dominio con DCs virtuales puede habilitarse la Strict Replication Consistency`para evitar la introducción e el AD de objetos desactualizados.
    • Usa la misma estrategia de backup para los DCs virtuales que para los reales. Como protección adicional, puede obtenerse un backup del VHD usando el sistema de VSS del host. En el caso de tenerlo que restaurar, sigue estrictamente este diagrama de flujo:

    VirtualDCBackup-Restore

    Saludos

    David Cervigón

  • Disponible el Management Pack de Virtual Machine Manager 2008 para Operations Manager 2007

    Hola

    imageYa está disponible el Management Pack de System Center Virtual Machine Manager 2008 para System Center Operations Manager 2007. Este MP actualiza el que va incluido en el propio producto, e incluye la parte de Informes que se pueden consultar desde la consolas de SCOM y SCVMM indistintamente.

    Este MP es el principal responsable de la integración entre SCVMM2008 y SCOM2007, que consiste fundamentalmente en tres cosas:

    • El Diagrama: En la consola de SCVMM, el botón "Diagrama" carga una vista de SCOM ofrecida por este Management Pack
    • Los Informes: En el apartado de informes de SCVMM se pueden cargar los informes que este Management Pack agrega a los Reporting Services de SCOM
    • Los Performance and Resource Optimization Tips: Cualquier Management Pack diseñado para ello es capaz de, ante una determinada situación, trasladar e incluso implementar automáticamente una serie de acciones en el entorno de virtualización. Los ejemplos más inmediatos de este sistema es el forzar el movimiento de una máquina virtual a otro host en caso de sobrecarga de memoria o CPU del servidor en el que dicha VM esta corriendo. Sin embargo, la integración de este sistema de PRO Tips con toda la funcionalidad de monitorización que ofrece SCOM permite una gran flexibilidad a la hora llevar a cabo acciones sobre nuestra infraestructura de virtualización

    Veamos algunos ejemplos del Management Pack en acción (Diagrama, dos informes y un PRO Tip por falta de memoria en un host)

    image image image image

    Saludos

    David Cervigón