Welcome to TechNet Blogs Sign in | Join | Help

Hola

Estamos preparando para las próximas semanas una serie “R2” de Webcasts sobre nuestras tecnologías de virtualización. Estos son los títulos, con las direcciones de registro para acceder a las sesiones en directo y las correspondientes grabadas, que estarán disponibles un par de días después de su realización.

Lunes 29/6/2009: Hyper-V R2: Novedades en el Hypervisor de Windows Server 2008 R2:

Con la versión R2 de Windows Server 2008 se lanza la segunda versión del Hypervisor de Microsoft (Hyper-V). En este webcast veremos las novedades de la plataforma de virtualización que nos trae este sistema operativo, como Live Migration, Clustered Shared Volumes, el soporte a nuevas funcionalidades de los actuales procesadores y las mejoras a nivel de red. También trataremos la integración de Hyper-V con las nuevas funcionalidades incluidas en los Remote Desktop Services de Windows Server 2008 para ofrecer la plataforma de una solución integrada de VDI. Durante el desarrollo de esta sesión, hablaremos también de los aspectos a tener en cuenta a la hora de licenciar entornos virtualizados.

Miércoles 1/7/2009: Gestión de entornos virtualizados con SCVMM 2008 R2 y SCOM 2007 R2:

Uno de los aspectos más importantes de los entornos virtualizados es la gestión de los mismos. La familia de productos System Center nos permiten hacerlo de forma sencilla, unificando además la experiencia y el conocimiento de la administración de entornos físicos. En este webcast veremos como System Center Virtual Machine Manager 2008 R2 nos ayuda a gestionar nuestra plataforma heterogénea de virtualización y el entorno virtualizado que corre sobre ella, y como System Center Operations Manager 2007 R2 nos puede ayudar a automatizar decisiones como el reparto de las cargas de trabajo mientras que monitoriza la salud de nuestras soluciones y servicios independientemente de si estos corren en físico, virtual o en una mezcla de ambos entornos.

Martes 7/7/2009: Estrategias de Alta Disponibilidad y diseño del almacenamiento en entornos de virtualización:

Uno de los principales usos de la virtualización es su aplicación escenarios de continuidad del negocio. En esta sesión veremos en detalle cómo montar una solución de virtualización basada en Hyper-V, Quick Migration y Live Migration, con todo lo que hay que tener en cuenta desde el punto de vista de diseño de los sistemas de almacenamiento y de la infraestructura de red. Se tratarán también aspectos como Geo-Clustering, Guest Clustering, o el dimensionamiento y correcto reparto de las cargas de trabajo de los hosts.

Miércoles 8/7/2009: Virtualización del Escritorio con Hyper-V y Remote Desktop Services en Windows Server 2008 R2:

Los Remote Desktop Services de Windows Server 2008 R2 expanden las posibilidades de construir una solución de Virtualización del Escritorio unificando las soluciones basadas en virtualización de la presentación (Terminal Services) y VDI en un mismo conjunto de tecnologías. En esta sesión veremos cómo llevar la presentación de las aplicaciones a los escritorios de sus usuarios independientemente de dónde estén localizados y cómo el nuevo Connection Broker permite además acceder tanto a escritorios virtualizados personales como a “pools” de máquinas virtuales. Además veremos cómo podemos complementar estas soluciones con las técnicas de virtualización de aplicaciones ofrecidas por Microsoft Application Virtualization.

Esperamos que sean de vuestro interés.

Saludos

David Cervigón

Hola

La reciente aparición del SP2 de Windows Server 2008 hace surgir algunas dudas a la hora de aplicarlo a los entornos virtualizados y a los hosts con Hyper-V.

Lo primero de todo es mencionar que el SP2 de Windows Server 2008 no está relacionado en modo alguno con Windows Server 2008 R2, del mismo modo que el SP2 de Windows Vista no tiene nada que ver con la RC de Windows 7. Por tanto, el SP2 no introduce los cambios de funcionalidad en Hyper-V que ya se pueden observar en la Release Candidate, aunque si incluye un buen número de actualizaciones que será necesario aplicar tanto a hosts como a máquinas virtuales.

A nivel de Host (Actualizaciones para Hyper-V y la Partición Padre)

Para nuevas instalaciones, es conveniente aplicar el SP2 ANTES de habilitar el role de Hyper-V. Esto nos ahorrará trabajo y reinicios. Lo más recomendable es hacerse con un DVD “slipstreamed” que ya contenga el SP2 integrado. De esa manera la instalación recién terminada ya vendrá con el SP2, y tras habilitar el role podremos pasar directamente a la fase de configuración.

Para instalaciones ya existentes, el SP2 aporta:

  • Actualizaciones del propio Hyper-V, o de sus servicios de gestión que corren en la partición padre.
  • Actualizaciones de funcionalidades/componentes relacionados con Hyper-V, como el Failover Cluster o WMI, que corren en la partición padre
  • Actualizaciones de otros componentes que pudieran (pero no debieran) estar corriendo en la partición padre.

En particular, el SP2 contiene todas las actualizaciones mencionadas en:

Todas estas actualizaciones debería ser consideradas para ser instaladas individualmente en el caso de no poder aplicar el SP2 a los hosts por alguna razón (por ejemplo, compatibilidad/soporte por parte del fabricante del hardware).

A nivel de máquina virtual (Actualizaciones para los guests / particiones hijas)

El SP2 conlleva una nueva versión de los componentes de integración de Hyper-V, lo que tiene ciertas implicaciones para las máquinas virtuales. La instalación del SP2 en el host no implica la actualización de los ICs en las máquinas virtuales, por lo que habrá que hacerlo manualmente de la forma habitual.

