domingo, 26 de agosto de 2012

View 5 en Iomega PX6

Hola, el otro día navegando me encontré con este artículo de septiembre de 2011 y lo encontré muy interesante. Lo he traducido rápidamente y adaptado con algunas anotaciones en rojo.


Introducción

Una de las tareas que emprendí para el VMworld 2011 fue una demostración de View 5 ejecutado en un hardware modesto. Se nos pidió: "ver lo que puede hacer". El objetivo final era trabajar con el máximo de máquinas virtuales VMware View 5 como pudiera nuestro modesto conjunto de hardware - algo que podría ser razonablemente adquirido por una pequeña oficina para poder utilizar escritorios virtuales. Empezamos con un presupuesto de alrededor de $15,000 (actualmente unos 5.500€) y quería algo que pudiera caber en un pequeño estante en cualquier esquina.


Hardware

Para el hardware, se utilizó el siguiente:

  •  Switch Cisco Small (3750) 
 
Teniendo en cuenta que el artículo original es de septiembre de 2011, hoy en día este hardware se puede adquirir por aproximadamente 5.500€

Si vamos a comprar este hardware o similar, en el mercado a día de hoy podríamos hacerlo con alguna oferta por unos 15.000 dólares al cambio unos 11.951€ euros (siempre el hardware de servidor de la clase similar a Cisco o Dell). 

Nuestro objetivo inicial era llegar a 30 máquinas virtuales. Elegimos este objetivo para ser consecuentes con lo que sentíamos que una pequeña oficina real podría necesitar. Si estás construyendo una nueva oficina o delegación lo normal sería comprar 30 ordenadores para los usuarios, que costarían alrededor de $1250 o así por máquina, por lo que su coste total (excluyendo las licencias de software) sería alrededor de $ 38.000. Nuestro proyecto sin embargo tendría un coste de $15K (5,5K€) para nuestro hardware de servidor y almacenamiento y  $ 15.000 en clientes ligeros (estilo ordenador portátil o de escritorio), y todavía tendríamos 8K de remanente, para una solución de backup o similar. 

Entonces, ¿cómo podíamos ponerlo en marcha, y lo más importante, validar nuestra arquitectura y diseño? 

Software

Empezamos con una base de VMware vSphere 5 instalado localmente en los discos de los servidores C200. Esto era totalmente innecesario ya que ESXi podría fácilmente correr desde dispositivos USB, pero tuvimos problemas para conseguir que los C200 arrancaran desde USB, por ello elegimos el camino de menor resistencia.

Además de esto hemos instalado dos máquinas Windows 2008 R2 virtuales que se han sumado a un entorno de Active Directory existente. Uno de ellos tenía VMware vCenter 5 y el otro tenía instalado VMware View 5 (broker de conexión). Por último, también se instala View Composer en el servidor vCenter (requerido).

Posteriormente, creamos la máquina virtual de origen, que serían los escritorios virtuales a los que los usuarios acceden. Fue una máquina virtual Windows XP SP3 con 1 GB de RAM,  Office 2010 y las VMware Tools instaladas.

 

Configuración de los discos (Arrays)

La matriz Px6 es muy fácil de configurar a través de su interfaz web. Los discos se configuran en 2 grupos del siguiente modo: 

  • ReplicasClones: Este pool fue un conjunto RAID 1 de dos discos SSD, y por su nombre se puede intuir que estaba diseñado para soportar las altas IO del entorno View. 


  • UserData: Este pool fue un conjunto RAID 5 de las 4 unidades SATA de 1 TB, dando una capacidad útil de alrededor de 2.8TB después de las conversiones RAID & base2/base10. 

Host Configuration

El ESXi se ha configurado con los valores predeterminados en su mayor parte. Con sus 4 puertos NIC, conectamos 2 de los puertos del array a 2 puertos del host con cables cortos. Esto se hizo para maximizar el ancho de banda y caminos que pasan desde  la matriz Px6 al host. El almacén de datos de réplica (ReplicasClones) fue montado a través de NFS sobre la vmnic2, mientras que el escritorio-SSD (clones enlazados) datastore fue montado a través de NFS sobre vmnic3. Como resultado, los dos almacenes de datos con mayor IO están lo mejor posible, con la latencia más baja y caminos libres para el almacenamiento.

