XenDesktop (Englisch) – SQL-Spiegelung mit Zeugen
Ich bin Oscar Mas und möchte euch zeigen, wie man ein Spiegelungssystem mit Witness basierend auf Microsoft SQL Server implementiert, el cual es un ejemplo perfecto y recomendado para tener en alta disponibilidad nuestra base de datos de XenDesktop. De esta manera conseguiremos tener un mirror con failover de 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:

Todo el post lo he realizado con SQL 2012 Server y SQL 2012 Ausdrücken. 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 Ausdrücken. 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:

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-Authentifizierung und Windows-Authentifizierung). Die Installation von SQL Express, wurde unter Verwendung der Standardoptionen durchgeführt, die uns der Installationsassistent bietet, aber bei der Installation von SQL Server, haben wir die Replikationsoption auf beiden SQL-Servern aktiviert (sql1.ilba.cat und sql2.ilba.cat), wie in der folgenden Abbildung gezeigt:

Es wird dringend empfohlen, das Verwaltungstool zu installieren (Management Studio) auf allen Servern, so dass wir im Falle eines Problems mit einem der Server, verwenden können, um die Situation zu verwalten und zu überwachen.
Wir werden unsere Datenbank auf sql1.ilba.cat erstellen, die wir CTX_STORE nennen werden. Die wir später installieren, wenn wir XenDesktop einrichten, le indicaremos esta base de datos la que queremos usar para desplegar nuestro o nuestros brokers.
Recordar que si creamos la base de datos de manera 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. Un script lo lanzaremos desde el servidor de SQL primario y el otro desde el servidor que hace las funcionalidades de mirror. Para más información de cómo desplegar nuestro Delivery Controller con un sistema de basado en mirror de SQL, ver: http://support.citrix.com/article/CTX127359

El procedimiento que realizaremos para poder configurar nuestro sistema de Mirror con Witness, será el siguiente:
- Creación del grupo de servidores
- Chequeo del puerto de SQL
- Datenbank exportieren
- Datenbank importieren
- Mirror einrichten
Erstellen einer Servergruppe
Bevor wir mit der Konfiguration des Mirrors fortfahren, werden wir eine Gruppe in unserem ADUC erstellen (Active Directory-Benutzer und -Computer). Da später, zum Zeitpunkt der Erstellung des Mirrors, wird uns eine Gruppe verlangt. Dies könnt ihr am Ende des Abschnitts 'Mirror einrichten' sehen. In meinem Fall habe ich eine Gruppe erstellt, die ich SQLServers genannt habe:

Und dieser Gruppe werden wir die drei Server hinzufügen, die unseren Mirror bilden werden, wie in der folgenden Abbildung gezeigt:

Chequeo del puerto de SQL
Die Standardversion von SQL Server erlaubt den Zugriff auf den SQL-Port, bei SQL Express müssen wir jedoch aktivieren, dass er auf dem Standardport lauscht. 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:Fenster>netstat -ano | Finden "1433"

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:

Um die Datenbank zu exportieren, wählen wir unsere Datenbank aus (in unserem Fall CTX_STORE) und in der Option 'Task', geben wir 'Back Up….' an

Wir geben an, dass wir ein vollständiges Backup durchführen möchten und den Speicherort, an dem wir das Backup der Datenbank erstellen

Um die Protokolle der Datenbank zu exportieren, wählen wir unsere Datenbank aus (in unserem Fall CTX_STORE) und in der Option 'Task', geben wir 'Back Up….' an

Wir geben an, dass wir ein Backup des Transaktionsprotokolls erstellen möchten und den Speicherort, an dem wir das Backup der Datenbankprotokolle erstellen

Datenbankimport
Dieses Importverfahren führen wir vom zweiten Server aus (sql2.ilba.cat). Wir werden die Daten kopieren, die wir im vorherigen Schritt exportiert haben, sowohl die Datenbank des Servers, als auch die Protokolle vom Server sql1.ilba.cat auf unseren Spiegelserver: sql2.ilba.cat. Es ist ratsam, dass die Quell- und Zielpfade gleich sind.
Von dem Server, der als Spiegel fungieren wird, werden wir die Datenbank wiederherstellen. Um die Datenbank zu importieren, gehen wir auf die Option ‘Task’ und wählen ‘Datenbank wiederherstellen….’

Wir wählen die Option ‘Device’ und markieren sowohl die Datenbank als auch die Protokolle, die wir zuvor exportiert haben, damit sie importiert werden:

Wir geben unter ‘Recovery State’ an, dass es sich um ein ‘RESTORE WITH NORECOVERY’ handelt, auf folgende Weise:

Y podremos observar como empieza la restauración de la base de datos:

Configurado el Mirror
In diesem Abschnitt, lo que haremos en la configuración del Mirror. Seleccionaremos nuestra base de datos desde el servidor (sql1.ilba.cat ). Para crear el mirror de la base de datos iremos a la opción “Task” y le indicaremos “Mirror….”

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

Le indicaremos al Wizard que queremos Witness, Gedrückt “Ja”:


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

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

Und schließlich, nos solicitara el servidor que realizara las funcionalidades de “Witness Server”, en nuestro caso witness.ilba.cat

In diesem Schritt, le indicaremos el grupo de servidores que hemos creado al principio del post, el cual lo hemos llamado SQLServers:

Verificaremos que la configuración de nuestro sistema de mirror sea correcto, una vez acabada la configuración:

Le indicaremos que inicie el mirror, wie auf dem folgenden Bildschirm angezeigt:

Sobald wir angegeben haben, dass der Mirror gestartet werden soll, können wir die Konfiguration unseres Systems sehen, wobei der primäre Server unser Server sql1.ilba.cat ist, der Server, der als Mirror fungiert, ist sql2.ilba.cat, und der Server, der als Witness fungiert, ist witness.ilba.cat:

Seguidamente, Wir werden in unserem SQL-Explorer sehen, welche Datenbank die primäre ist und welche die Mirror-Funktionalität übernimmt:

Ich hoffe, das ist hilfreich für euch. Viele Grüße








