Sin embargo si instalamos una nueva VM con un DVD o ISO de Windows Server 2008 con el SP2 integrado, o si actualizamos a SP2 una VM con Windows Server 2008 no será necesario instalar los ICs. El SP2 ya lleva incluidos los nuevos componentes de integración.

Las migraciones de 2008 a 2008 SP2 pueden llevarse a cabo tranquilamente y de diferentes maneras porque los ficheros de configuración, VHDS, snapshots y estados salvados son compatibles entre versiones. Para el caso particular de hosts en cluster, el método de instalación consiste simplemente en evacuar las VMs del host a actualizar vía Quick Migration, actualizar el nodo al SP2, devolverle sus VMs si así lo deseamos, y repetir el proceso en los demás nodos en el menor tiempo posible. Un cluster puede tener nodos con diferentes niveles de Service Pack, si bien la situación no deseable.

Saludos

David Cervigón

Posts anteriores:

Hola

En este post vamos a desgranar el papel que juegan todos y cada uno de los subroles de los Remote Desktop Services de Windows Server 2008 R2 en un escenario de virtualización del escritorio. En el siguiente entraremos ya en detalle a ver cómo se configura el bróker en particular.

Antes de nada, mencionar que en Windows Server 2008 R2, el viejo nombre de "Terminal Services”, presente en nuestros sistemas operativos servidor desde los tiempos del NT 4.0, desaparece del producto en favor de los “Remote Desktop Services”. La idea es englobar bajo este paraguas todas las funcionalidades necesarias para que un cliente pueda acceder a escritorios y aplicaciones remotas de manera unificada. Este cambio de nomenclatura afecta en especial a dos roles, que son el “Remote Desktop Virtualization Host” (nuevo) y el Remote Desktop Connection Broker”, siendo para los demás prácticamente un renombrado, con ciertas salvedades en lo tocante a funcionalidad. A la izquierda los roles de Terminal Services en Windows Server 2008 y a la derecha los de Remote Desktop Services en Windows Server 2008 R2:

 image image

A las novedades incluidas en estos roles hay que sumar las del protocolo RDP 7.0 disponible por el momento únicamente en Windows 7 y Windows Server 2008 R2 (Soporte Multimonitor, Aero, Audio bidireccional, DirectX 10 / DirectShow / Multimedia Remoting…)

Remote Desktop Session Host. Virtualización de la Presentación

Este role nos ofrece dos formas diferentes de trabajar:

  • Nos permite que un usuario abra un escritorio completo sobre el servidor, lo que constituye el modo clásico de trabajar en los entornos de Terminal Server.
  • En de Windows Server 2008 se introduce la funcionalidad de lanzar aplicaciones remotas, de modo que la aplicación ejecutándose en el servidor aparece integrada con el escritorio local del cliente desde el que se realiza la conexión.  El administrador decide que aplicaciones de las instaladas (o virtualizadas con App-V) en el servidor se exponen de esa manera y el protocolo RDP 6.1 (y posteriores) hacen el resto. En Windows Server 2008 no se podía establecer que aplicaciones de las publicadas estaban a disposición de usuarios/grupos. En R2 existe una propiedad “User Assignment” para cada aplicación publicada con Remote App que nos permite hacer esto

image

Para saberlo todo sobre este role:

Remote Desktop Virtualization Host

Este nuevo role consiste en una especie de “pegamento” entre los servicios de gestión de Hyper-V y el Bróker de conexiones, o lo que es lo mismo, entre lo que vemos en la consola de Hyper-V y el mundo de las conexiones RDP. Se encargará de informar acerca de las VMs disponibles en el host al broker y de llevar ciertas acciones sobre las máquinas virtuales. Arrancarlas o despertarlas si están paradas o salvadas en el momento de ser solicitadas por el usuario, o apagarlas tras un cierto tiempo de inactividad.

Este role no tiene mayor misterio ni configuración, y tiene simplemente que habilitarse en todos los servidores de Hyper-V R2 con los que queramos tratar desde el broker de conexiones, sean stand-alone o miembros de un cluster. En las instalaciones “Core” o en Hyper-V server 2008 R2, adopta el nombre de “VmHostAgent”.

Remote Desktop Licensing.

Este role se necesita para gestionar las licencias de acceso de cliente a Terminal Server (TS CALs), que para ser congruentes con el cambio de nombre ahora pasan a llamarse RDS CALs. Prefiero no detenerme mucho aquí en esta ocasión, porque si no voy a acabar siendo blanco de todas las dudas acerca del peliagudo tema de las licencias de Terminal Server y su compatibilidad entre versiones de la comunidad hispanohablante. No obstante aquí hay un montón de información al respecto:

Remote Desktop Session Broker

Es una evolución de TS Sessión broker, que hasta ahora “solo” servía para balancear carga de trabajo entre servidores de una misma granja de Terminal Servers, y reconectar a los usuarios con el servidor en el que estuviera abierta su sesión. Si imaginamos un pool de máquinas virtuales como un conjunto de servidores de Terminal Server configurados de forma idéntica y que solo pueden recibir una sesión de usuario simultánea, la idea es perfectamente extrapolable al mundo de VDI. En este role podemos configurar:

  • Escenarios de Publicación de Aplicaciones en Terminal Servers / Remote Desktop Session Hosts stand-alone.
  • Escenarios de Publicación de Aplicaciones en granjas de Terminal Servers / Remote Desktop Session Hosts.
  • Escenarios de VDI estáticos. Cada usuario tiene asignada una VM específica. Esto se logra mediante una nueva propiedad de los usuarios en AD, en la que se almacena la VM asignada a ese usuario.
  • Escenarios de VDI Dinámicos. Se definen conjuntos de VMs o Pools de VMs idénticamente configuradas, que serán asignadas a los usuarios que las demanden de manera dinámica. Los usuarios que hayan dejado sus sesiones abiertas o desconectadas, serán redirigidos de nuevo a la misma VM del pool para mantener su trabajo. Dedicaré otro post de la serie a ver los requerimientos y configuración necesarios en las VMs del Pool.

