Automatizzare l'installazione del servizio Mobility

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Questo articolo descrive come automatizzare l'installazione e gli aggiornamenti per l'agente del servizio Mobility in Azure Site Recovery.

Quando si distribuisce Site Recovery per il ripristino di emergenza di macchine virtuali VMware locali e server fisici in Azure, installare l'agente del servizio Mobility in ogni computer da replicare. Il servizio Mobility acquisisce le scritture di dati nel computer e le inoltra al server di elaborazione di Site Recovery per la replica. È possibile distribuire il servizio Mobility in diversi modi:

  • Installazione push: consentire a Site Recovery di installare l'agente servizio di mobilità quando si abilita la replica per un computer nel portale di Azure.
  • Installazione manuale: installare manualmente il servizio di mobilità in ogni computer. Altre informazioni sull'installazione push e manuale.
  • Distribuzione automatizzata: automatizzare l'installazione con strumenti di distribuzione software come Microsoft Configuration Manager o strumenti di terze parti, ad esempio JetPatch. Ulteriori informazioni

L'installazione e l'aggiornamento automatizzati offrono una soluzione se:

  • L'organizzazione non consente l'installazione push nei server protetti.
  • I criteri aziendali richiedono la modifica periodica delle password. È necessario specificare una password per l'installazione push.
  • I criteri di sicurezza non consentono l'aggiunta di eccezioni del firewall per computer specifici.
  • Si agisce come provider di servizi di hosting e non si vuole fornire le credenziali del computer del cliente necessarie per l'installazione push con Site Recovery.
  • È necessario ridimensionare le installazioni degli agenti in un numero elevato di server contemporaneamente.
  • Si desidera pianificare installazioni e aggiornamenti durante le finestre di manutenzione pianificata.

Prerequisiti

Per automatizzare l'installazione, sono necessari gli elementi seguenti:

Preparare la distribuzione automatizzata

La tabella seguente riepiloga gli strumenti e i processi per automatizzare la distribuzione del servizio Mobility.

Strumento Dettagli Istruzioni
Configuration Manager 1. Verificare di avere i prerequisiti elencati in precedenza.

2. Distribuire il ripristino di emergenza configurando l'ambiente di origine, incluso il download di un file OVA per distribuire il server di configurazione di Site Recovery come macchina virtuale VMware usando un modello OVF.

3. Registrare il server di configurazione con il servizio Site Recovery, configurare l'ambiente di Azure di destinazione e configurare un criterio di replica.

4. Per la distribuzione automatica del servizio Mobility, si crea una condivisione di rete contenente i file di installazione del server di configurazione e del servizio Mobility.

5. Creare un pacchetto di Configuration Manager contenente l'installazione o gli aggiornamenti e prepararsi per la distribuzione del servizio Mobility.

6. È quindi possibile abilitare la replica in Azure per i computer in cui è installato il servizio Mobility.
Automatizzare con Configuration Manager
JetPatch 1. Verificare di avere i prerequisiti elencati in precedenza.

2. Distribuire il ripristino di emergenza configurando l'ambiente di origine, incluso il download e la distribuzione di JetPatch Agent Manager per Azure Site Recovery nell'ambiente di Site Recovery, usando un modello OVF.

3. Registrare il server di configurazione con Site Recovery, configurare l'ambiente Azure di destinazione e configurare un criterio di replica.

4. Per la distribuzione automatica, inizializzare e completare la configurazione di JetPatch Agent Manager.

5. In JetPatch è possibile creare un criterio di Site Recovery per automatizzare la distribuzione e l'aggiornamento dell'agente del servizio Mobility.

6. È quindi possibile abilitare la replica in Azure per i computer in cui è installato il servizio Mobility.
Automatizzare con JetPatch Agent Manager

Risolvere i problemi di installazione dell'agente in JetPatch

Automatizzare con Configuration Manager

Preparare i file di installazione

  1. Assicurarsi di disporre dei prerequisiti.

  2. Creare una condivisione file di rete sicura (condivisione SMB) accessibile dal computer che esegue il server di configurazione.

  3. In Configuration Manager classificare i server in cui si vuole installare o aggiornare il servizio Mobility. Una raccolta deve contenere tutti i server Windows, gli altri tutti i server Linux.

  4. Nella condivisione di rete creare una cartella:

    • Per l'installazione nei computer Windows, creare una cartella denominata MobSvcWindows.
    • Per l'installazione in computer Linux, creare una cartella denominata MobSvcLinux.
  5. Accedere al computer del server di configurazione.

  6. Nel computer del server di configurazione aprire un prompt dei comandi amministrativo.

  7. Per generare il file passphrase, eseguire questo comando:

    cd %ProgramData%\ASR\home\svsystems\bin
    genpassphrase.exe -v > MobSvc.passphrase
    
  8. Copiare il file MobSvc.passphrase nella cartella Windows e nella cartella Linux.

  9. Per passare alla cartella contenente i file di installazione, eseguire questo comando:

    cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
    
  10. Copiare questi file di installazione nella condivisione di rete:

    • Per Windows copiare Microsoft-ASR_UA_version_Windows_GA_date_Release.exe in MobSvcWindows.
    • Per Linux, copiare i file seguenti in 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. Come descritto nelle procedure seguenti, copiare il codice nelle cartelle Windows o Linux. Si presuppone che:

    • L'indirizzo IP del server di configurazione è 192.168.3.121.
    • La condivisione file di rete sicura è \\ContosoSecureFS\MobilityServiceInstallers.