Para el acceso externo, la gestión y tráfico de máquinas virtuales, se encamina a través del vmnic0 al mundo exterior.


VMware View 5 Configuración

Después de conseguir View 5 instalado (que es muy fácil, por cierto - sólo Siguiente, Siguiente, Siguiente, Finalizar), comenzamos a configurar un solo Pool  utilizando clones enlazados y discos persistentes:

Lo dejamos procesar y desplegar los escritorios virtuales un poco (unos 20 minutos más o menos), y voila, tenemos 50 escritorios listos para funcionar!

Pruebas de rendimiento


Tan fácil y atractiva sea la implementación que sea, tenemos que probarla con  algo más que arrancar y ejecutar 50 escritorios inactivos. Mientras que un anterior jefe mío siempre decía que su "red favorita es una que no incluya usuarios", yo no creo que pueda proyectar $ 30K para un sistema de 0 usuarios.

Como resultado de esto, tenía que encontrar una manera de generar alguna carga similar a la del mundo real en nuestro escenario. Hay unas pocas opciones razonables, pero la más fácil (y más barata) que encontré fue la herramienta LoginVSI de Login Consultants. Esta herramienta utiliza una combinación inteligente de las políticas de grupo de AD, carpetas compartidas, archivos por lotes y generadores de pulsaciones de teclado para simular comportamientos de los usuarios reales con Excel, Word, Outlook e Internet Explorer. Aún mejor, para probar con una carga  'Media' de trabajo de hasta 50 usuarios, es gratis!

La herramienta monitorea constantemente el tiempo de respuesta de las acciones del usuario y como el número de máquinas virtuales activas van aumentando, para determinar el número máximo de sistemas que pueden estar en ejecución antes de que el usuario experimente un rendimiento deficiente. El resultado es la salida de un gráfico de la siguiente manera:

Esa línea azul es el tiempo medio de respuesta, y realmente no la quiero por encima de ~ 2500ms.

Mientras las pruebas se ejecutan, es fascinante verlo. Tienes la oportunidad de ver un sistema abierto por RDP, iniciar sesión, ejecutar el archivo por lotes, y recorrer el procedimiento de prueba:





Entonces, ¿a dónde llegaremos? en primer lugar me gustaría demostrar el rendimiento  de los hosts:



En cuanto a la vista de resumen, en la parte superior derecha, se puede ver que consume 74GB de la memoria del sistema, y más de 22GHz de rendimiento de la CPU, por lo que definitivamente estamos empezando a empujar a esta máquina hacia  sus límites. Vamos a echar un vistazo en el núcleo de la CPU y las métricas de almacenamiento: 



Es evidente que la CPU está muy saludable, con un picos en torno al 60%. Ahora la parte más interesante, el rendimiento de almacenamiento:



Esto es realmente un rendimiento fantástico. Vemos que los tiempos medios de respuesta general (lectura y escritura) para los discos son menos de 2.8ms, muy por debajo de los ~10-15ms, valor al que nosotros llamamos "bueno" en el mundo del almacenamiento. Aún mejor, las latencias de lectura eran menos de la mitad de una milésima de segundo. Claramente, esta matriz tiene la potencia necesaria para manejar esta carga de trabajo con aplomo.

Entonces, ¿a dónde llegaremos? ¿qué dice LoginVSI es nuestro entorno? Bueno, aquí está el gráfico: 


Vemos aquí que los tiempos de respuesta de los usuarios están siempre por debajo de 1,2 segundos, y menos de 1 segundo en el promedio general. ¿Qué significa esto para el rendimiento y capacidad? Esto significa que este sistema, con este diseño pueden manejar fácilmente 50 usuarios. Apuesto a que podría manejar por lo menos 75, pero yo no tenía los recursos para tratar de ir más lejos en esta prueba (más hosts, licencias libres de LoginVSI).

 

Consideraciones de diseño