Para configurar y operar los dos escenarios de VDI, el Bróker habla con el RD Virtualization Host de los servidores con Hyper-V donde corren esas máquinas virtuales

Pondré un post dedicado a un ejemplo de cómo montar y configurar el broker en el entorno de pruebas que planteaba en el primer post de esta serie. Mientras tanto:

Remote Desktop Web Access

Como en Windows Server 2008, en R2 el RDWeb consiste en un portal en el que el administrador pone a disposición del usuario todas o algunas de las siguientes cosas.

  • Aplicaciones Remotas publicadas en TS / RDSH
  • Escritorios completos de TS / RDSH
  • Máquinas Virtuales personales
  • Pools de máquinas virtuales

Remote Desktop Web Access puede recolectar y publicar lo que este expuesto en:

  • Uno o varios servidores TS / RDSH
  • Un Broker de conexiones

En el primer caso, solo veremos las diferentes Remote Apps definidas en los diferentes servidores. En el segundo veremos las VMs además de todas las Remote Apps que vengan de los servidores/granjas que el broker esté manejando. Por otro lado, un mismo TD / RDSH / Broker puede estar siendo publicados en varios RDWebs diferentes, pudiéndose establecer un control bastante fino de que queremos presentar a los usuarios.

Una novedad es que para acceder al portal se requiere por defecto autenticación. De esa manera se identifica al usuario y sabemos a que VM mandarle cuando haga clic en el icono “My Desktop” y que aplicaciones enseñarle o no según su pertenencia a grupos (solo en RDSH, como hemos dicho mas arriba):

image

Una funcionalidad interesante de este Web es que expone todas las conexiones en un RSS. Windows 7 es capaz de consumirlos y exponerlos como elementos del menú del usuario. Al igual que los elementos del portal, no son mas que ficheritos .rdp que procesa el cliente de RDP (mstsc.exe)

image image

Más sobre este ejemplo también en el siguiente post. Mientras:

Remote Desktop Gateway

Al igual que en el TS Gateway, este role permite un escenario de publicación segura del protocolo RDP. Es muy similar al uso de RPC sobre HTTPs que hace Outlook para comunicarse con el CAS de Exchange. En este caso le solicitamos al gateway que nos conecte con cualquier cosa que hable RPC que esté detrás. Nosotros hablamos RDP sobre HTTPS usando el puerto 443, y el gateway habla con el destino usando ya el 3389, tras llevar a cabo los chequeos de seguridad y salud pertinentes contra el Network Policy Server (NPS). Este role se pone en la DMZ, quizás junto con el RDWeb y/o se pueden publicar con ISA Server. Es una manera alternativa para conectarnos a clientes y servidores desde cualquier parte, evitando tener que levantar una VPN.

Espero que el resumen os resulte aclaratorio. En los enlaces que os he puesto tenéis bastante más información y seguro que seguirán apareciendo más cosas al respecto un futuro próximo.

Saludos

David Cervigón

Hola

Esta en Microsoft Connect (requiere iniciar sesión con vuestro Live ID)

Tengo unos cuantos entornos esperándola con los brazos abiertos. En un próximo post hablaré sobre su instalación/actualización.

Saludos

David Cervigón

Hola

Y eso será gracias al Auto Medium Dependent Interface Crossover (Auto-MDIX), que es una patente de HP. Un puerto de red solía utilizar bien MDI para conexiones “directas”, bien MDIX para conexiones “cruzadas”. Po lo general, las tarjetas de red de las estaciones usan MDI, y los hubs/switches al otro lado usan MDIX para que los cables de cobre coincidan. Tradicionalmente, si queríamos interconectar los puertos de dos dispositivos MDI-MDI o MDIX-MDIX teníamos que usar un cable cruzado construido a tal efecto.

Gracias al Auto-MDIX, muchos dispositivos de red entre los que se encuentran la gran mayoría de las tarjetas de red presentes en portátiles/sobremesas/servidores son capaces de “cruzarse” automáticamente, lo que elimina la necesidad del cable cruzado. Si nuestra tarjeta (y su driver) lo soportan, podremos usar los latiguillos de toda la vida para conectar dos equipos directamente entre si.

Eso si, lo que no puede altar en la mochila es el cable cruzado nulo, aunque para Hyper-V ya no es necesario :-)

Saludos

David Cervigón

Me pillará de seguramente de vacaciones :-)

http://www.microsoft.com/presspass/features/2009/Jun09/06-02SteveGuggenheimer.mspx

Saludos

David Cervigón

Posts anteriores:

Hola.

En los dos últimos posts de esta serie dejamos montado lo que constituye la base del sistema de distribución y ejecución de aplicaciones virtualizadas. Falta la parte fundamental, que es el proceso de virtualizar la aplicación y generar el/los paquetes correspondientes, que es los que se conoce como proceso de secuenciación.

Como de costumbre, antes de continuar, os recomiendo un par de imprescindibles, si bien internet está llena de guías con pistas y trucos para secuenciar aplicaciones, tanto genéricas como de casos particulares:

