Share via


Automatiser l’installation du service mobilité

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation et organisez-vous en conséquence. Pour plus d’informations, consultez les Conseils sur la fin de vie CentOS.

Cet article explique comment automatiser l’installation et les mises à jour de l’agent du service Mobility dans Azure Site Recovery.

Lorsque vous déployez Site Recovery pour la récupération d’urgence de machines virtuelles VMware et de serveurs physiques locaux sur Azure, vous installez l’agent du service Mobility sur chaque ordinateur que vous souhaitez répliquer. Le service Mobility enregistre les écritures de données sur la machine et les transmet au serveur de traitement Site Recovery à des fins de réplication. Vous pouvez déployer le service Mobility de différentes manières :

  • Installation Push : laissez Site Recovery installer l’agent du service Mobility lorsque vous activez la réplication pour un ordinateur dans le portail Azure.
  • Installation manuelle : Installez le service Mobility manuellement sur chaque ordinateur. En savoir plus sur l’installation Push et manuelle.
  • Déploiement automatisé : automatisez l’installation avec des outils de déploiement de logiciels tels que Microsoft Configuration Manager ou des outils tiers tels que JetPatch. En savoir plus

L’installation et la mise à jour automatisées fournissent une solution dans les cas suivants :

  • Votre organisation n’autorise pas l’installation Push sur des serveurs protégés.
  • La stratégie de votre entreprise exige que les mots de passe soient modifiés régulièrement. Vous devez spécifier un mot de passe pour l’installation Push.
  • Votre stratégie de sécurité n’autorise pas l’ajout d’exceptions de pare-feu pour des ordinateurs spécifiques.
  • Vous agissez en tant que fournisseur de services d’hébergement et ne souhaitez pas fournir les informations d’identification de l’ordinateur client nécessaires à l’installation Push avec Site Recovery.
  • Vous devez mettre à l’échelle les installations de l’agent sur un grand nombre de serveurs simultanément.
  • Vous souhaitez planifier des installations et des mises à niveau pendant les fenêtres de maintenance planifiée.

Prérequis

Pour automatiser l'installation, vous avez besoin des éléments suivants :

Préparer le déploiement automatisé

Le tableau suivant récapitule les outils et les processus pour l’automatisation du déploiement du service Mobility.

Outil Détails Instructions
Gestionnaire de configuration 1. Vérifiez que les conditions préalables mentionnées ci-dessus sont remplies.

2. Déployez la récupération d’urgence en configurant l’environnement source, y compris le téléchargement d’un fichier OVA pour déployer le serveur de configuration Site Recovery en tant que machine virtuelle VMware à l’aide d’un modèle OVF.

3. Vous inscrivez le serveur de configuration auprès du service Site Recovery, vous configurez l’environnement Azure cible et vous configurez une stratégie de réplication.

4. Pour le déploiement du service Mobility automatisé, vous créez un partage réseau contenant les fichiers de phrase secrète du serveur de configuration et les fichiers d’installation du service Mobility.

5. Vous créez un package Configuration Manager contenant l’installation ou les mises à jour, et vous préparez le déploiement du service Mobility.

6. Vous pouvez ensuite activer la réplication vers Azure pour les ordinateurs sur lesquels le service Mobility est installé.
Automatiser avec Configuration Manager
JetPatch 1. Vérifiez que les conditions préalables mentionnées ci-dessus sont remplies.

2. Déployez la récupération d’urgence en configurant l’environnement source, y compris le téléchargement et le déploiement de JetPatch Agent Manager pour Azure Site Recovery dans votre environnement Site Recovery, à l’aide d’un modèle OVF.

3. Vous inscrivez le serveur de configuration auprès de Site Recovery, vous configurez l’environnement Azure cible et vous configurez une stratégie de réplication.

4. Pour un déploiement automatisé, initialisez et terminez la configuration de JetPatch Agent Manager.

5. Dans JetPatch, vous pouvez créer une stratégie Site Recovery pour automatiser le déploiement et la mise à niveau de l’agent du service Mobility.

6. Vous pouvez ensuite activer la réplication vers Azure pour les ordinateurs sur lesquels le service Mobility est installé.
Automatiser avec JetPatch Agent Manager

Résoudre les problèmes d’installation de l’agent dans JetPatch

Automatiser avec Configuration Manager

