XenDesktop – Mirroring SQL con server di controllo del mirroring

Sono Oscar Mas e voglio mostrarti come implementare un sistema Mirror con Witness basato su Microsoft SQL Server, che è un esempio perfetto e consigliato per avere il nostro database XenDesktop in alta disponibilità. In questo modo potremo avere un mirror con failover di Microsoft SQL.

Para tener un automatic failover, el mirror se ha de configurar en “high-safety mode”, cosa que se hace de manera automática al seleccionar el witness en el wizard de configuración que veremos más adelante. Le hemos de proveer de un tercer servidor, en nuestro caso llamado witness.ilba.cat, el cual nos hará las funcionalidades de testigo. En la siguiente imagen podremos observar el modo high-safety con Witness:

 

xendesktop-sql-mirroring-witness-01-Bujarra

Todo el post lo he realizado con SQL 2012 Server y SQL 2012 Esprimere. Las bases de datos de los servidores sql1.ilba.cat y sql2.ilba.cat tienen SQL 2012 Server y el Witness está basado en SQL 2012 Esprimere. He escogido la versión 2012, pero el procedimiento es casi idéntico en todas las versiones de Microsoft SQL. Os dejo el Matrix de versiones de SQL que soportan los productos de Citrix: http://support.citrix.com/article/CTX114501

 

El esquema lógico quedar de la siguiente manera:

xendesktop-sql-mirroring-witness-02-Bujarra

Una vez acabados de instalar los SQL en los tres servidores, es altamente aconsejable que se actualicen los servidores mediante la herramienta de Windows Update, WSUS etc….

Durante el proceso de instalación tanto de los sistemas basados en SQL Server como en el SQL Express, se han configurado para soportar los sistemas en Mixed Mode (SQL Server authentication and Windows authentication). La instalación del SQL Express, se ha realizado dejando las opciones por defecto que nos brinda el wizard de instalación, pero en la instalación del SQL Server, hemos habilitado la opción de replicación en los dos servidores de SQL (sql1.ilba.cat y sql2.ilba.cat), tal y como se muestra en la siguiente figura:

xendesktop-sql-mirroring-witness-03-Bujarra

Es altamente aconsejable, instalar la herramienta de administración (Management Studio) en todos los servidores, de esta forma si hubiera alguna incidencia con cualquiera de los servidores, podríamos administrar y ver lo que sucede.

Crearemos nuestra base de datos en el sql1.ilba.cat, la cual llamaremos CTX_STORE. La cual posteriormente cuando instalemos XenDesktop, le indicaremos esta base de datos la que queremos usar para desplegar nuestro o nostri brokers.

Recordar que si creamos la base de datos de modo manual, después al desplegar nuestro XenDesktop tendremos que actualizar la BBDD de forma manual con dos scripts que nos proporcionara el Wizard de la instalación de nuestro Delivery Controller. Uno script lo lanceremo dal server SQL primario e l'altro dal server che svolge le funzionalità di mirror. Per maggiori informazioni su come distribuire il nostro Delivery Controller con un sistema basato su mirror di SQL, vedere: http://support.citrix.com/article/CTX127359

 

xendesktop-sql-mirroring-witness-04-Bujarra

La procedura che eseguiremo per poter configurare il nostro sistema di Mirror con Witness, sarà la seguente:

  • Creazione del gruppo di server
  • Verifica della porta di SQL
  • Esportazione del database
  • Importazione del database
  • Configurazione del mirror

 

Creazione del gruppo di server

Prima di procedere alla configurazione del Mirror, creeremo un gruppo nel nostro ADUC (Active Directory Users and Computers). Poiché più avanti, nel momento in cui creeremo il mirror, ci verrà richiesto un gruppo. Esto lo podréis ver en al final del apartado de configurando el mirror. En mi caso he creado un grupo que lo he llamado SQLServers:

xendesktop-sql-mirroring-witness-05-Bujarra

 

Y en este grupo le añadiremos los tres servidores que formaran nuestro Mirror, tal como se indica en la siguiente captura:

xendesktop-sql-mirroring-witness-06-Bujarra

 

Verifica della porta di SQL

La versión de SQL Server por defecto nos permite acceder al puerto del SQL, pero en el SQL Express tendremos que habilitar que escuche por el puerto predeterminado. El puerto por defecto del SQL es el 1433 TCP. Para verificar que realmente nuestro servidor de SQL acepta peticiones, lanzaremos el siguiente comando desde una consola:

C:Finestre>netstat -ano | Trovare "1433"

xendesktop-sql-mirroring-witness-07-Bujarra

 

Exportación de la Base de Datos

Este procedimiento lo haremos desde el primer servidor (sql1.ilba.cat). Lo que haremos durante la exportación de la base de datos, es exportar tanto la base de datos que hemos creado anteriormente (CTX_STORE) y los logs de la base de datos. Esto es necesario para posteriormente poder configurar el mirror de SQL Server