Para ilustrar el proceso, voy a utilizar una aplicación que todos conocemos, y que nos lleva acompañando en las demos durante ya unos años porque ofrece un ejemplo de aplicación de esta tecnología muy jugoso. El programa Padre (Renta 2008) de la Agencia Tributaria. Así además, los más rezagados pueden aun aprovecharse de todo esto antes de que se termine el plazo para presentar la declaración del año pasado (para los que me leáis desde fuera de España, el programa Padre es una aplicación que se usa para ayudarnos en nuestra declaración anual de impuestos). Sin embargo, el éxito en la correcta secuenciación de una aplicación depende MUCHO del grado de conocimiento que se tenga de ella. Dado que de los que se trata es de meter en una especie de burbuja todo lo relativa a ellas, cuanto más sepamos del uso que hace del sistema de archivos, objetos del sistema, registro, etc. mejor seremos capaces de meter dentro todo lo que necesita para funcionar.

1.- Preparando la máquina para secuenciar e instalación del secuenciador.

La secuenciación de la aplicación la haremos en una máquina física o virtual que tendrá dos particularidades. Primero, tendrá como sistema operativo la versión “más baja” de todos aquellos sobre los que correrá posteriormente virtualizada. Generalmente se utiliza Windows XP en la que habremos definido al menos dos particiones sobre el mismo o diferentes discos. El segundo de ellos lo marcaremos con la letra Q:. La guía de recomendaciones sobre cómo configurar la estación de trabajo sobre la que secuenciamos está en apartado “Sequencer Workstation Configuration” de la guía mencionada arriba.

No voy a insistir mucho sobre la instalación del propio secuenciador, porque es un puro siguiente, siguiente, finalizar que no tiene ningún misterio.

2.- Secuenciación de la aplicación.

La secuenciación de una aplicación se lleva a cabo en cuatro fases. En tres de ellas el secuenciador monitoriza su instalación, ejecución y personalización, y en la última se genera el paquete teniendo en cuanta como será utilizado posteriormente.

Primeramente, el secuenciador nos solicita un nombre para la aplicación:

image

Tras ello, nos pide que lancemos el proceso de instalación de la aplicación, así como la carpeta que usaremos como directorio principal dentro de la partición Q: que tenemos preparada para ello. En este caso me estoy saltando una ”best-practice”, ya que debería haber elegido un nombre más representativo de la versión (AEAT2008, RENTA2008, etc.) para que si quiero tener diferentes versiones de la aplicación corriendo simultáneamente, cada una use su propia carpeta:

image image

Se carga el entorno virtual, y se nos solicita que se inicie la instalación de la aplicación:

 image image

Lanzamos la instalación de la aplicación y seguimos el proceso que marque. De hecho la instalación esta sucediendo realmente en la estación donde estemos secuenciando. Tras finalizar el proceso, se descarga automáticamente el entorno virtual:

image imageimage

Es posible que la aplicación necesite que se agregue algún archivo en particular para que funcione correctamente. Dependencias de ejecutables o dlls, ficheros específicos de configuración, etc. Este es un punto donde cobra especial importancia el conocimiento de la aplicación. En nuestro caso, que sepamos, no se requiere nada en particular:

 image

