Tuesday, June 6, 2017

Exchange 2016 (22) : récupération d'un serveur membre d'un DAG (2)

English summary: after the failure of an Exchange 2016 mailbox server that was also a DAG member, we stabilized our environment by removing the failed server (and its database copies) from the DAG (subject of the previous blog post). In this blog post, we reinstall the server using the /recoverserver parameter which rebuilds much of the configuration from values stored in Active Directory. Preliminary tasks are presented, such as the resetting of the failed server's computer account in Active Directory and the installation of Exchange prerequisites on the rebuilt server. Lastly, we reconfigure the client access urls and import the SSL certificate associated with various Exchange services, notably IIS and SMTP. The installation program, even with the /recoverserver switch, does not re-establish these components automatically. On the other hand, send and receive connectors do not require manual configration (at least not in my environment). The addition of the rebuilt server to the DAG, as well as some other considerations, will be addressed in the following blog post.


***


Dans le texte précédent, nous avons consolidé l'état de notre DAG après la panne d'un de ses serveurs membres. Encore faut-il remettre le serveur défaillant sur pied afin de ne pas risquer une perte totale du système de messagerie en cas de panne du second serveur de la paire.

Le terme utilisé dans la documentation - "récupération" - n'est pas tout à fait juste dans la mesure où nous allons réaliser une toute nouvelle installation du système d'exploitation. A ce titre-là, il ne s'agit donc pas de "récupérer" ou de "restaurer" le serveur en panne à partir d'une sauvegarde. En revanche, quand nous installons Exchange, nous allons utiliser le paramètre /recoverserver qui va chercher dans Active Directory toutes les propriétés concernant l'ancien serveur et les rétablir sur le nouveau. C'est donc un serveur neuf par l'installation de l'OS mais configuré avec les propriétés de l'ancien serveur retenues dans le répertoire.

Dans les paragraphes qui suivent, je vais présenter les nombreuses étapes de la remise en service du serveur. Nous avons vu dans le texte précédent qu'il faut réinitialiser le compte ordinateur du serveur car nous devons utiliser ce compte pour recréer (selon les termes expliqués plus haut) l'ancien serveur Exchange. Il faut donc utiliser le même compte mais aussi le même nom d'hôte. Nous pouvons alors installer le système d'exploitation, certains pré-requis, Exchange lui-même (avec le paramètre /recoverserver) et puis en configurer certains éléments. Voici les principales étapes... 



Préparation de la machine virtuelle (ou physique)

Il faut préparer une machine virtuelle (ou physique) qui respecte les exigences matérielles pour Exchange 2016, en particulier le nombre de processeurs, la quantité de mémoire vive et une disposition des disques identiques à celle du serveur qu'on va remplacer. Chaque logiciel de virtualisation varie (vCenter, Hper-V, ou VMware Workstation pour mon réseau d'essai). Pour de plus amples détails, je renvoie le lecteur à la documentation Microsoft :

Configuration requise pour Exchange 2016



Réinitialisation du compte ordinateur du serveur à récupérer

Cette opération se fait en Active Directory. C'est une simple opération en trois étapes :








Attention à ne pas supprimer le compte ordinateur ! Il faudrait alors le restaurer. Créer un nouveau compte ordinateur avec le même nom n'est pas une solution. En effet, le nouveau compte n'aurait pas le même SID que l'ancien compte ordinateur.


Installation de Windows 2012 R2 sur le serveur

Comme pour les autres installations (dans mes autres textes), je suppose que le lecteur sait installer un système d'exploitation et je ne présente pas l'opération, pas à pas, ici. Vous devez savoir, par exemple, qu'il faut Windows 2012 R2 Standard ou Datacenter avec l'interface graphique (et non pas "Server Core"). Nous veillons à donner le même nom d'hôte au serveur (EX16-3 dans mon cas) et les mêmes paramètres TCP/IP. Nous configurons aussi les méthodes de gestion comme "bureau à distance" ou winrm (etc.) selon les normes de notre organisation.