Le habilitaremos a nuestra base de datos el “Full Recovery Mode”, ya que por defecto las bases de datos que creamos en SQL, son de “Simple Recovery Mode”. Lo haremos desde las propiedades de la base de datos de la siguiente manera:

xendesktop-sql-mirroring-witness-08-Bujarra

 

Para exportar la base de datos, seleccionaremos nuestra base de datos (en nuestro caso CTX_STORE) y en la opción “Task”, le indicaremos “Back Up….”

xendesktop-sql-mirroring-witness-09-Bujarra

 

Le indicaremos que el backup que queremos realizar es Full y la ubicación donde crearemos el backup de la base de datos

xendesktop-sql-mirroring-witness-10-bujarra

 

Per esportare i log del database, seleccionaremos nuestra base de datos (en nuestro caso CTX_STORE) y en la opción “Task”, le indicaremos “Back Up….”

xendesktop-sql-mirroring-witness-11-bujarra

 

Indicheremo che il backup che vogliamo effettuare è un backup del Transactional Log e la posizione in cui creeremo il backup dei log del database

xendesktop-sql-mirroring-witness-12-bujarra

 

Importazione del Database

Questa procedura di importazione la eseguiremo dal secondo server (sql2.ilba.cat). Copieremo i dati che abbiamo esportato nel punto precedente, sia il database del server, che i log dal server sql1.ilba.cat al nostro server mirror: sql2.ilba.cat. È consigliabile che i percorsi di origine e destinazione siano uguali.

Dal server che farà da mirror ripristineremo il database. Per importare il database andremo all'opzione ‘Task’ e selezioneremo ‘Ripristina Database….’

xendesktop-sql-mirroring-witness-13-bujarra

 

Selezioneremo l'opzione ‘Dispositivo’ e selezioneremo sia il database sia i log che abbiamo esportato precedentemente, per importarli:

xendesktop-sql-mirroring-witness-14-bujarra

 

Indicheremo in ‘Stato di Ripristino’ che è un ‘RESTORE WITH NORECOVERY’, de la siguiente manera:

xendesktop-sql-mirroring-witness-15-bujarra

 

E potremo osservare come inizia il ripristino del database:

xendesktop-sql-mirroring-witness-16-bujarra

 

Mirror configurato

In questa sezione, quello che faremo nella configurazione del Mirror. Selezioneremo il nostro database dal server (sql1.ilba.cat ). Para crear el mirror de la base de datos iremos a la opción “Task” y le indicaremos “Mirror….”

xendesktop-sql-mirroring-witness-17-bujarra

 

Nos aparecerá una ventana, en la cual nos iremos a la opción “Configura Security….”, la cual nos lanzara un wizard para poder configurar nuestro sistema de Mirror

xendesktop-sql-mirroring-witness-18-bujarra

 

Le indicaremos al Wizard que queremos Witness, Pressato “Sì”:

xendesktop-sql-mirroring-witness-19-bujarra

 

xendesktop-sql-mirroring-witness-20-bujarra

 

Seguidamente, nos solicitara el servidor que realizara las funcionalidades de “Principal Server”, en nuestro caso sql1.ilba.cat

xendesktop-sql-mirroring-witness-21-bujarra

 

Successivamente, nos solicitara el servidor que realizara las funcionalidades de “Mirror Server”, en nuestro caso sql2.ilba.cat

xendesktop-sql-mirroring-witness-22-bujarra

 

E infine, ci verrà chiesto dal server quale server eseguirà le funzionalità di 'Witness Server', nel nostro caso witness.ilba.cat

xendesktop-sql-mirroring-witness-23-bujarra

 

In questa fase, indicheremo il gruppo di server che abbiamo creato all'inizio del post, che abbiamo chiamato SQLServers:

xendesktop-sql-mirroring-witness-24-bujarra

 

Verificheremo che la configurazione del nostro sistema di mirror sia corretta, una volta completata la configurazione:

xendesktop-sql-mirroring-witness-25-bujarra

 

Indicheremo di avviare il mirror, come mostrato nella schermata seguente:

xendesktop-sql-mirroring-witness-26-bujarra

 

Una volta indicato di avviare il mirror potremo vedere la configurazione del nostro sistema, nel quale il principale è il nostro server sql1.ilba.cat, Il server che farà da mirror è sql2.ilba.cat e il server che farà da witness è witness.ilba.cat:

xendesktop-sql-mirroring-witness-27-bujarra

 

Seguidamente, Vedremo nel nostro esploratore di SQL quale database è il principale e quale database svolge la funzionalità di mirror:

xendesktop-sql-mirroring-witness-28-bujarra

Spero che vi sia utile. Un saluto

 

 

Post consigliati

Autore

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Non esitate a contattarmi, Cercherò di aiutarti ogni volta che potrò, Condividere è vivere ;) . Goditi i documenti!!!