Office Servers and Services

"La connaissance ne vaut que si elle est partagée" / "An effective Knowledge is a shared one"

Comment déplacer votre serveur de gestion de la configuration (CMS) Lync Server 2010 vers Lync Server 2013

Posted by Teruin laurent sur août 8, 2013


Une des opérations délicates dans le cadre de la migration de Lync 2010 vers Lync 2013 est la migration du CMS. Dans cet article nous allons voir comment étapes par étapes la migration s’opère et quelles sont les précautions que vous devrez prendre. Mais avant ca un petit rappel s’impose.

  • La Cms Qu’est-ce que c’est ?

Le CMS ou plus communément appeler Central Management Store est une base de données qui comprend au format XML les données de configuration, de topologies et de stratégies de l’environnement Lync 2010/2013.

L’accès limité à cette base de données est possible à travers une DLL nommée Microsoft.Rtc.Management.core.dll. Cette base de données est donc modifiée lors de la modification de la topologie notamment par le programme topologie Builder.

Dans le cas d’un environnement Lync 2010 Standard Edition, cette base de données est dans la plupart des cas installée sur un serveur SQL Express dont le nom de l’instance est nommé RTC. La base de données de configuration est nommée quant à elle XDS, et est constituée des fichiers xds.mdf et xds.ldf
La base de données centralisée se réplique sur tous les serveurs Lync 2010/2013 via un système de partage de fichier. Sur les serveurs LYNC 2010 qui ne possèdent pas la base CMS mais une réplique de cette dernière, l’instance de la copie de la base de données est nommée RTCLOCAL. Le nom de la base de données réelle sur le serveur de gestion centralisée et du réplica local est XDS,

 

Localiser le serveur qui héberge la CMS

Pour localiser le serveur qui héberge la CMS, il suffit de regarder dans le schéma Active Directory pour récupérer le nom complet du serveur Lync 2010/2013 qui héberge la base de données CMS. Pour cela regarder la conteneur CN=Topology Settings, CN=RTC Service,DC=<domain> et l’attribut msRTCSIP-GlobalTopologySetting qui contient le nom du serveur en question. Vous pouvez également connaitre le nom du serveur en question en utilisant la commande powershell comme le montre la commande suivante :

 

 

Cette Cmdlet Retourne des informations sur la connexion de gestion au magasin central de gestion
La même commande sur un environnement Lync 2013 donne un peu plus d’information comme le montre la figure suivante

 

 

  • Comment se réplique le CMS (Extrait Technet)

Chaque réplica utilise un partage réseau pour se synchroniser avec le CMS maître. Le chemin d’accès réseau pour le partage sur le réplica est \\FDQN_serveur_réplica\xds-master. Le dossier xds maître sur le serveur réplica contient les sous-dossiers from-master et t0-master.
Le processus de réplication des données est le suivant :

  • Les informations du CMS sont écrites dans un dossier local partagé sur le CMS maître.
  • Toutes les 60 secondes, le CMS maître détermine si des modifications ont été apportées aux données.
  • Le cas échéant, le document XML contenant les modifications est placé dans un fichier Données.zip. Le fichier Données.zip contient tous les documents XML qui ont été modifiés depuis la dernière réplication.

     Le fichier Données.zip est généralement inférieur à 100 Ko. Cela contribue à réduire le temps requis pour la réplication.

Le service de l’agent de transfert de fichiers copie le fichier Données.zip sur les serveurs réplicas, sauf les serveurs Edge, via le protocole SMB (Server Message Block).

Dans le réplica, le service de l’agent réplicateur de réplicas extrait les données du fichier Données.zip et applique les changements au MCG sur le réplica.

L’état des mises à jour du serveur réplica est indiqué dans le MCG maître dans un fichier nommé État.zip.