Ajouter le serveur au domaine

Aucune précision à faire.


Installation des rôles, fonctionnalités et logiciels pré-requis

Il faut effectuer trois opérations à cette étape :

Installer les éléments ci-dessous à la ligne de commande PowerShell.

Oui, vous pouvez copier et coller au lieu de tout saisir à la main.

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS

Cela ressemble à ceci :




Installer la version de .NET Framework qui convient à votre version d'Exchange 2016

Dans mon cas (Exchange 2016 CU5), il s'agit de la version 4.6.2.


Installer "Unified Communications Managed API"

Sauf changement, il devrait s'agir de la version 4. Comme toujours, il faut consulter la documentation Microsoft pour les renseignements les plus à jour.



Formatage des disques (lecteurs)

Il s'agit des disques que nous avons ajoutés pour les bases de données et les journaux de transactions. Si nous ouvrons le gestionnaire de disques tout de suite après l'installation de l'OS (SE), nous voyons ceci (dans mon cas évidemment) :



A priori, nous pourrions configurer les lecteurs E: et F: à l'aide du gestionnaire. Mais j'avais fait le choix du système de fichiers ReFS pour le serveur défaillant et il faut recourir à la ligne de commande pour configurer les lecteurs ReFS selon les meilleures pratiques Exchange. Je ferai donc ce que j'ai fait lors de la première installation de EX16-3, à savoir exécuter la commande suivante :