Cambiamos de fase, y el secuenciador nos pide que lancemos las aplicaciones que se han agregado al sistema durante el proceso de instalación y que las configuremos. En este caso el paquete tendrá tres componentes individuales, que se usarán y descargarán según se vayan o no ejecutando. La propia aplicación, la Ayuda y el Léame. Pedimos al secuenciador que las ejecute. De nuevo, este paso es importante y será más efectivo según el conocimiento que se tenga de la aplicación. Es el momento de configurar la apariencia de la aplicación y asegurarnos de que se instancian todos los componentes que pudiera contener, de modo que todo eso vaya a parar dentro del paquete. En este caso lo cierto es que no tiene demasiado misterio (podría eliminarse, por ejemplo, el mensaje de bienvenida del Renta 2008 para que no aparezca en las posteriores ejecuciones de la aplicación. Este primer uso decidirá además que partes se meten en la primera descarga mínima que hará el cliente para usar la aplicación por primera vez (es posible que en ese primer uso se utilicen ya directamente todos los ficheros y no se observe una descarga progresiva durante el uso posterior de la aplicación).

 image image image image image image

Tras esta fase de ejecución/configuración, dejamos que el secuenciador genere el paquete de la aplicación virtualizada:

 image image

Por último, deberemos personalizar el paquete. Aunque parece trivial, lo cierto es que tiene su miga. Aquí será donde “conectaremos” este paquete en particular con la configuración que hayamos elegido para nuestro sistema de distribución de aplicaciones. En la segunda imagen se observa cómo se configura el servidor de streaming, la carpeta a partir de la cual se intentará localizar el paquete (si especie de “directorio virtual” usando un paralelismo con IIS) y los sistemas operativos en los que puede funcionar el paquete. También se puede generar un MSI para distribuir la aplicación mediante cualquier técnica de despliegue de software.

 image image image

Por último se elige el nombre del paquete, se salva, y en la carpeta elegida tenemos todos estos ficheros:

image

  • El .sprj (Sequencer Project File) contiene toda la información para importar el paquete en la consola del servidor de App-V.
  • Los .osd: Son los “equivalentes” a los ficheros de configuración de una máquina virtual, para entendernos. Son un ficherito editable con el bloc de notas, aunque no está de más hacerse con el OSD Editor.
  • El .stf es el propio paquete de la aplicación virtualizada.

Por último, veamos cómo se importa todo esto en la consola del servidor de App-V mediante el asistenta para importar aplicaciones (puede hacerse también manualmente a base de los OSD y los STF):

image

Se nos pregunta dónde se quiere que aparezcan los iconos y los grupos de usuarios de Directorio Activo que tendrán derecho a utilizarlos. Solamente a ellos se les mostrará la existencia de la aplicación correspondiente:

imageimage image

Por último, el asistente de importación copiará los .OSD y las carpetas con los iconos a los lugares adecuados dentro del sistema de directorios virtuales del servidor de management de App-V. Por razones que no vienen al caso, entre las que se encuentra la vaguería, esta imagen es inconsistente con algunas de las anteriores en el nombre UNC (vamos, que esta sacado de otro servidor diferente y debiera poner \\TS-APPV\App-V-Content\… para ser consistente con lo que especifiqué aquí.

image imageimage

Una vez colocada cada cosa en si lugar el proceso es el que sigue. Todo este proceso se encuentra perfectamente detallado en el documento App V Application Publishing And Client Interaction:

  • El usuario inicia sesión.
  • El cliente de App-V va al servidor y por http/https es informado de las aplicaciones que hay para ese usuario y, en este caso, el path UNC donde localizar el .osd (primer punto de fallo, que lo que este en las propiedades de la aplicación sea incongruente con donde realmente esta el .osd. Si el cliente no es capaz de localizar el osd donde se le indica, la aplicación ni siquiera aparece).
  • Se procesa el OSD. Se analizar si el paquete funciona en el Sistema Operativo actual.
  • En función de la información del OSD, o de lo que se indicó en esta opción de la instalación del cliente (que manda), se compone la URL desde que se descargará el stf por rtsp/rtsps. El path en el que se intenta localizar dicho fichero es el que marca la ultima de las imágenes del párrafo anterior (el path relativo en las propiedades del paquete). Este es otro punto de fallo frecuente. Si el cliente no localizar el .stf usando estos protocolos, la aplicación se ve pero no se lanza.

He de reconocer que hasta la fecha he sido incapaz de montar un sistema como el descrito en estos tres post que funcionase a la primera. Fallos de sintaxis en los paths y en las URLs, olvidos a la hora de poner la lista de sistemas operativos soportados, etc. son frecuentes cuando se monta algo de este estilo. No os desaniméis, que, como todo, cuando se le pilla el tranquillo la cosa es ciertamente gratificante y te sentirás el dueño y señor de las aplicaciones que se despliegan en tu infraestructura.

En los próximos capítulos, Remote Desktop Services y VDI, que combinan muy bien con todo esto :-)

Saludos

David Cervigón

Hola

He recibido en los últimos meses muchas consultas acerca de como dimensionar una solución de alta disponibilidad basada en el Failover Cluster de Windows Server 2008, generalmente relacionadas también con el mundo de la virtualización.

En este libro de Excel he intentado plasmar sin demasiadas pretensiones gran parte de las variables que se tienen que tener en cuenta para empezar. Me gustaría compartirla con vosotros para que comprobarais que no he metido la pata y me hicieseis sugerencias acerca de cómo mejorarla. El enlace está al final del post, como un adjunto.

Antes de nada, un par de aclaraciones previas. En primer lugar, este tipo de clúster esta pensado para ofrecer alta disponibilidad por tolerancia a fallos. Y dado que de lo que se trata es que si algún servidor falla o debe dejar de dar servicio por tareas de mantenimiento su pérdida pase lo más desapercibida posible, todo el sistema debe estar sobredimensionado para que los restantes miembros del clúster puedan asumir sin problemas su carga de trabajo. Esto hace que la solución sea cara, dado que la mayor parte del tiempo tendremos recursos que no estaremos utilizando para nada. La segunda es que éste es precisamente uno de los principales talones de Aquiles de todo esto. Tener recursos sin utilizar es algo que suele gustar poco a quienes han pagado dinero por ellos, y la tentación de dar trabajo a la infraestructura “ociosa” es muy tentadora. Pero si lo hacemos y algo sucede, harán una película sobre nosotros por no tener suficientes botes salvavidas para todos los pasajeros del barco.

Dicho esto, vamos a ver como se usa el juguete:

  • Número de nodos: Entre 2 y 16
  • Modelo de Quorum: Mayoría de nodos (para un número superior o igual a 3), mayoría de Nodos y Disco y mayoría de nodos y File Share. Sin entrar en demasiados detalles, en Windows Server 2008 el Failover Cluster usa un sistema mayorías, donde todos los elementos activos del clúster tienen un voto. Podemos perder elementos siempre y cuando el numero de elementos “vivos” supere al de elementos “caídos”. Si se pierde la mayoría, adiós al clúster. Además de los nodos, puede usarse como “witness) un disco compartido o un File Share. Cada uno de ellos tiene sus ventajas y sus inconvenientes, pero en la hoja solamente ponemos si usamos o no un witness, es decir, si usaremos solo mayoría de nodos o si nos apoyaremos en un elemento adicional.
  • Máximo número de nodos en fallo: Esto indica el máximo numero de nodos que pueden caer antes de que se destruya el clúster por completo, y depende obviamente del numero de nodos y de si usamos o no un witness adicional, que suponemos siempre vivo, o que al menos no fallará simultáneamente con los nodos
  • Número de nodos en fallo: Aquí entra en juego un apuesta personal, en función de lo optimistas o pesimistas que seamos. ¿A cuantos nodos caídos de manera simultánea me puedo llegar a enfrentar en la peor de las situaciones?. Fijaros que este puede ser de hecho el valor que hay que decidir en primer lugar, para a partir de ahí decidir cuantos nodos ha de tener mi sistema, y en ese caso tendremos que igualarlo al valor anterior.
  • Reserva por host: esto representa el porcentaje de recursos que queremos reservar para que el propio host funcione correctamente y sea gestionable (agentes, backup, etc.)
  • Número de nodos pasivos: Hay gente que considera buena idea tener nodos pasivos, listos para asumir la carga de trabajo en caso de que algo suceda. Nuevamente esta decisión depende de nuestro grado de optimismo y prudencia. Desde lo mas conservador (nº nodos activos = nº nodos pasivos) a lo mas atrevido (todos activos) todo es posible, siempre y cuando no violemos la máxima de no sobrecargar al sistema con mas trabajo del que puede asumir en caso de que suceda el fallo contra el que nos estamos intentando proteger.