Les serveurs Edge utilisent le service Web de réplication avec une connexion HTTPS pour copier le fichier Données.zip. Le service Web de réplication (https://FQDN_Edge_Server:4443/ReplicationWebService) utilise le certificat de serveur délivré au périmètre interne du serveur Edge.

 

 

  1. Avant la migration du CMS

 

  • Sauvegarder la base de données du CMS (Impératif)

     

Pour sauvegarder la base de données du CMS rien de tel qu’un petit DUMP avec la commande Export-CsConfiguration

Export-CsConfiguration -FileName « C:\Config.zip »
Personnellement je vous invite également à procéder à une sauvegarde des données de la base SQL. Pour cela j’utilise le script suivant écrit par Traci Herr (voir article suivant : http://blogs.technet.com/b/uc_mess/archive/2011/03/17/lync_2d00_server_2d00_2010_2d00_backup_2d00_instructions.aspx

 

 

DECLARE @name VARCHAR(50) — database name
DECLARE @path VARCHAR(256) — path for backup files
DECLARE @fileName VARCHAR(256) — filename for backup
DECLARE @fileDate VARCHAR(20) — used for file name
SET @path = ‘C:\Backup\’
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN (‘master’,’model’,’msdb’,’tempdb’)
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
           SET @fileName = @path + @name + ‘_’ + @fileDate + ‘.BAK’
           BACKUP DATABASE @name TO DISK = @fileName

           FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor

 

De ce fait vous sauvegarderez toutes les informations de la base de données dont les données de CMS (xds). On n’est jamais trop prudent ;-)

: OSQL.EXE est placé dans le répertoire par défaut à savoir :

C:\program Files\Microsoft SQL Server\100\Tools\Binn pour Lync 2010 sous Windows 2008 R2

C:\Program Files\Microsoft Sql Server\110\Tools\Binn\ressources\1033 pour Lync 2013 pour Windows 2008 R2

 

  1. Vérifier la réplication du CMS

Pour vérifier la réplication du CMS avec les serveurs Lync 2010 2013 de votre organisation vous pouvez recourir à la commande Get-CsManagementStorereplicationStatus
Cette commande Retourne des informations relatives au processus de réplication Lync Server, notamment des informations indiquant si la réplication est actuellement à jour pour vos ordinateurs Lync Server.

Pour connaitre les serveurs qui ne répliqueraient pas correctement utilisez la commande suivante :

 

Get-CsManagementStoreReplicationStatus | Where-Object {$_.UpToDate -eq $False}

 

Pour forcer la réplication des données utilisez la commande suivante : Invoke-CsManagementStoreReplication

Invoke-CsManagementStoreReplication force les services de réplication Lync Server à envoyer des données de configuration complètes aux ordinateurs spécifiés. Cela est obtenu en supprimant le statut de réplication des ordinateurs du magasin central de gestion.

 

  1. Préparer les serveurs Lync 2013 pour accueillir les données du CMS

Les serveurs Lync 2013 entreprise ou Lync 2013 Standard doivent être préparé pour accueillir les données CMS de l’environnement 2010. Selon la version de Lync 2013 que vous utilisez (Standard ou Entreprise) les étapes de préparation ne sont pas les mêmes

  1. Pour préparer un pool de serveurs frontaux Enterprise Edition (extrait Technet)
  • Sur le pool de serveurs frontaux Lync Server 2013 Enterprise Edition sur lequel vous voulez déplacer le serveur de gestion centralisée : connectez-vous en tant que membre du groupe RTCUniversalServerAdmins à l’ordinateur sur lequel Lync Server Management Shell est installé. Vous devez aussi disposer des droits et autorisations d’administrateur système sur la base de données SQL Server sur laquelle vous voulez installer le magasin central de gestion.
  • Ouvrez Lync Server Management Shell.
  • Pour créer le nouveau magasin central de gestion dans la base de données SQL Server Lync Server 2013, dans Lync Server Management Shell, tapez :

 

    Install-CsDatabase -CentralManagementDatabase -SQLServerFQDN <FQDN of your SQL Server> -SQLInstanceName <name of instance>

 

  1. Pour préparer un serveur frontal Standard Edition
  • Sur le serveur frontal Lync Server 2013 Standard Edition sur lequel vous voulez déplacer le serveur de gestion centralisée : connectez-vous en tant que membre du groupe RTCUniversalServerAdmins à l’ordinateur sur lequel Lync Server Management Shell est installé.
  • Ouvrez l’Assistant Déploiement de Lync Server.
  • Dans l’Assistant Déploiement de Lync Server, cliquez sur Préparer d’abord le serveur Standard Edition.
  • Dans la page Exécution de commandes, SQL Server Express est installé en tant que serveur de gestion centralisée. Les règles de pare-feu nécessaires sont créées. Lorsque l’installation de la base de données et des logiciels prérequis est terminée, cliquez sur Terminer.



On notera au passage que le port d’accès pour le CMS est 1434 par défaut.

    Une fois réalisée, exécutez la commande suivante sur votre serveur Lync 2013 Standard Edition :

    Install-CsDatabase -CentralManagementDatabase -SQLServerFQDN <FQDN of your Standard Edition Server> -SQLInstanceName <name of instance – RTC by default>

 

*

 

Puis vérifiez que le service Frontal est démarré

  1. Déplacer le serveur de gestion centralisée Lync Server 2010 vers Lync Server 2013 (Extrait Technet)
    1. Sur le serveur Lync Server 2013 qui sera le serveur de gestion centralisée : connectez-vous en tant que membre du groupe RTCUniversalServerAdmins sur l’ordinateur sur lequel Lync Server Management Shell est installé. Vous devez aussi disposer des droits et autorisation d’administrateur système sur la base de données SQL.
    2. Ouvrez Lync Server Management Shell.
    3. Dans Lync Server Management Shell, tapez :

      Enable-CsTopology

 


Si Enable-CsTopology ne donne pas de résultat satisfaisant, corrigez le problème en empêchant la commande d’aboutir avant de poursuivre. Si Enable-CsTopology ne donne pas de résultat satisfaisant, le déplacement échouera et votre topologie ne contiendra pas de magasin central de gestion.

Dans notre configuration nous avons pu observer les warning suivants :

Figure 1 Erreur d’accès vers le CMS depuis Lync 2013

Figure 2 : Journal Enable-cstopology Erreur d’accès

Il semblerait que le serveur Lync 2013 ne puisse pas accéder au service SQL CMS 01-LYNC10-1.unifiedit.loc\rtc

Après vérification les services SQL sur le Serveur Lync 2010 semblent être opérationnels

Figure 3 Services SQL Sur le Serveur Lync 2010

Le serveur Lync 2010 semble écouter sur le port 1434 en UDP comme le montre le résultat de la commande Netstat –an effectuer sur le serveur Lync 2010

Figure 4 : Ecoute des ports du Serveur Lync 2010

De plus le serveur Lync 2013 qui va devenir le serveur portant le CMS peut « pinger » le serveur Lync 2010 comme le montre l’exemple suivant

Figure 5 : Accés ICMP et Netbios vers le serveurs Lync 2010 CMS depuis Lync 2013 Futur CMS

Après quelques minutes nous avons réessayé avec succès sans changement comme le montre la figure suivante. Nous mettrons cela sur un accès réseau un peu lent (Maquette)

 

 

 

  1. Sur le serveur frontal ou pool de serveurs frontaux Lync Server 2013, dans Lync Server Management Shell, tapez :
    Move-CsManagementServer

 

  1. Lync Server Management Shell affiche les serveurs, les magasins de fichiers, les magasins de bases de données et les points de connexion du service de l’État actuel et de l’État proposé. Lisez soigneusement les informations et confirmez qu’il s’agit de la source et de la destination prévue. Tapez Y pour continuer, ou N pour cesser le déplacement.

     

  2. Examinez l’ensemble des erreurs et des avertissements générés par la commande Move-CsManagementServer et corrigez-les.

    A priori une opération réussie mais avec un avertissement comme le montre la figure suivante :

    Après vérification seul la recommandation figure dans les avertissements ;-)

    Pour vérification le serveur Lync 2013 est bien passé en CMS. Get-CsmanagementConnection

        

     

    Sur le serveur Lync Server 2013, ouvrez l’Assistant Déploiement de Lync Server. Dans l’Assistant Déploiement de Lync Server, cliquez successivement sur Installer ou mettre à jour le système Lync Server, Étape 2 : Installer ou supprimer des composants Lync Server, Suivant, examinez la synthèse, puis cliquez sur Terminer.

     


    Opérations sur le serveur Lync 2013 (Nouveau CMS)

     

     

    Sur le serveur Lync Server 2010, ouvrez l’Assistant Déploiement de Lync Server. Dans l’Assistant Déploiement de Lync Server, cliquez successivement sur Installer ou mettre à jour le système Lync Server, Étape 2 : Installer ou supprimer des composants Lync Server, Suivant, examinez la synthèse, puis cliquez sur Terminer.

     


    Opérations sur le serveur Lync 2010 (ancien CMS)

     

    Pour confirmer que la réplication est en cours avec le nouveau magasin central de gestion, dans Lync Server Management Shell, tapez

     

    Get-CsManagementStoreReplicationStatus


    Et vérifier que les statuts UPtoDate sont positionnés à la valeur True.

     

     

    Pour supprimer les fichiers du magasin central de gestion Lync Server 2010 après un déplacement

    Sur le serveur Lync Server 2010 : connectez-vous en tant que membre du groupe RTCUniversalServerAdmins sur l’ordinateur sur lequel Lync Server Management Shell est installé. Vous devez aussi disposer des droits et autorisation d’administrateur système sur la base de données SQL.

    .

  • Ouvrez Lync Server Management Shell.

 


Ne procédez pas à la suppression des fichiers de base de données précédents avant que la réplication ne soit terminée et stable. Si vous supprimez les fichiers avant la fin de leur réplication, vous perturberez le processus de réplication et laisserez le serveur de gestion centralisée récemment déplacé dans un état inconnu. Utilisez l’applet de commande Get-CsManagementStoreReplicationStatus pour confirmer le statut de réplication.

 

Pour supprimer les fichiers de base de données du magasin central de gestion du serveur de gestion centralisée Lync Server 2010, tapez :

Uninstall-CsDatabase -CentralManagementDatabase -SqlServerFqdn <FQDN of SQL Server> -SqlInstanceName <Name of source server>

 


Opérations sur le serveur Lync 2010 (ancien CMS)

Comme le montre la figure suivante

 

Pour l’avoir fait plusieurs fois de suite. Cette opération un peu longue s’effectue sans problèmes particulier. À faire cependant de préférence en heures non ouvrées afin de minimiser les risques.

 

 

 

 

 

 

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :