jueves, 28 de agosto de 2008

RECOMENDACIÓN PARA IMPLEMENTACIÓN DE CITRIX XENAPP EN UN AMBIENTE DE VIRTUALZIACIÓN DE VMWARE

El presente documento es una recopilación de las mejores prácticas de implementación de XenApp en máquinas virtuales hospedadas en VMWare ESX.

1. Instalación de las VMWare Tools: Mejora en el desempeño de la máquina virtual.

2. Desconectar la unidad de CD-ROM: Esta es consulta permanentemente, consumiendo ciclos de procesador innecesarios.

3. Eliminar efectos visuales de las máquinas virtuales: Agiliza el tiempo de respuesta dado al usuario.

4. Realizar una desfragmentación periódica del disco virtual para mejorar el desempeño de la máquina.

5. Deshabilitar los puertos COM: Al ser utilizados, se utilizan ciclos de procesamiento adicionales.

6. Asegurarse que la máquina virtual tenga siempre la memoria RAM necesaria, si es necesario realizar una reserva de memoria por cada máquina virtual de Citrix XenApp.

7. Es muy importante tener cuidado con el sobrecomisionamiento de núcleos de procesamiento, si la máquina física alberga muchas máquinas virtuales con alta exigencia en procesamiento, se van a evidenciar problemas en la escalabilidad y rendimiento de las máquinas virtuales de Citrix XenApp. En caso de compartir recursos de procesamiento con otras máquinas, es necesario garantizar que las máquinas virtuales tengan una capacidad de crecimiento suficiente y garantizada para pueda hacer uso de ella en los momentos necesarios. Según nuestra experiencia, encontramos un mejor desempeño de las máquinas virtuales de Citrix XenApp al asignar núcleos dedicados de procesamiento.

8. En caso de clonar servidores tener presente el siguiente articulo de soporte de Citrix http://support.citrix.com/article/CTX107406

9. Se recomienda agregar de forma manual la siguiente línea al archivo VMX de cada máquina virtual de Citrix XenApp:

    workload="TerminalServices"

Es necesario validar el parámetro de acuerdo a la versión de VMWare utilizada.
10. Para máquinas que ejecuten un alto número de context switches se recomienda agregar de forma manual al archivo VMX de la máquina el siguiente parámetro:
    Monitor.idleLoopSpinUS=”n”

Donde n es un número entre 1 y 4000, nuestra experiencia encuentra buenos resultados con el valor 500. Para información detallada de este punto visite los siguientes vínculos:

http://www.vmware.com/pdf/WS6_Performance_Tuning_and_Benchmarking.pdf
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1730


11. Es necesario verificar que la HAL de la máquina virtual este correctamente configurada de acuerdo a la cantidad de núcleos de procesamiento que tenga la máquina.

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1077

12. Se recomienda no utilizar P2V para servidores de Citrix XenApp. Haga instalaciones limpias.

13. Instale UPHClean en las máquinas virtuales.
14. Aplique políticas para hacer redirección de mis documentos, application data y el escritorio.
15. Limitar el tamaño de los archivos temporales de Internet.

Vínculos Recomendados:

martes, 26 de agosto de 2008

Path de ejecución en VBS

Bueno, en algunos scripts es necesario saber la ruta donde nuestro script se esta ejecutando, para realizar acciones adicionales en dicha ruta.

A continuación les dejo unos tips para averiguar las rutas de ejecución:

  • Path completo del script:
      path=WScript.ScriptFullName
      wscript.echo path

      Ejemplo del resultado: C:\Users\Desktop\path.vbs
  • Directorio de Ejecución:
    Opción 1:

      AbsPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
      wscript.echo abspath

      Ejemplo del resultado: C:\Users\Desktop\


    Opción 2:

      Set wshShell = CreateObject("Wscript.Shell")
      WScript.Echo WshShell.CurrentDirectory

      Ejemplo del resultado: C:\Users\Desktop

    Opción 3:

      Set fso = WScript.CreateObject("Scripting.FileSystemObject")
      wscript.echo fso.GetAbsolutePathName(".")

      Ejemplo del resultado: C:\Users\Desktop



domingo, 24 de agosto de 2008

Invalid namespace [WBEM_E_INVALID_NAMESPACE]

Me encontré con este error en un cliente... y al no encontrar mucha información decidí escribir en mi blog la solución, luego de buscar mucho en la red. El error es el siguiente:

Citrix Monitoring Script Event 2
Citrix MetaFrame Compute Event Rate:
WMI error connecting to Citrix WMI provider:
Received error: 0x8004100e: Invalid namespace [WBEM_E_INVALID_NAMESPACE]

Este error aparece cada 5 o 10minutos en el visor de eventos, en el módulo de aplicación.

Este error es causado por que los archivos MOF (Managed Object Format) correspondientes a Citrix se encuentran corruptos actualmente.

Este inconveniente es solucionado recopilando dichos archivos, los cuales los encontraremos en la ruta C:\Program Files\Citrix\System32\Citrix\WMI, la recompilación se realiza ejecutando el siguiente comando en la ruta ya mencionada:

for %i in (*.mof, *.mfl) do Mofcomp %i

Estos archivos son los encargados de entregar la información de las clases de WMI al almacén central de WMI (donde se almacena el esquema y las instancias estáticas de los objetos WMI).

El comando Mofcomp simplemente es un compilador de archivos MOF.

Fuente1, Artículo Citrix

lunes, 18 de agosto de 2008

¿Como funciona XenApp 4.5?

Visitando los blogs de Citrix me encontré con este video, aquí podemos ver paso a paso el procedimiento utilizado por XenApp 4.5 en el procedimiento de inicio de sesión, visualización de aplicaciones, ingreso a las aplicaciones virtualizadas y el sistema de monitoreo de XenApp.

Podremos ver como interactúa los diferentes componentes de infraestructura, entre los cuales encontramos el cliente, el servicio de IMA, el servicio de XML, el servicio de Health and Monitoring entre otros.

La explicación es brindada por Ashish (Diseñador principal de Citrix Systems).

domingo, 10 de agosto de 2008

ClearType en XenApp

ClearType es una característica diseñada por Microsoft para mejorar la experiencia del usuario y hacer más cómoda la lectura de texto en los monitores (especialmente en los LCD), mediante el suavizando del contorno del texto.

Esta característica no podía ser habilitada en las sesiones ICA de XenApp 4.5 corriendo en Windows 2003, Microsoft explica el problema de la siguiente forma: "La opción de habilitar la característica Font smoothing no está disponible en la versión de RDC con Windows Server 2003 que se publicó. Windows Server 2003 deshabilita la función Font smoothing en todas las conexiones remotas de forma predeterminada. Estas conexiones incluyen las conexiones establecidas a través de RDC 6.0."

Lo bueno es que ya tenemos solución:
  • Es necesario instalar el Rollup Pack 02 para XenApp 4.5 e instalar el hotfix PSE450R02W2K3037
  • Debe estar instalado el Service Pack 1 o 2 de Windows Server 2003, se debe instalar la actualización KB946633 y para cuando se accede a traves de RDP y no de ICA se debe tener el cliente 6.0 de RDP. Después de instalar esta actualización se agrega la siguiente llave de registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\TSEnableFontSmoothing

  • Si la llave de registro esta en 0 se desactivara la característica, si esta en 1 quedará habilitada. Es necesario reiniciar el servidor luego de instalar este parche.

Estos pasos a parte de brindar una mejor experiencia a usuario ayuda a corregir algunos inconvenientes con las características de Live Preview y Quick Parts de Office 2007, debido a que requieren ClearType para correr de forma adecuada.

A continuación podemos ver como trabaja ClearType:



sábado, 9 de agosto de 2008

Usa Protector Solar

Una muy buena reflexión, que no se nos olvide que la vida no solo es estudio y trabajo, tenemos que vivir cada día con pasión y felicidad!!! Disfrutenlo!!!!

domingo, 3 de agosto de 2008

Contar la cantidad de usuarios logueados en una máquina

Este script es muy útil para validar la cantidad de usuarios que estan logueados en un momento dado sobre un servidor.

Ayuda mucho cuando necesitamso saber la cantidad de usuarios que un servidor de Terminal Server nos esta soportando.

'-------------------- ITPROSBOGOTACOLOMBIA ----------------------
'------------------- EL CHANGO PROGRAMADOR ---------------------
'------------------- CONTAR USUARIO LOGUEADOS ---------------------
strComputer = "."
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSessions = objWMI.ExecQuery ("Select * from Win32_LogonSession Where LogonType = 10")
If colSessions.Count = 0 Then
Wscript.Echo "No interactive users found"
Else
i=0
For Each objSession in colSessions
Set colList = objWMI.ExecQuery("Associators of " & "{Win32_LogonSession.LogonId=" & objSession.LogonId & "} " & _
"Where AssocClass=Win32_LoggedOnUser Role=Dependent" )
For Each objItem in colList
i=i+1
Next
Next
End If
Wscript.Echo "Usuarios Logueados: "&i

Script para agregar ruta al path

Este Script esta diseñado para modificar la llave de registro correspondiente al path, lo primero que hace es leer el valor actual y guardarlo en una variable, luego elimina la llave actual y crea una nueva con la modificación requerida

'-------------------- ITPROSBOGOTACOLOMBIA ----------------------
'------------------- EL CHANGO RPROGRAMADOR ---------------------
'-------------------- AGREGAR RUTA AL PATH ---------------------


'leer llave de registro y almacenar en la variable strValue
Const HKEY_LOCAL_MACHINE = &H80000002
'El script se ejecutara en la máquina local
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&strComputer&"\root\default:StdRegProv")
'Llave correspondiente al path
strKeyPath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
strValueName = "Path"
'Captura del valor actual
oReg.GetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
'Borrar valor de la llave de registr
oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName
'Crear path actualizado
addToPath = inputbox ("Ingrese la ruta a agregar al path: ", "El Chango Programador - ITPBC")
oReg.SetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue &";"&addToPath

sábado, 2 de agosto de 2008

Introducción a XenDesktop

Como parte de los nuevos productos lanzados por Citrix al mercado, encontramos a XenDesktop, una solución de virtualziación de escritorios que brinda mayor flexibilidad a las organizaciones, entregando escritorios (Windows XP, Windows Vista, etc..) a los usuarios desde cualquier punto donde tengan acceso a la red.

XenDesktop se integra a la perfección con tecnologías como XenServer (Virtualización de Servidores), Provisioning Server (Aprovisionamiento dinámico de máquinas) y XenApp (Virtualziación de aplicaciones) para formar una solución completa que reduce costos en las compañias, mejora rendimiento en los usuarios, aumenta la movilidad en las organizaciones y reduce el impacto ambiental en consumos de energía y fabricación de hardware.

XenDeskop tiene cinco ediciones diferentes: Platinum, Enterprise, Advanced, Standard y
Express, el detalle de las mismas lo podremos encontrar aquí.
De igual forma toda la documentación técnica necesaria para la implementación y administración la encontraremos aca.
Definitivamente recomiendo la tecnología y los invito a probarla!!!!