Introducción
Esta es la primera parte de una serie de 3 artículos que servirán de referencia para quien desee implementar SQL Server 2005 Mirroring con MOSS. Ahora veremos la preparación del escenario donde se realizarán las pruebas. El segundo artículo (SQL Server Mirroring con MOSS – Parte 2: Configuración de Back-end SQL Server 2005) presentará cómo configurar los tres servidores que utilizaré como back-end de modo que quede habilitado el escenario de mirroring; en el último artículo (SQL Server 2005 Mirroring con MOSS – Parte 3: Simulación de desastre y reconfiguración de MOSS) presentaré mi experiencia respecto a la simulación de caída del servidor SQL principal y de cómo configuramos la implementación MOSS para que ésta se conecte al nuevo back-end que queda habilitado.
Hardware y Software
Laptop HP Compaq nx6125, procesador AMD Turion64, 2.2GHz, 2.0 GB de RAM y HD de 55 GB. Tengo un HD externo Simple Tech de 230GB con el 98% libre (en el cual no confío mucho, así que trataré de mantener mis VPCs en la laptop).
En cuanto a software, corre un Windows Server 2003 R2 Standard Edition (no estoy usando un x64 edition) y he instalado Virtual Server 2005 R2 en español. Ahí he creado una red virtual llamada “SQL Mirroring con MOSS” en la que instalaré las VPCs (sin salida a internet).
VPCs
Instalé 4 VPCs, todas corriendo Windows Server 2003 R2 (en español) y con HDs virtuales de crecimiento dinámico en bus SCSI, todas conectadas a la red “SQL Mirroring con MOSS”.
La primera VPC se llama MOSS y utilizará 1.0 GB de RAM y dos HDs virtuales: el primer HD lleva el sistema operativo y MOSS 2007 (en español), con un crecimiento máximo de 16 GB. En el segundo HD va Active Directory y tiene un tamaño máximo de 6 GB. La instalación de MOSS será una granja de dominio con 7 cuentas de usuario.
La segundaVPC se llama SQLPrincipal y es el back-end primario sobre el cual está instalado MOSS. Tiene 192 MB de RAM asignados y un único HD virtual donde va SQL Server 2005 Standard Edition (en Inglés), con un tamaño máximo de 16 GB y nombre de instancia por defecto.
La tercera se llama SQLMirror y es el servidor que tomará la carga cuando falle el servidor SQL Principal. Tiene una configuración de disco duro, memoria y software exactamente igual a SQL Principal.
La cuarta y última se llama SQLWitness y es la VPC encargada de ser testigo para poder habilitar el failover automático cuando falle SQL Principal, además de existir para poder establecer el escenario de mirroring en high availability mode (sin servidor testigo esto no es posible). Tiene 128 MB de RAM asignados y un HD virtual también de 16 GB de crecimiento máximo, con SQL Server 2005 Standard Edition en inglés.
Me he visto obligado a asignar esa limitada cantidad de RAM debido a que por tener como base 2.0 GB, Virtual Server 2005 R2 me limita el máximo de RAM en uso a 1547 MB, y con esta configuración llego a 1512 MB mientras las 4 VPCs estén encendidas simultáneamente.
Instalación
Para reducir el tiempo de instalación, instalé el HD primario de MOSS con W2K3 R2 pero con 1.5 GB de RAM asignadas, .NET Framework 2, .NET Framework 3 y updates adicionales. Lo copié para SQL Principal y le apliqué NewSID, de modo que me ahorré una instalación (NewSID es un programa creado por Mark Russinovich que cambia el SID y nombre de cada máquina. Esto no es necesario en un entorno de dominio como el que yo instalé, pero ciertamente es una buena práctica para despliegues Windows clonados).


A SQL Principal le instalé SQL 2005 y configuré la superficie para que soporte TCP/IP y Named Pipes

Luego copié su HD para SQL Mirror y SQL Witness, y apliqué NewSID nuevamente a estas últimas dos VPCs (De este modo pueden estar todas en red y el tiempo de instalación es mínimo). Todas usan discos SCSI.