Puedo oír a la gente gritando  “Esto no es viable en el mundo real” – un solo controlador, sin copias de seguridad, bla, bla, bla. Sí, lo sé. Yo no aplicaría esto en un escenario empresarial crítico. Este proyecto fue pensado simplemente como una demostración para mostrar lo que View 5 puede hacer con recursos absolutamente mínimos. Por favor, por el amor de todas las cosas, no utilizar este diseño para entornos importantes de tu negocio.

Artículo original: http://vmsarefreeright.wordpress.com/2011/09/09/pushing-limits-running-view-5-on-iomega-px6/

domingo, 19 de agosto de 2012

Instalación de servidor de correo electrónico Exchange 2010

Nunca habíamos tenido un método de comunicación tan rápido como el correo electrónico o e-mail. Los primeros usos se dieron en la década de los 70 y hoy en día resulta prácticamente imprescindible en cualquier entorno empresarial. Exchange 2010 es el servidor de correo más extendido y consolidado en las empresas, al igual que Vsphere en virtualización. Lo verdaderamente destacable de Exchange 2010 es la integración con los demás productos de Microsoft como Office, Sharepoint o Lync y su fácil y completo acceso desde cualquier lugar o dispositivo. No debemos olvidar que esta integración se traduce en  permitir convocar reuniones, ver disponibilidades de recursos y personas, generar tareas propias y a terceros, crear listas de discusión en Sharepoint accesibles desde Outlook. Encontrarás más información aquí.

Existen diferentes métodos y formas de implementar Exchange, no es lo mismo una organización de 10 usuarios que una de 5000, eso sí, como siempre he defendido, las necesidades de los usuarios de la empresa de 10 son las mismas que la de 5000.

Pues bien, con respecto al presupuesto necesitaremos las siguientes licencias de Microsoft:


Unid
Descripción

Total €
1
Exchange Server Standard 
     648,98 €
    648,98 €
10
Exchange Standard CAL 2010 
       61,89 €
    618,90 €
1
 Windows 2008 R2 Server Enterprise 
  2.161,89 €
            -  





Precio Total

 1.267,88 €


 
Como se puede observar el hecho de haber comprado anteriormente la licencia de Windows 2008 R2 Server Datacenter nos exime de tener que comprar una nueva licencia de servidor Windows 2008 R2 Server Enterprise.

Con respecto a la compra de licencias de usuario CAL teóricamente hay que comprar una por usuario con buzón de correo electrónico, aunque a efectos del servidor no es necesario configurar las CAL, es decir, independientemente del número de CAL que tengamos compradas podemos tener un número ilimitado de buzones, aplicaremos nuestro sentido común al comprar las CAL.

Para la creación de la VM seguiremos el procedimiento de creación de máquina virtual detallado aquí con la siguiente parametrización:

  • [Nombre del equipo] EX01.gonzgomez.local
  • [IP address] 192.168.0.88
  • [Subnet Mask] 255.255.255.0
  • [Default Gateway] 192.168.0.72
  • [Preferred DNS server] 192.168.0.86 
Exchange 2010 es un gran consumidor de RAM asignarle 8GB sería un buen punto de partida y seguramente más que suficiente en la mayoría de escenarios pequeños y medianos. Tenéis mas información sobre los requerimientos de RAM en Exchange 2010 aquí.

Empezamos con la configuración de nuestro Exchange 2010. Configuramos un nombre a nuestro servidor [EX01]  y lo unimos al dominio [gonzgomez] hacemos clic en OK, nos pedirá credenciales de administrador del dominio y una vez aceptadas tendremos que reiniciar el equipo.


Iniciamos la sesión como administrador del dominio, usuario: administrator y configuramos una ip fija.


Es necesario instalar el ROL de Netframework 3.5. En el Server Manager [Administrador del servidor], hacemos clic en Add Roles [Agregar funciones] y seleccionamos NET Framework 3.5.1 y hacemos clic en Install.


Después de marcar la casilla, es posible que recibamos una ventana que dice que es necesario agregar funciones requeridas, hacemos clic en el botón [Add Required Features].