Préparer les fichiers d’installation

  1. Assurez-vous que les conditions préalables sont remplies.

  2. Créez un partage de fichiers réseau sécurisé (partage SMB) qui est accessible par l’ordinateur exécutant le serveur de configuration.

  3. Dans Configuration Manager, classez les serveurs sur lesquels vous souhaitez installer ou mettre à jour le service Mobility. Une collection doit contenir tous les serveurs Windows, l’autre, tous les serveurs Linux.

  4. Sur le partage réseau, créez un dossier :

    • Pour une installation sur des ordinateurs Windows, créez un dossier nommé MobSvcWindows.
    • Pour une installation sur des ordinateurs Windows, créez un dossier nommé MobSvcWindows.
  5. Connectez-vous à la machine du serveur de configuration.

  6. Sur la machine du serveur de configuration, ouvrez une invite de commandes d’administration.

  7. Pour générer le fichier de phrase secrète, exécutez la commande suivante :

    cd %ProgramData%\ASR\home\svsystems\bin
    genpassphrase.exe -v > MobSvc.passphrase
    
  8. Copiez le fichier MobSvc.passphrase dans le dossier Windows et le dossier Linux.

  9. Pour accéder au dossier contenant les fichiers d’installation, exécutez la commande suivante :

    cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
    
  10. Copiez ces fichiers d’installation sur le partage réseau :

    • Pour Windows, copiez Microsoft-ASR_UA_version_Windows_GA_date_Release.exe dans MobSvcWindows.
    • Pour Linux, copiez les fichiers suivants dans MobSvcLinux :
      • Microsoft-ASR_UARHEL6-64release.tar.gz
      • Microsoft-ASR_UARHEL7-64release.tar.gz
      • Microsoft-ASR_UASLES11-SP3-64release.tar.gz
      • Microsoft-ASR_UASLES11-SP4-64release.tar.gz
      • Microsoft-ASR_UAOL6-64release.tar.gz
      • Microsoft-ASR_UAUBUNTU-14.04-64release.tar.gz
  11. Comme décrit dans les procédures suivantes, copiez le code dans les dossiers Windows ou Linux. Nous supposons que :

    • L’adresse IP du serveur de configuration est 192.168.3.121.
    • Le partage de fichiers réseau sécurisé est \\ContosoSecureFS\MobilityServiceInstallers.

Copier le code dans le dossier Windows

Copiez le code suivant :

  • Enregistrez le code dans le dossier MobSvcWindows en tant que install.bat.
  • Remplacez les espaces réservés [CSIP] dans le script ci-dessous par les valeurs réelles de l’adresse IP de votre serveur de configuration.
  • Le script prend en charge les nouvelles installations de l’agent du service Mobility et les mises à jour sur les agents déjà installés.
Time /t >> C:\Temp\logfile.log
REM ==================================================
REM ==== Clean up the folders ========================
RMDIR /S /q %temp%\MobSvc
MKDIR %Temp%\MobSvc
MKDIR C:\Temp
REM ==================================================

REM ==== Copy new files ==============================
COPY M*.* %Temp%\MobSvc
CD %Temp%\MobSvc
REN Micro*.exe MobSvcInstaller.exe
REM ==================================================

REM ==== Extract the installer =======================
MobSvcInstaller.exe /q /x:%Temp%\MobSvc\Extracted
REM ==== Wait 10s for extraction to complete =========
TIMEOUT /t 10
REM =================================================

REM ==== Perform installation =======================
REM =================================================

CD %Temp%\MobSvc\Extracted
whoami >> C:\Temp\logfile.log
SET PRODKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
REG QUERY %PRODKEY%\{275197FC-14FD-4560-A5EB-38217F80CBD1}
IF NOT %ERRORLEVEL% EQU 0 (
	echo "Product is not installed. Goto INSTALL." >> C:\Temp\logfile.log
	GOTO :INSTALL
) ELSE (
	echo "Product is installed." >> C:\Temp\logfile.log

	echo "Checking for Post-install action status." >> C:\Temp\logfile.log
	GOTO :POSTINSTALLCHECK
)

:POSTINSTALLCHECK
	REG QUERY "HKLM\SOFTWARE\Wow6432Node\InMage Systems\Installed Products\5" /v "PostInstallActions" | Find "Succeeded"
	If %ERRORLEVEL% EQU 0 (
		echo "Post-install actions succeeded. Checking for Configuration status." >> C:\Temp\logfile.log
		GOTO :CONFIGURATIONCHECK
	) ELSE (
		echo "Post-install actions didn't succeed. Goto INSTALL." >> C:\Temp\logfile.log
		GOTO :INSTALL
	)