Las cuentas que hace la hoja combinan todos esos parámetros de forma que nos indica cuanto podemos cargar cada nodo, tanto para configuraciones Activo/Activo (se ignora el número de nodos pasivos) como Activo/Pasivo (para el número número de nodos pasivos especificados). En el caso de que el numero de nodos que fallen sea mayor que el numero de nodos pasivos existentes, se sobreentiende que el resto de nodos activos han de asumir carga de trabajo.

Un par de ejemplos:

Dos nodos, con un witness adicional (necesario en este caso). Solo puede fallar un nodo, y si estamos montando un clúster es porque asumimos que puede fallar. Reservamos un 10% de los recursos de cada host para su propio uso.

imageEl nada sorprendente resultado es que en una configuración Activo/Activo cada uno de los nodos deberá cargarse de servicios clusterizados hasta alcanzar un 45% de uso de recursos, y en una configuración Activo/Pasivo el nodo activo puede cargarse hasta el 90%. En ambos casos, si un nodo cae, el otro se queda con el 90% de carga, que es justo lo que queremos.

Vamos ahora a un caso menos trivial. 9 nodos, 8 activos y 1 pasivo, y pensamos que, todo lo mas, se nos pueden llegar a caer 3 nodos simultánemaente. En 9 nodos 5 son mayoría, luego podemos perder 4. Si ponemos un witness adicional nos salen 10 votos, pero en este caso una mayoría son 6 a 4, es decir, que solo podemos perder 4 nodos. Por tanto aquí usar o no un disco de quorum o un file share como witness es irrelevante:

image En este caso, no deberíamos sobrecargar cada host activo con más de un 67% de carga de trabajo. Si prescindimos del nodo pasivo la cifra se reduce a 60%.

En la segunda hoja del libro hay una tabla rápida en la que la única variable es el número de nodos pasivos que puede ayudar a centrar un poco el tiro (o directamente nos acaba de confundir por completo):

imageLa parte más discutible de todo esto es precisamente que significan esos porcentajes de carga de trabajo. En el fondo eso lo decide cada uno con mayor o menor acierto (el “performance tunning” es más un arte que una ciencia), pero digamos que representa una media ponderada de RAM, CPU, IO de disco e IO de red. Simplificando mucho las cosas, he incluido los dos primeros para hacernos una idea de lo que esto supone en términos de RAM en Gb y CPU en número de cores. Multiplicando por ese porcentaje nos saldrían los topes de memoria y el número de cores totalmente saturados (al 100% de CPU) que pueden llegarse a consumir por cada nodo y en total para todo el sistema clúster. La diferencia de estos valores con respecto al total de recursos disponibles es el precio que pagamos por la alta disponibilidad.

Hablando ahora de virtualización, ¿cuantas máquinas virtuales me caben si…?. Pues depende. Considerando (incorrectamente) una VM como un mero conjunto de RAM y CPU podemos echar unas cuentas rápidas. Apiñar VMs para intentar demostrar que en una solución equivalente metes más VMs que tu competidor es una práctica muy peligrosa. La cosa debe transcurrir al revés. ¿Que rendimiento deben dar mis máquinas virtuales?. ¿Cómo estaban/están dimensionadas en físico?. ¿Que usos medios de RAM y CPU utilizan?. En función de eso decidimos cuanta RAM y cuantos procesadores virtuales necesitaremos para cada VM, y luego ya podemos dividir.

Supongamos una estructura de VMs homogénea (VDI, servidores estandarizados, etc.). Tenemos la RAM en Gb de cada VM, el número de procesadores que queremos asignarles. Tenemos que decidir un ratio de procesadores virtuales por core físico. Lo normal es que un equipo no esté todo el rato al 100% de CPU. Si está al 25-30% podemos usar razonablemente un ratio 1:4. El numero máximo de VMs que podemos meter en la infraestructura será la que antes sature la memoria o los procesadores.

Veamos un caso. 16 nodos, 2 pasivos, 2 en fallo, con nodos de 32 Gb de RAM y dos procesadores quad-core, a los que les reservamos un 5%: VMs de 512 MB y un solo procesador:

imageUsamos por tanto 14 nodos y nos caben, redondeando a la baja, 30 VMs por host, y 420 en total. Fijaros que aquí mandan las CPUs. Subir el ratio a posteriori es trampa. Pero si metemos hosts de 4 procesadores quad-core la cosa sube a 60 VMs por host y 840 VMs en total, y en ese caso quien impone la limitación es la memoria.

Cuidado con estas cuentas. ¿Soportarán el almacenamiento y la red estas cantidades?. ¿Y nuestros debilitados corazones?.

