Tips de diseño – VMware View & PCoIP

Que tal gente vamos a revisar algunas consideraciones de diseño para VMware View, en este caso estaremos revisando consideraciones de red.

Lo primero que debemos de tener en cuenta es que debemos conocer el perfil de los usuarios que estarán utilizando la solución de view, es decir debemos identificar que necesidades tiene cada uno de ellos, para esto, debemos de preguntarnos lo siguiente:

– aplicaciones que se utilizan
– ¿manejo de gráficos? (Software vs hardware)
– ¿Se requiere procesar video? (MMR o host video decoding)
– ¿manejo de audio? (¿Bidireccional?)
– ¿dispositivos USB?
– ubicación
– medio de acceso

En estas preguntas o checklist no consideramos todos los temas como políticas de respaldo, manejo de persona, etc.

Con estas preguntas podemos irnos dando una idea clara de lo que el usuario estaría consumiendo en cuanto a números de red se refiere. Lo más recomendado es que tengamos una etapa de assesment del ambiente existente, es decir, poder tener almenos los días considerados como “pico” o de mayor stress a nivel de el ciclo productivo y poder incluir días de consumo medio en un sistema de análisis del comportamiento a nivel de escritorios, como lo es stratusphere Fit de liquidwarelabs.

Una vez obtenidos datos reales de como se comporta el ambiente que estaremos virtualizando debemos de conocer los distintos términos y metodologías para el cálculo correcto de ancho de banda necesario para nuestros escritorios, recuerden en este post solo estamos hablando de Networking.

Daremos por hecho que estamos trabajando con PCoIP, protocolo de despliegue que es utilizado por VMware view y que esta pensado para ser un protocolo sin perdida y que se adapta a las condiciones del medio.

20121210-095300.jpg

Debemos primero conocer un poco más sobre PCoIP, mantengamos lo siguiente en mente:

tenemos dos tipos de PCoIP software y hardware

– software PCoIP nos entrega hasta 30 FPS y tiene una tolerancia máxima de latencia de 250 ms (round trip).

– hardware PCoIP nos entrega un máximo de 60 FPS y tiene una tolerancia máxima de latencia de 150 ms (round trip).

*estos datos de latencia son importantes debido a que debemos considerarlos para poder hacer tuning de nuestro switches/routers en cuanto a buffer de los mismos se refiere y que estos no sean la causa de que lleguemos sobrepasar los máximos

Tenemos los siguientes valores para el cálculo de ancho de banda (obtenidos de lista de requerimientos de Networking creada por teradici):

20121210-185848.jpg

debemos conocer lo siguiente:

– utilización esperada de la red, es decir, cuanto ancho de banda estará asignado a view/PCoIP, esto lo sabremos después de determinar la cantidad de ancho de banda que será utilizado para tráfico de alta prioridad, por ejemplo:

20% VoIP, 80%PCoIP

– número de usuarios concurrentes

* usuarios con audio
* usuarios con video de 480p (se considera un buen valor que estos estarán utilizando 1Mbps por sesión)

– ¿se tendrán sesiones con exclusivamente a través de software PCoIP o también con hardware?

*esto determinará el MTU requerido. En el caso de PCoIP por software y zero clients de PCoIP será un MTU de 1300 y para hardware PCoIP (apex) y hardware zero clients estaremos hablando de un MTU de 1400

– recordemos que al ser un protocolo en tiempo real puede llegar a verse afectado. Se recomienda que 50-150 ms de la comunicación se encuentre como máximo en buffer, reduciendo así la latencia causada por los dispositivos.

– asegurarnos de tener el 80% del tráfico remanente después de haber determinado los servicios críticos que estarán utilizando el medio.

– debemos de asegurarnos de marcar el tráfico de PCoIP mediante el uso de QoS para que este sea considerado como tráfico en tiempo real y solo después de VoIP.

– debemos asegurarnos de nunca tener fragmentación en nuestro medio, para esto de inicio debemos confirmar que todos los dispositivos tengan un MTU mayor al de PCoIP, que por default es de 1400 aunque puede ser modificado a través de la GPO “PCoIPMtuSize”

– debemos tratar de reducir la pérdida de paquetes en el medio, se requiere tener menos de 0.1% por sesión ya que aquellos paquetes que lleguen fuera de orden pueden ser considerados como perdidos. Debemos tener en mente que después de 30 segundos de pérdida en paquetes las sesiones se desconectarán.