Hacemos clic en Next



Hacemos clic en Next



Hacemos clic en Next



Veremos la ventana  de “Confirmar selecciones de instalación”. Hacemos clic en Install.



Hacemos clic en Close




Empezamos con la instalación de Exchange 2010, para ello tiene que estar cargada la ISO en la unidad de CD/DVD de nuestro servidor y ejecutar el setup para que nos aparezca la ventana principal de instalación. Vamos a realizar una instalación típica, que incluye los roles Client Access, Hub Transport y Mailbox. Esto es lo típico para instalaciones de un único servidor Exchange.

Los dos primeros pasos los tenemos realizados, hacemos clic en Step3 y elegimos la opción Install only languages from the DVD.


Hacemos clic en Step 4: Install Microsoft Exchange.


Hacemos clic en Next
 

Seleccionamos I accept the terms in the license agreement para aceptar el EULA y hacemos clic en Next.  


Seleccionamos si queremos enviar los informes de errores a Microsoft y hacemos clic en Next.



Seleccionamos el valor por defecto "Typical Exchange Server Installation" y hacemos clic en Next. Incluye los roles Client Access, Hub Transport y Mailbox.


Escribimos el nombre de nuestra organización de Exchange [Gonzgomez] y hacemos clic en Next.


Como no tenemos clientes de Outlook 2003 seleccionamos No y hacemos clic en Next.


Configuraremos más adelante esta opción para que nuestro servidor de Exchange esté disponible desde el exterior a través de webmail.gonzgomez.com. Hacemos clic en Next.


Seleccionamos si queremos colaborar con el Programa de Mejora de la Experiencia del Cliente y hacemos clic en Next.


Tras las comprobaciones de los prerequisitos detecta que nos falta activar determinadas características e instalar Microsoft Office Filter Pack 2010.



Ejecutamos Windows PowerShell. Nos aseguramos de que PowerShell se abre con una cuenta que tenga los derechos para instalar componentes de Windows y características. En nuestro caso Administrator.


Ejecutamos los siguientes comandos:  
  1. Import-Module ServerManager
  2. Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Desktop-Experience –Restart


Tras el reinicio volvemos a ejecutar Windows PowerShell y ejecutamos el siguiente comando: Set-Service NetTcpPortSharing -StartupType Automatic



Descargamos Microsoft Office Filter Pack 2010 y su Service Pack:

  1. Microsoft Office Filter Pack 2010
  2. Service Pack for Microsoft Office Filter Pack 2010 (KB2460041) 64-bit Edition.
Ejecutamos la instalación y hacemos clic en Next.


Seleccionamos I accept the terms in the License Agreement para aceptar el EULA y hacemos clic en Next.   


Hacemos clic en OK.


Ejecutamos la instalación del Service Pack for Microsoft Office Filter Pack 2010 (KB2460041) 64-bit Edition y hacemos clic en Next.


Hacemos clic en OK.


Volvemos a ejecutar la instalación de Exchange 2010 y comprobamos que ahora cumplimos todos los prerequisitos. Hacemos clic en Install.


La instalación dura varios minutos...


Tras un par de cafés la instalación se completa y nos aparece la ventana de finalización, hacemos clic en Finish. Ahora sólo quedaría aplicar el último Servipack [SP2] que hay de Exchange 2010.



Ejecutamos el setup del Servipack SP2 para Exchange 2010 para que nos aparezca la ventana principal de instalación y seleccionamos Install Microsoft Exchange Server upgrade.


Hacemos clic en Next
 

Seleccionamos I accept the terms in the license agreement para aceptar el EULA y hacemos clic en Next.


Tras las comprobaciones de los prerequisitos  nos aparece un mensaje de error “The ‘IIS 6 WMI Compatibility’ component is required” este error se produce por una nueva característica de Exchange 2010 Service Pack 2 de Outlook Web App denominado Mini, esta nueva característica requiere de componentes de IIS. Los instalaremos a continuación.