:CONFIGURATIONCHECK
	REG QUERY "HKLM\SOFTWARE\Wow6432Node\InMage Systems\Installed Products\5" /v "AgentConfigurationStatus" | Find "Succeeded"
	If %ERRORLEVEL% EQU 0 (
		echo "Configuration has succeeded. Goto UPGRADE." >> C:\Temp\logfile.log
		GOTO :UPGRADE
	) ELSE (
		echo "Configuration didn't succeed. Goto CONFIGURE." >> C:\Temp\logfile.log
		GOTO :CONFIGURE
	)


:INSTALL
	echo "Perform installation." >> C:\Temp\logfile.log
	UnifiedAgent.exe /Role MS /InstallLocation "C:\Program Files (x86)\Microsoft Azure Site Recovery" /Platform "VmWare" /Silent
	IF %ERRORLEVEL% EQU 0 (
	    echo "Installation has succeeded." >> C:\Temp\logfile.log
		(GOTO :CONFIGURE)
    ) ELSE (
		echo "Installation has failed." >> C:\Temp\logfile.log
		GOTO :ENDSCRIPT
	)

:CONFIGURE
	echo "Perform configuration." >> C:\Temp\logfile.log
	cd "C:\Program Files (x86)\Microsoft Azure Site Recovery\agent"
	UnifiedAgentConfigurator.exe  /CSEndPoint "[CSIP]" /PassphraseFilePath %Temp%\MobSvc\MobSvc.passphrase
	IF %ERRORLEVEL% EQU 0 (
	    echo "Configuration has succeeded." >> C:\Temp\logfile.log
    ) ELSE (
		echo "Configuration has failed." >> C:\Temp\logfile.log
	)
	GOTO :ENDSCRIPT

:UPGRADE
	echo "Perform upgrade." >> C:\Temp\logfile.log
	UnifiedAgent.exe /Platform "VmWare" /Silent
	IF %ERRORLEVEL% EQU 0 (
	    echo "Upgrade has succeeded." >> C:\Temp\logfile.log
    ) ELSE (
		echo "Upgrade has failed." >> C:\Temp\logfile.log
	)
	GOTO :ENDSCRIPT

:ENDSCRIPT
	echo "End of script." >> C:\Temp\logfile.log

Copier le code dans le dossier Linux

Copiez le code suivant :

  • Enregistrez le code dans le dossier MobSvcLinux en tant que install_linux.sh.
  • Remplacez les espaces réservés [CSIP] dans le script ci-dessous par les valeurs réelles de l’adresse IP de votre serveur de configuration.
  • Le script prend en charge les nouvelles installations de l’agent du service Mobility et les mises à jour sur les agents déjà installés.
#!/usr/bin/env bash

rm -rf /tmp/MobSvc
mkdir -p /tmp/MobSvc
INSTALL_DIR='/usr/local/ASR'
VX_VERSION_FILE='/usr/local/.vx_version'

echo "=============================" >> /tmp/MobSvc/sccm.log
echo `date` >> /tmp/MobSvc/sccm.log
echo "=============================" >> /tmp/MobSvc/sccm.log

if [ -f /etc/oracle-release ] && [ -f /etc/redhat-release ]; then
    if grep -q 'Oracle Linux Server release 6.*' /etc/oracle-release; then
        if uname -a | grep -q x86_64; then
            OS="OL6-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *OL6*.tar.gz /tmp/MobSvc
        fi
    fi
elif [ -f /etc/redhat-release ]; then
    if grep -q 'Red Hat Enterprise Linux Server release 6.* (Santiago)' /etc/redhat-release || \
        grep -q 'CentOS Linux release 6.* (Final)' /etc/redhat-release || \
        grep -q 'CentOS release 6.* (Final)' /etc/redhat-release; then
        if uname -a | grep -q x86_64; then
            OS="RHEL6-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *RHEL6*.tar.gz /tmp/MobSvc
        fi
    elif grep -q 'Red Hat Enterprise Linux Server release 7.* (Maipo)' /etc/redhat-release || \
        grep -q 'CentOS Linux release 7.* (Core)' /etc/redhat-release; then
        if uname -a | grep -q x86_64; then
            OS="RHEL7-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *RHEL7*.tar.gz /tmp/MobSvc
                fi
    fi