Saludos

David Cervigón

P.D: Enhorabuena por llegar hasta aquí. Insisto. Repasadme las cuentas y comunicadme cualquier error o sugerencia que encontréis.

Hola

Se han publicado estas guías paso a paso para montar un escenario de publicación de aplicaciones, máquinas virtuales personales y Pools de máquinas virtuales utilizando el Remote Desktop Web Access y el nuevo bróker de conexiones de Windows Server 2008 R2.

Volveré sobre este tema pronto en algunos capítulos de la serie Montando un escenario de Virtualización del Escritorio. Mientras tanto, para el que no pueda esperar, creo que con esta documentación se puede uno hacer una buena idea de la interrelación entre los diferentes roles de Remote Desktop Services, Hyper-V y las máquinas virtuales corriendo sobre el.

Saludos

David Cervigón

Hola

Un PDF con una buena colección de enlaces ordenados a toda la documentación técnica de Windows Server 2008 R2 existente hasta el momento:

Y de postre, una buena colección de presentaciones, whitepapers y datasheets, también de Windows Server 2008 R2:

Saludos

David Cervigón

imageHola

El SP2 de Vista y 2008 se distribuye en una única descarga para todos los idiomas y ediciones. En TechNet/MSDN hay también ISOs de Windows Server 2008 y Windows Vista “slipstreamed”, muy útiles para instalaciones desde cero y creación de imágenes, ya que nos ahorra un precioso tiempo de parcheado.

La lista de las actualizaciones incluidas está en esta hoja de Excel:

y la lista de “cambios notables”:

Esperemos que lo publiquen pronto en el área de descargas de la web pública.

Saludos

David Cervigón

Posts anteriores:

Hola

En esta ocasión veremos como desplegar y configurar el cliente de Microsoft Application Virtualization 4.5, que será el encargado de manejar y ejecutar localmente los paquetes de las aplicaciones virtualizadas que estén publicadas en el Management Server. Como suelo decir en estos casos, esta recetilla, como la del post anterior, no exime de la ardua tarea de empollarse la abúndate documentación, sobre todo si esto va a pasar a mayores. Una buena fuente para alimentarse de todo esto puede ser esta:

Como decía en el post anterior, el cliente de APP-V es en esta versión una aplicación de 32-bit, pero, a diferencia de los componentes servidor, tiene dependencias que hacen que no se pueda ejecutar en sistemas operativos de 64-bit (x64). Hay dos versiones, uno común para Windows XP, Vista y Windows 7, y otro específico para Terminal Server 2003/2008 x86 que ofrece la misma funcionalidad.

El proceso de instalación y configuración manual es el siguiente:

Primeramente, el propio MSI nos instala y configura sus dos pre-requisitos: El run-time de Visual C++ y Application Error Reporting:

image image image

Comienza el proceso de instalación propiamente dicho. Elegimos la instalación personalizada para poder llevar a cabo la configuración durante el proceso de instalación. Si no, tendremos que realizar la configuración posteriormente también manualmente o por políticas de grupo (ver más abajo).

image image image

image image image

Especificamos el tamaño de la cache donde se almacenarán los paquetes de las aplicaciones virtualizadas. Puede hacerse por tamaño máximo, o usar un tamaño que garantice un mínimo de espacio libre en disco. Dependiendo de la cantidad y volumen de aplicaciones virtualizadas a ejecutar, habrá que elegir este valor de manera apropiada

image 

Lo siguiente que podemos especificar es el “Application Source Root” o lugar donde por defecto se almacenaran los paquetes de las aplicaciones. Aquí puedes especificar un path UNC, una URL HTTS/HTTPS o una URL RTSP/RTSPS dependiendo de cómo las aplicaciones vayan a ser distribuidas. En nuestro caso el servidor lo montamos con RTSP:

image

Luego, ponemos un Display Name que represente a nuestro Management server (poner el FQDN es una buena idea), y su hostname. De nuevo, como usamos un servidor sin seguridad mejorada (es decir, sin un certificado para cifrar las comunicaciones), ponemos como tipo “Application Virtualization Server”, lo que nos marca el puerto 554 por defecto. Ni que decir tiene que aquí se trata simplemente de que cuadre lo que se configura en cliente y servidor.

image 

Una vez llegados a este punto, la instalación finaliza sola:

image image image

En entornos de virtualización del escritorio, lo normal es contemplar la instalación del cliente de APP-V como parte de las diferentes imágenes que se distribuirán a los diferentes puestos sean físicos o virtuales, y que en ese caso no se haga la personalización de la instalación. También puede suceder que queramos desplegar el cliente a sistemas ya en funcionamiento, lo que lograremos mediante algún sistema de despliegue de software, o vía script, línea de comandos y un poquito de paciencia (How to Install the Client by Using the Command Line).

En el caso de tener nuestros equipos físicos, máquinas virtuales, y/o servidores de terminal con el cliente ya distribuido, es posible que lo queramos configurar de manera desatendida en función de los servidores a los que se vayan a conectar. Para ello existe una plantilla de políticas de grupo específica de APP-V , donde se pueden especificar todos y cada unos de los parámetros relevantes del cliente. Además este método de configuración esta documentado en el APP-V ADM Template WhitePaper.

Tras la configuración de cliente y servidor, ya deberían estar conectados para empezar a servir aplicaciones virtualizadas. En el siguiente capítulo veremos como secuenciar una aplicación para crear el paquete de App-V correspondiente, y como importarlo en el servidor. Mientras tanto, hay quien parece entretenerse mucho secuenciando aplicaciones.

Saludos