Copiare il codice nella cartella di Windows

Copiare il codice seguente:

  • Salvare il codice nella cartella MobSvcWindows come install.bat.
  • Sostituire i [CSIP] segnaposto in questo script con i valori effettivi dell'indirizzo IP del server di configurazione.
  • Lo script supporta le nuove installazioni dell'agente del servizio Mobility e gli aggiornamenti agli agenti già installati.
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

Copiare il codice nella cartella Linux

Copiare il codice seguente:

  • Salvare il codice nella cartella MobSvcLinux come install_linux.sh.
  • Sostituire i [CSIP] segnaposto in questo script con i valori effettivi dell'indirizzo IP del server di configurazione.
  • Lo script supporta le nuove installazioni dell'agente del servizio Mobility e gli aggiornamenti agli agenti già installati.
#!/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

Creare un pacchetto

  1. Accedere alla console di Configuration Manager e passare a Pacchetti di gestione> delle applicazioni della libreria>software.

  2. Fare clic con il pulsante destro del mouse su Pacchetti>Crea pacchetto.

  3. Specificare i dettagli del pacchetto, inclusi un nome, una descrizione, un produttore, una lingua e una versione.

  4. Selezionare Questo pacchetto contiene file di origine.

  5. Fare clic su Sfoglia e selezionare la condivisione di rete e la cartella che contiene il programma di installazione pertinente (MobSvcWindows o MobSvcLinux). Quindi seleziona Avanti.

    Schermata di Creazione guidata pacchetto e programma

  6. Nella pagina Scegliere il tipo di programma che si vuole creare selezionare Programma>standard Avanti.

    Screenshot della creazione guidata pacchetto e programma che mostra l'opzione Programma standard.

  7. Nella pagina Specificare le informazioni su questo programma standard specificare i valori seguenti:

    Parametro Valore di Windows Valore Linux
    Nome Installare il servizio Mobility di Microsoft Azure (Windows) Installare il servizio Mobility di Microsoft Azure (Linux).
    Riga di comando install.bat ./install_linux.sh
    Il programma può essere eseguito anche se non ci sono utenti connessi anche se non ci sono utenti connessi
    Altri parametri Usare l'impostazione predefinita Usare l'impostazione predefinita

    Screenshot che mostra le informazioni che è possibile specificare per il programma standard.

  8. In Specificare i requisiti per questo programma standard eseguire le attività seguenti:

    • Per i computer Windows, selezionare Questo programma può essere eseguito solo nelle piattaforme specificate. Selezionare quindi i sistemi operativi Windows supportati e selezionare Avanti.
    • Per i computer Linux selezionare Questo programma può essere eseguito in qualsiasi piattaforma. Quindi, selezionare Avanti.
  9. Completare la procedura guidata.

Distribuire un pacchetto

  1. Nella console di Configuration Manager fare clic con il pulsante destro del mouse sul pacchetto e scegliere Distribuisci contenuto.

    Schermata della console di Configuration Manager

  2. Selezionare i punti di distribuzione in cui copiare i pacchetti. Altre informazioni.

  3. Completare la procedura guidata. Il pacchetto inizia la replica nei punti di distribuzione specificati.

  4. Al termine della distribuzione del pacchetto, fare clic con il pulsante destro del mouse sul pacchetto >Distribuisci.

    Screenshot della console di Configuration Manager che mostra l'opzione di menu Distribuisci.

  5. Selezionare la raccolta di dispositivi Windows o Linux creata in precedenza.

  6. Nella pagina Specificare la destinazione del contenuto selezionare Punti di distribuzione.

  7. In Specificare le impostazioni per controllare la modalità di distribuzione di questo software impostare Scopo su Obbligatorio.

    Schermata della Distribuzione guidata del software

  8. In Specificare la pianificazione per questa distribuzione configurare una pianificazione. Altre informazioni.

    • Il servizio Mobility viene installato in base alla pianificazione specificata.
    • Per evitare riavvii non necessari, pianificare l'installazione del pacchetto durante la finestra di manutenzione mensile o degli aggiornamenti software.
  9. Nella pagina Punti di distribuzione configurare le impostazioni e completare la procedura guidata.

  10. Monitorare lo stato di avanzamento della distribuzione nella console di Configuration Manager. Passare a Monitoraggio>Distribuzioni il nome> del<>pacchetto.

Disinstallare il servizio Mobility

È possibile creare pacchetti di Configuration Manager per disinstallare il servizio Mobility. Ad esempio, lo script seguente disinstalla il servizio 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

Passaggi successivi

Abilitare la replica per le macchine virtuali.