elif [ -f /etc/SuSE-release ] && grep -q 'VERSION = 11' /etc/SuSE-release; then
    if grep -q "SUSE Linux Enterprise Server 11" /etc/SuSE-release && grep -q 'PATCHLEVEL = 3' /etc/SuSE-release; then
        if uname -a | grep -q x86_64; then
            OS="SLES11-SP3-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *SLES11-SP3*.tar.gz /tmp/MobSvc
        fi
    elif grep -q "SUSE Linux Enterprise Server 11" /etc/SuSE-release && grep -q 'PATCHLEVEL = 4' /etc/SuSE-release; then
        if uname -a | grep -q x86_64; then
            OS="SLES11-SP4-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *SLES11-SP4*.tar.gz /tmp/MobSvc
        fi
    fi
elif [ -f /etc/lsb-release ] ; then
    if grep -q 'DISTRIB_RELEASE=14.04' /etc/lsb-release ; then
       if uname -a | grep -q x86_64; then
           OS="UBUNTU-14.04-64"
           echo $OS >> /tmp/MobSvc/sccm.log
           cp *UBUNTU-14*.tar.gz /tmp/MobSvc
       fi
    fi
else
    exit 1
fi

if [ -z "$OS" ]; then
    exit 1
fi

Install()
{
    echo "Perform Installation." >> /tmp/MobSvc/sccm.log
    ./install -q -d ${INSTALL_DIR} -r Agent -v VmWare
    RET_VAL=$?
    echo "Installation Returncode: $RET_VAL" >> /tmp/MobSvc/sccm.log
    if [ $RET_VAL -eq 0 ]; then
        echo "Installation has succeeded. Proceed to configuration." >> /tmp/MobSvc/sccm.log
        Configure
    else
        echo "Installation has failed." >> /tmp/MobSvc/sccm.log
        exit $RET_VAL
    fi
}

Configure()
{
    echo "Perform configuration." >> /tmp/MobSvc/sccm.log
    ${INSTALL_DIR}/Vx/bin/UnifiedAgentConfigurator.sh -i [CSIP] -P MobSvc.passphrase
    RET_VAL=$?
    echo "Configuration Returncode: $RET_VAL" >> /tmp/MobSvc/sccm.log
    if [ $RET_VAL -eq 0 ]; then
        echo "Configuration has succeeded." >> /tmp/MobSvc/sccm.log
    else
        echo "Configuration has failed." >> /tmp/MobSvc/sccm.log
        exit $RET_VAL
    fi
}

Upgrade()
{
    echo "Perform Upgrade." >> /tmp/MobSvc/sccm.log
    ./install -q -v VmWare
    RET_VAL=$?
    echo "Upgrade Returncode: $RET_VAL" >> /tmp/MobSvc/sccm.log
    if [ $RET_VAL -eq 0 ]; then
        echo "Upgrade has succeeded." >> /tmp/MobSvc/sccm.log
    else
        echo "Upgrade has failed." >> /tmp/MobSvc/sccm.log
        exit $RET_VAL
    fi
}

cp MobSvc.passphrase /tmp/MobSvc
cd /tmp/MobSvc

tar -zxvf *.tar.gz

if [ -e ${VX_VERSION_FILE} ]; then
    echo "${VX_VERSION_FILE} exists. Checking for configuration status." >> /tmp/MobSvc/sccm.log
    agent_configuration=$(grep ^AGENT_CONFIGURATION_STATUS "${VX_VERSION_FILE}" | cut -d"=" -f2 | tr -d " ")
    echo "agent_configuration=$agent_configuration" >> /tmp/MobSvc/sccm.log
     if [ "$agent_configuration" == "Succeeded" ]; then
        echo "Agent is already configured. Proceed to Upgrade." >> /tmp/MobSvc/sccm.log
        Upgrade
    else
        echo "Agent is not configured. Proceed to Configure." >> /tmp/MobSvc/sccm.log
        Configure
    fi
else
    Install
fi

cd /tmp