David Cervigón

Hola

En esta guía podéis encontrar las configuraciones de OCS 2007 que están probadas y soportadas en entornos virtualizados, así como recomendaciones para instalarlo y configurarlo de modo que la solución tenga un buen funcionamiento.

Running Microsoft Office Communications Server 2007 R2 in a Virtualized Topology: Best Practices and Performance Considerations

Esta bastante bien detallada la arquitectura de la solución que se ha probado, con datos de escalabilidad y todo.

Saludos

David Cervigón

Hola

Esta es una excelente noticia para todos los amantes del almacenamiento en general y de los clústeres en particular.

Como podéis observar esta tanto el Target como la evaluación del Windows Storage Server 2008, que es lo que se implementa en algunos “appliances” de almacenamiento que se distribuyen por el canal OEM.

image

Saludos

David Cervigón

Post anterior:

Hola

Continuando con la serie, hoy trato cómo montar el “Management Server” de Microsoft Application Virtualization 4.5 que se encargará de distribuir los paquetes que contienen las aplicaciones virtualizadas a los clientes o servidores de Remote Dektop (Terminal Servers).

Como de costumbre, antes de continuar es importante aclarar que lo que sigue a continuación es una trivialización de un escenario que se puede complicar, o incluso simplificar, según vuestras necesidades. Todas las posibilidades que se pueden contemplar a la hora de hacer un despliegue de App-V están recogidas en esta guía:

Por otro lado, mencionar que esta pieza puede no ser en absoluto necesaria en tu escenario de Virtualización del Escritorio. Claro que también puede que sea la única pieza que necesitas para llevar a cabo tu estrategia. Sin embargo, lo normal es que sea una pieza que puedas llegara a usar en ciertas ocasiones, y como reza el título de la serie, esta información esta orientada a montar una infraestructura donde se vean funcionando todas las piezas juntas.

Yendo al grano, App-V son realmente cinco componentes:

  • El cliente para Vista/XP (solo x86)
  • El cliente para Terminal Server (por ahora solo x86) :-(
  • El secuenciador, para crear los paquetes con las aplicaciones virtualizadas
  • El Management Server
  • El Streaming Server

El servidor se puede montar tanto sobre sistemas x86 como x64, si bien los binarios son de 32-bit. Los pre-requisitos y componentes del sistema necesarios para funcionar están documentados en Application Virtualization System Requirements. Resumiendo, para lo que vamos a montar aquí (Management+Streaming) necesitaremos:

  • IIS6 con ASP (si lo montas en 2008/IIS7 recuerda los módulos de compatibilidad)
  • El .Net Framework 2.0 o superior
  • SQL 2005 (el Express no esta soportado en producción, pero es suficiente para una prueba)

La instalación transcurre así:

Las primeras pantallas son las típicas:

image image image image

Se nos solicita el servidor de SQL que albergará ala DDBB, que puede ser remoto. En este caso es local. Usamos una base de datos nueva, en la que dejamos el nombre por defecto (APPVIRT)

image image

El protocolo de streaming puede utilizar un certificado de autenticación de servidor instalado en el quipo para cifrar las comunicaciones. Si tienes un buen despliegue de una PKI, es ciertamente recomendable. Si no, se te convertirá en un dolor de cabeza. Una cosa a tener en cuenta si se usa seguridad mejorada es que deberemos usar el mismo nombre de servidor que hayamos puesto en el certificado en todas partes donde se nos solicite, o si no las conexiones fallarán. Exactamente igual que un navegador cuando accede por SSL a un servidor usando un nombre distinto al configurado en el certificado.

image image

Lo siguiente que debemos introducir son los usuarios que administrarán el servidor y los usuarios que podrán acceder a el. Esto es independiente de que subconjunto de usuarios tendrán derecho o no a usar una determinada aplicación. Si os queréis usar problemas, resolved el nombre del grupo y ponedlo en estas casillas. Esto es mejor que usar el formato habitual Dominio\grupo. En mi caso, sin demasiados quebraderos de cabeza, administradores serán los Domain Admins y usuarios los Domain Users.

image image

Lo siguiente que se nos solicita es la carpeta donde situaremos el contenido, es decir, los paquetes con las aplicaciones virtualizadas. Hace las veces del directorio InetPub\wwwroot, para entendernos:image

Con esto, habremos terminado la instalación:

image image image

Tras reiniciar, lanzamos la consola (que podemos haber elegido instalar en otro equipo) y la configuramos para apuntar al servidor donde hemos instalado el servicio, recordando marcar o no la casilla se usar conexión segura en función de lo elegido anteriormente. Pidiendo las propiedades del servidor, tendremos que rellenar la URL o nombre UNC donde los clientes irán a buscar los .OSD y los iconos de la aplicación. El OSD hace las veces de una especie de .vmc que vale para que el cliente sea capaz de localizar el paquete (que equivaldría al vhd) que habremos dejado en la carpeta “Content” mencionada más arriba. Es bastante frecuente usar la misma carpeta para todo y compartir sencillamente el path mencionado en el punto anterior. En nuestro caso compartiríamos D:\App-V-Content y pondríamos \\server\App-V-Content en “System Options”.

image image image

Con esto queda el servidor operativo, pero no será funcional hasta que no instalemos la parte cliente, y sobre todo hasta que no virtualizemos aplicaciones y las publiquemos en la consola para su consumo por los usuarios en función de su pertenencia grupos de Directorio Activo.

Vamos a dejarlo aquí y seguimos en otro rato.

Saludos

David Cervigón

More Posts Next page »
 
Page view tracker