– Debemos asegurarnos de no perder el orden en los paquetes, esto incluye métodos de balanceo (ej. Balanceo por paquete) para el caso específico de balanceadores debemos de utilizar sticky sessions (afinidad de las sesiones/persistencia).

– debemos considerar ancho de banda para posibles picos en las sesiones con esto podemos definir fácilmente el límite que podremos aplicar a las sesiones a través de las GPOs:

((anchodebandadisponible parapcoip)/(n usuarios))+500kbps

– en el caso de tener un medio con pérdida de paquetes podemos considerar el modificar la variable de “bandwith floor” con lo que nos aseguramos que se reserva dicha cantidad de ancho de banda considerando siempre que la suma de todos las sesiones no sobrepase el máximo de ancho de banda disponible para PCoIP. Apoyandonos de los logs de PCoIP (principalmente pcoip_server.txt) podemos definir cual es la latencia y el rto (la cantidad de paquetes perdidos al recibir y enviar en un periodo definido). Si tomamos en cuenta esto es muy posible que PCoIP comienze a realizar throttling en el ancho de banda de las sesiones lo cual nos llevaría fácilmente a saturar los medios.

– en el caso que tengamos un medio con pérdida y falta de ancho de banda podríamos reducir la calidad de despliegue permitiendo un máximo de frames por segundo para mantener una sesión que responda de manera correcta, para esto nos enfocamos en la GPO pcoip_admin.

4 comments on “Tips de diseño – VMware View & PCoIP

  1. fsigu December 19, 2012 9:02 am

    Estimado como estas, espero que muy bien encontre tu blog y me parece super interesante, estoy iniciandome es esto del mundo de vmware, y me parece super interesante, solo que como soy nuevo no tengo claros algunos conceptos que espero puedas darme una mano para aclararlos.

    Estoy queriendo usar un vmware esxi 5.1, en un servidor ibm x3500, el cual tiene 12gb de ram y 2 discos duros sas en raid1
    En este servidor quiero configurar 2 servidores con windows server 2008 y uno con linux, al crear la primera maquina virtual me surgen dudas acerca de los discos duro y el procesador

    1. AL crear la maquina virtual en la seccion del procesador tengo que indicar cuantos procesadores y cuantos cores debe tener mi mv, para esto deberia poner 1 procesador y 4 cores?, O lo dejo como viene por defecto 1procesador y 1 core.

    2. En Tipo de disco duro, tengo algunas dudas,
    Primero en la opcion de SCSI controller, cual es el mas recomendado LSI logical sas?, cual esl a diferencia entre los otros.
    Segundo Al definir la capacidad del disco En disk provisioning, que debo poner. Thick provision Lazy Zeroed, Thick provision eager zeroed, o solo thick provision.

    Tercero, Location, en virtual device node, lo dejo por defecto SCSI (0:0).

    Otra duda que tengo sobre los discos es, cuando intente convertir la mv, que la cree en esxi a vmware workstation, con vmware converter, al revisar la configuracion de la mv creada en esxi, me indica que tengo que editar la configuración del disco duro,
    aqui en data coy type esta la opcionm por defecto copy all disk and maintain layout , pero en el typo de disco me sale como pre-allocated, y no me dejo continuar si no le cambio a pre-allocated , o a 2GB pre-allocated. El tamaño del disco es de 120GB.
    Entonces mi consulta es cual es la diferencia entre las dos preallocated y el non-preallocated.

    No se si me puedes ayudar con una explicacion breve de estos temas, y si sabes de algun documento en donde pueda encontrar informacion mas detallada acerca de esto te lo agradeceria mucho.

    Saludos y espero puedas ayudarme con esto.

    Fernando

  2. daniel July 9, 2013 9:54 am

    hola , como estas mi buen
    tengo un problema , aver si me puedes dar un tic .
    tengo cuatro escritorios virtuales con vmware view ,pero en ocasiones se ponen lentos y aveces se desconectan del escritorio , que solucion podria aplicar en este caso ?.

    • amalanco July 9, 2013 10:05 am

      Daniel, es muy dificil poder determinar el problema con una descripción tan generica, el tema de la desconexión podría deberse a problemas en la red, en cuanto al tema de la lentitud podría ser a nivel de disco o la infraestructura como tal…..

  3. daniel July 9, 2013 5:24 pm

    el servidor en el que viven las maquinas virtuales están en otro estado, el problema de lentitud de los escritorios virtuales casi siempre es a la misma hora y le pasa a todas las maquinas virtuales y solo algunas veces se desconectan del escritorio virtual.

Leave a Reply