Créer un package

  1. Connectez-vous à la console Configuration Manager et accédez à Bibliothèque de logiciels>Gestion des applications>Packages.

  2. Cliquez avec le bouton droit sur Packages>Créer un package.

  3. Fournissez les détails du package, notamment un nom, une description, le fabricant, la langue et la version.

  4. Sélectionnez Ce package contient des fichiers sources.

  5. Cliquez sur Parcouriret sélectionnez le partage réseau et le dossier contenant le programme d’installation approprié (MobSvcWindows ou MobSvcLinux). Ensuite, sélectionnez Suivant.

    Capture d’écran de l’assistant Création d’un package et d’un programme

  6. Dans la page Choisissez le type de programme que vous voulez créer, sélectionnez Programme standard>Suivant.

    Capture d’écran de l’assistant Création d’un package et d’un programme qui affiche l’option Programme standard.

  7. Dans la page Spécifier les informations concernant ce programme standard, spécifiez les valeurs suivantes :

    Paramètre Valeur Windows Valeur Linux
    Nom Installer le service Mobilité de Microsoft Azure (Windows) Installer le service Mobility de Microsoft Azure (Linux)
    Ligne de commande install.bat ./install_linux.sh
    Le programme peut s’exécuter Qu’un utilisateur ait ouvert une session ou non Qu’un utilisateur ait ouvert une session ou non
    Autres paramètres Utiliser le paramètre par défaut Utiliser le paramètre par défaut

    Capture d’écran montrant les informations que vous pouvez spécifier pour le programme standard.

  8. Dans Spécifier les conditions requises pour ce programme standard, exécutez les tâches suivantes :

    • Pour les ordinateurs Windows, sélectionnez Ce programme ne peut s’exécuter que sur des plateformes spécifiées. Ensuite, sélectionnez les systèmes d’exploitation Windows pris en charge, puis Suivant.
    • Pour les ordinateurs Linux, sélectionnez Ce programme peut être exécuté sur n'importe quelle plateforme. Sélectionnez ensuite Suivant.
  9. Terminez l’Assistant.

Déploiement du package

  1. Dans la console Configuration Manager, cliquez avec le bouton droit sur le package et sélectionnez Distribuer du contenu.

    Capture d’écran de la console Configuration Manager

  2. Sélectionnez les points de distribution vers lesquels les packages doivent être copiés. Plus d’informations

  3. Terminez l'Assistant. Le package démarre ensuite la réplication sur les points de distribution spécifiés.

  4. Une fois la distribution du package terminée, cliquez avec le bouton droit sur le package >Déployer.

    Capture d’écran de la console Configuration Manager montrant l’option de menu Déployer.

  5. Sélectionnez la collection d’appareils Windows ou Linux que vous avez créé précédemment.

  6. Dans la page Spécifier la destination du contenu, sélectionnez Points de distribution.

  7. Dans la page Spécifier un paramètre pour contrôler la manière dont ce logiciel est déployé, définissez Objectif sur Requis.

    Capture d’écran de l’assistant Déploiement du logiciel

  8. Dans Spécifier la planification de ce déploiement, configurez une planification. Plus d’informations

    • Le service Mobility est installé conformément à la planification que vous spécifiez.
    • Pour éviter les redémarrages inutiles, planifiez l’installation du package pendant votre fenêtre de maintenance mensuelle ou votre fenêtre de mises à jour logicielles.
  9. Dans la page Points de distribution, configurez les paramètres et terminez l’Assistant.

  10. Surveillez la progression du déploiement dans la console Configuration Manager. Accédez à Supervision>Déploiements><nom de votre package> .

Désinstaller le service Mobility

Vous pouvez créer des packages Configuration Manager pour désinstaller le service Mobility. Par exemple, le script suivant désinstalle le service Mobility :

Time /t >> C:\logfile.log
REM ==================================================
REM ==== Check if Mob Svc is already installed =======
REM ==== If not installed no operation required ========
REM ==== Else run uninstall command =====================
REM ==== {275197FC-14FD-4560-A5EB-38217F80CBD1} is ====
REM ==== guid for Mob Svc Installer ====================
whoami >> C:\logfile.log
NET START | FIND "InMage Scout Application Service"
IF  %ERRORLEVEL% EQU 1 (GOTO :INSTALL) ELSE GOTO :UNINSTALL
:NOOPERATION
                echo "No Operation Required." >> c:\logfile.log
                GOTO :ENDSCRIPT
:UNINSTALL
                echo "Uninstall" >> C:\logfile.log
                MsiExec.exe /qn /x {275197FC-14FD-4560-A5EB-38217F80CBD1} /L+*V "C:\ProgramData\ASRSetupLogs\UnifiedAgentMSIUninstall.log"
:ENDSCRIPT

Étapes suivantes

Activez la réplication pour les machines virtuelles.