Ejecutamos Windows PowerShell. Nos aseguramos que PowerShell se abre con una cuenta que tenga los derechos para instalar componentes de Windows y características. En nuestro caso Administrator. Ejecutamos los siguientes comandos:  
  1. Import-Module ServerManager
  2. Add-WindowsFeature Web-WMI



Hacemos clic en Retry para que compruebe los prerequisitos de nuevo y comprobamos que los cumple todos. Hacemos clic en Upgrade para iniciar la actualización.


Tras unos minutos, empezamos con el café...


Una vez que la instalación se completa y nos aparece la ventana de finalización, hacemos clic en Finish.


Para empezar a configurar nuestro servidor de Exchange 2010 SP2, ejecutamos la consola Exchange Management Console.


Una vez ejecutada la consola hacemos clic en [+] para extender el árbol de configuración.


Lo primero que configuraremos será un nuevo send connector [conector de envío] que se utiliza para transferir los mensajes salientes de Exchange a través de Internet. Para ello extendemos Organization configuration [Configuración de la Organización] y seleccionamos Hub transport [Transporte de concentradores], en la pestaña central seleccionamos Send connectors [Enviar conectores] y en el panel lateral derecho de Action [Acciones] elegimos New send connector [Nuevo conector de envío].



Introducimos el nombre del conector, por ejemplo [Conector_internet] y hacemos clic en Next.


En Address space introduciremos [*] para que este conector de envío esté configurado para enviar mensajes de correo electrónico a cualquier dominio en Internet. Hacemos clic en OK.


Hacemos clic en Next.


Hacemos clic en Next


Hacemos clic en New


Hacemos clic en Finish


Una vez creado nuestro conector, hacemos clic en Properties y comprobamos que el nombre de nuestro servidor [EX01.gonzgomez.local] figura en Specify the FQDN this connector will provide in response to HELO or EHLO.


Ahora añadimos nuestro dominio público [gonzgomez.com] a los dominios aceptados por nuestro servidor Exchange, para ello extendemos Organization configuration [Configuración de la Organización] y seleccionamos Hub transport [Transporte de concentradores], en la pestaña central seleccionamos Accepted Domains [Dominios Aceptados] y en el panel lateral derecho de Action [Acciones] elegimos New Accepted Domains [Nuevo dominio aceptado].


Ahora añadiremos nuestro dominio público [gonzgomez.com] en el campo Accepted Domain [Dominio aceptado] y hacemos clic en New.


Hacemos clic en Finish



Seleccionamos nuestro dominio [gonzgomez.com] como dominio predeterminado, para ello en el panel lateral derecho de Action [Acciones] lo seleccionamos y hacemos clic en Set as default [Dominio predeterminado].


Bien, ya podemos asignar a nuestros usuarios su buzón de correo electrónico, para ello extendemos Recipient configuration [Configuración de destinatarios] y seleccionamos Mailbox [Buzón], en el panel lateral derecho de Action [Acciones] hacemos clic en New Mailbox [Nuevo buzón].


Hacemos clic en User Mailbox.



Hacemos clic en Add y selecconamos nuestro usuario [Julia Otero].


Hacemos clic en Next



Hacemos clic en Next



Hacemos clic en New.


Hacemos clic en Finish


Ya tenemos nuestro primer buzón creado [Julia Otero].


Obviamente lo mas recomendable es tener una IP fija asignada a nuestra conexión de internet, para este ejemplo utilizaré una conexión de fibra contratada en Movistar, el coste de la linea a día de hoy es de 39,90 + 14€ por IP fija.  Una vez esté nuestra linea operativa y conozcamos nuestra IP pública, algo que podemos consultar en multitud de páginas debemos configurar nuestro dominio para que apunte a nuestra IP. Para ello nos logeamos en 1&1 donde tengo el dominio [gonzgomez.com] contratado (el proceso es similar en Arsys o cualquier hosting/registrador de dominios) y hacemos clic en dominios.


Hacemos clic en Nuevo>Crear un subdominio.


Introducimos por ejemplo mail.gonzgomez.com

La operatividad del nuevo subdominio en 1&1 lo fijan en unas horas aunque en muchos casos es casi instantaneo.


Seleccionamos nuestro subdominio mail.gonzgomez.com y hacemos clic en DNS>Modificar la configuración DNS.


Seleccionamos Otras direcciones IP, escribimos nuestra IP fija asignada por movistar y hacemos clic en Enviar.


Ahora seleccionamos nuestro dominio gonzgomez.com y hacemos clic en DNS>Modificar la configuración DNS.


Seleccionamos Otros Servidores de correo, escribimos mail.gonzgomez.com en nuestro primer registro MX [MX1] y hacemos clic en Enviar.


Para el acceso Webmail creamos un nuevo subdominio, hacemos clic en Nuevo>Crear un subdominio. Introducimos por ejemplo webmail.gonzgomez.com Seleccionamos nuestro subdominio webmail.gonzgomez.com y hacemos clic en DNS>Modificar la configuración DNS.


Seleccionamos Otras direcciones IP, escribimos nuestra IP fija asignada por movistar y hacemos clic en Enviar.


Por ultimo solo nos queda configurar nuestro router de fibra de Movistar, para las peticiones que nos lleguen por el puerto 25 SMTP y por el 443 SSL lo redirijan al servidor Exchange. Movistar actualmente está instalando el modelo Comtrend 802.11n

Para acceder a este router Telefónica Movistar proporciona el portal Alejandra que es un servicio que permite gestionar y configurar el router remotamente desde una interfaz web. Las ventajas son la sencillez y usabilidad del portal, pero las desventajas son mayores: perdemos acceso al router mediante  web y en ocasiones el portal no funciona bien o no conecta con nuestro router. Es totalmente insuficiente para gestionar el router para un uso profesional. Por ello debemos proceder a desvincularlo del portal Alejandra y pasar a gestionarlo nosostros directamente, para ello es tan sencillo como logearnos en el portal Alejandra y cambiar la clave de acceso.






Una vez realizada la desvinculación accederemos a la web de administración del router en la dirección http://192.168.1.1/  con el usuario 1234 y la contraseña que hayamos fijado en el portal Alejandra.


Lo primero que tenemos que realizar es asignarle una IP fija interna dentro de nuestro rango, para que el router sea visible por el resto de nuestros equipos y servidores, en nuestro caso [192.168.0.75]. Si tenemos como servidor DHCP nuestro controlador de dominio [DC01] hay que desactivar el servidor DHCP del router. Para todo ello, en el panel lateral izquierdo hacemos clic en Advances setup>LAN y modificamos el campo IP Address y marcamos Disable DHCP server


El router se reiniciará y ahora se accederá a la web de gestión en: http://192.168.0.75, para redirigir los puertos en el panel lateral izquierdo hacemos clic en Advances setup>NAT>Add.



En la siguiente pantalla configuramos los siguientes parámetros:
  1. Use interface: Seleccionamos el Default Getaway que nos aparece en la pantalla principal de Devide info de nuestro router en nuestro caso pppoe_eth0.6/ppp0.6
  2. Select Service: Seleccionamos Mail (SMTP)
  3. Server IP Address: Seleccionamos la IP de nuestro servidor Exchange 192.168.0.88
Hacemos clic en Apply/Save


Para configurar el Webmail hacemos otra vez clic en Advances setup>NAT>Add y configuramos los siguientes parámetros:
  1. Use interface: Seleccionamos el Default Getaway que nos aparece en la pantalla principal de Devide info de nuestro router en nuestro caso pppoe_eth0.6/ppp0.6
  2. Custom Service: OWA Gonzgomez.com
  3. Server IP Address: Seleccionamos la IP de nuestro servidor Exchange 192.168.0.88
  4. Introducimos 443  en External Port Start y External Port End
Hacemos clic en Apply/Save



Podemos comprobar que accedemos a nuestro correo via web en la dirección https://webmail.gonzgomez.com/owa y logearnos con nuestro usuario [Julia Otero].




Esta entrada la finalizo aquí con respecto a la parametrización de Exchane 2010 no estaría completa, quedaría añadir a todos nuestros usuarios, generar un certificado y configurar alguna política.

Saludos
Gonzalo