Luego instalé AD en el segundo HD de MOSS: para usar este disco en la VPC debemos hacer clic derecho en Mi PC --> Administrar. Vamos a “Administración de Discos” y podremos ver la partición para AD (Disco 1) como inactiva. Le damos clic derecho y seleccionamos “Partición nueva” y escogemos “Partición Primaria”. Luego le asignamos una letra para la unidad (por ejemplo E:), un nombre (“AD”) y elegimos NTFS como sistema de archivos, marcamos “Formato rápido” y CREAR.

A continuación ejecutamos el comando “dcpromo” para iniciar la instalación de AD, configurando el dominio midominio.com y asignando el registro de AD y Sysvol en el disco destinado para AD (E:)

Una vez hecho esto regresé la cantidad de RAM de MOSS a 1.0 GB y encendí las 4 máquinas virtuales. Asocié cada una al dominio midominio.com y una IP individual a cada una, siendo la configuración final la siguiente:

Luego vino la instalación de MOSS. Esto lo hice con el esquema propuesto de 7 cuentas de instalación --no menciono instalar IIS, habilitar ASP.NET 2.0 y tareas afines ya que una instalación de MOSS comprende estos pasos, pero como tip, quizás sea necesario que para poder habilitar ASP.NET 2.0 debas hacer esto antes:

Por supuesto, me conecto a SQLPRINCIPAL como back-end para todas las bases de datos creadas.

Continúo la instalación y configuración de servicios y finalmente tengo una granja SharePoint instalada y configurada. Por ser un deployment en granja, es necesario recordar que para apagar las VPCs primero se debe apagar MOSS y luego SQLPRINCIPAL, y para encenderlas el orden es el inverso (primero SQLPRINCIPAL y luego MOSS).
Ahora me interesa poblar la instalación con contenido, por lo cual descargué el WSS Population Tool, que es una herramienta que me permitirá poblar las bases de datos de contenido de MOSS con data para simular carga. Para realizar la carga necesito archivos XML de entrada, entonces descargué también los ejemplos (samples) de la herramienta (http://www.codeplex.com/sptdatapop/Project/FileDownload.aspx?DownloadId=5688). Ambos archivos descargados fueron extraídos hacia C:\WSSDPT
A hora ejecutamos la herramienta de población de contenido, pero antes debemos editar el archivo WSS Data Population Sample File.xml y cambiarle ciertas variables adptándolas a nuestro entorno, tal como lo muestra la siguiente figura (que es mi caso):

Ahora ejecuto: C:\WSSDPT\WSSDW.EXE “WSS Data Population Sample File.xml”, y con algunos errores sin importancia para los fines de esta implementación, inicia la creación de varias colecciones de sitios (10 en mi caso).

Una vez que esto termina podemos verificar que los sitios han sido creados. Lo podemos hacer de dos maneras. La primera es ir a la Administración Central de MOSS, hacemos clic en Administración de Aplicaciones --> Bases de Datos de Contenido, seleccionamos la aplicación correcta (http://moss:80) y podemos ver que nuestra base de datos de contenido ya cuenta con sitios.

El otro método es utilizando stsadm.exe. Por ejemplo, yo hice stsadm.exe –o enumsites –url http://moss/sites y obtuve lo siguiente:

En ambos casos se ve que tengo 12 colecciones de sitios debajo de http://moss/sitios/. Por ejemplo, este es el contenido de http://moss/sitios/sitioDeMuestra1:

Así como este sitio, tengo 10 mas. Ahora voy hacia SQLPRINCIPAL y entro al Management Studio para ver qué bases de datos tengo actualmente con relación a MOSS:

Tengo 8 bases de datos, las cuales deberán ser configuradas para tener un mirror en SQLMIRROR. La implementación está completa para esta simulación y ya podemos pasar a lo siguiente: Configuración de Mirroring en SQL 2005. Esto lo veremos en la parte 2 de esta serie, SQL Server Mirroring con MOSS – Parte 2: Configuración de Back-end SQL Server 2005.
-.M.-