C'est l'exemple du disque 1. Je fais de même pour le disque 2 (en gardant à l'esprit qu'on compte à partir de zéro, s'agissant de disques).  Get-Disk a affiché ceci avant l'exécution de la commande ci-dessus : 


Note : oui, ce sont bien des commandes PowerShell au lieu des commandes diskpart.



Installation d'Exchange 2016 avec le paramètre /recoverserver

Dans mon scénario (Exchange installé sur une machine virtuelle), je monte un fichier .iso comme si c'était un CD/DVD et accède ainsi aux fichiers d'installation. A la ligne de commande (cmd.exe), j'exécute la commande suivante :

setup /m:recoverserver /iAcceptExchangeServerLicenseTerms


Note : je ne crois pas que ce soit sensible à la case mais dans le cas contraire, il suffirait de tout mettre en minuscules.


Sauf contretemps, l'installation devrait se dérouler comme suit :




Je constate que, contrairement à une toute nouvelle installation, aucune base de données par défaut n'a été créée sur EX16-3 :




Ainsi, grâce au paramètre /recoverserver, le programme d'installation semble "comprendre" qu'il ne faut pas (re)créer une base de données par défaut sur le serveur récupéré.

Par contre, le programme d'installation ne sait pas configurer ce qui suit :

  • Les Urls des répertoires virtuels
  • Le certificat SSL associé aux répertoires virtuels (un seul certificat d'habitude)

Je vais présenter l'essentiel de la configuration de ces composantes dans les paragraphes suivants, quitte à renvoyer le lecteur à mes textes précédents pour plus de détails.


Les Urls des répertoires virtuels

Nous pouvons les configurer à la ligne de commande PowerShell, avec des scripts ou simplement à l'interface graphique ("EAC" ou "CAE" en français). Je vais me contenter de cette dernière option.

Nous allons donc dans cette partie de l'EAC :

serveurs | répertoires virtuels 

J'affiche les répertoires virtuels pour les deux serveurs, je copie l'Url de chaque répertoire, avec EX16-4 comme source, et le colle dans les propriétés correspondantes d'EX16-3.

Nous copions sur EX16-4...



Et nous collons sur EX16-3 (répertoire après répertoire - il y en a sept au total)...




Note : pour la sélection de serveurs et de types de répertoires, choisissez "Tous les serveurs" et "Tous" respectivement. Une fois le répertoire sélectionné, il suffit de cliquer sur l'icône du crayon (voir la première des deux captures d'écran ci-dessus) pour en afficher les propriétés.

Vous avez sans doute remarqué que nous ne pouvons pas configurer autodiscover dans l'EAC. En fait, ce n'est pas nécessaire dans le cadre d'une récupération. Au fond, il s'agit d'un Uri (nuance - remarquez la lettre "i" au lieu de "l") dont les paramètres semblent résider dans Active Directory. En effet, j'allais vérifier ces paramètres avant de reconfigurer EX16-3 et je me suis rendu compte que tout était déjà comme il fallait :

  

Pour d'autres détails sur les Urls, reportez-vous à ce texte :

Exchange 2016 (1) : Urls et répertoires virtuels



Le certificat SSL

La gestion des certificats est plus facile sous Exchange 2016. Dans le cadre d'une récupération, nous pouvons exporter le certificat d'un autre serveur Exchange 2016 (s'il y en a) et l'importer sur le serveur récupéré. Mieux encore, nous pouvons tout faire à partir du Centre d'administration Exchange d'un seul serveur.

Nous nous rendons à cette partie de l'EAC...

serveur | certificats

Et nous sélectionnons le serveur qui n'a pas eu de panne et possède toujours le certificat en question (EX16-4 dans notre scénario) :

Note : je suppose que le même certificat est utilisé sur les deux serveurs.


Nous devons spécifier un chemin UNC qui a l'avantage de faciliter l'accès au certificat exporté à partir de l'autre serveur (le serveur récupéré) et puis protéger le fichier .pfx avec un mot de passe :



Ensuite, nous sélectionnons le serveur qu'on vient de récupérer (EX16-3)...


Et nous importons le certificat :







Nous saisissons le mot de passe et le certificat s'installe :



Il nous reste à désigner les services qui s'en serviront :





Oui, nous pouvons écraser le certificat par défaut :




Dès que nous aurons importé le certificat, nous devrons changer l'Url de l'EAC (CAE) afin qu'il corresponde aux noms présent sur le certificat. Autrement dit, nous devrons remplacer...

https://localhost/ecp/?ExchClientVer=15

par...

https://mail.machlinkit.biz/ecp/?ExchClientVer=15


Pour d'autres détails sur les certificats, reportez-vous à ce texte :

Exchange 2016 (3) : certificats - seconde partie



***


D'autres paramètres n'exigent aucune configuration supplémentaire. C'est le cas des connecteurs d'envoi et de réception.

Les premiers se configurent de façon automatique à partir des objets et des propriétés stockés dans Active Directory. Je n'ai même pas eu besoin de rajouter EX16-3 à la liste des serveurs "source": il était déjà présent quand je m'en suis assuré à l'emplacement suivant (EAC ou CAE) :

flux de messagerie | connecteurs d'envoi | [nom du connecteur] | propriétés | étendue



Note : nous accédons aux propriétés du connecteur ("cde_principal" dans mon exemple) en cliquant sur l'icône du stylo.


Quant aux connecteurs de réception, nous n'avons plus besoin de cocher l'option "Utilisateurs anonymes" afin de recevoir des messages des correspondants non-authentifiés à l'extérieur. Depuis Exchange 2013 (mais contrairement à Exchange 2010), cette case est cochée par défaut.

flux de messagerie | connecteurs de réception | [nom du connecteur] | propriétés | sécurité 




Note : les connecteurs de réception sont maintenant au nombre de cinq. C'est le "Default Frontend [nom de serveur]" qui nous intéresse, s'agissant des autorisations pour les utilisateurs anonymes.


***


Comme ce texte commence à s'allonger, je remettrai au billet de blogue suivant l'opération de rejoindre EX16-3 au DAG. C'est aussi dans ce texte-là que je ferai quelques vérifications supplémentaires (accès client, envoi et réception des messages, basculement du DAG) ainsi que quelques remarques sur des éléments comme le comportement de mon répartiteur de charge.



No comments:

Post a Comment