Condividi tramite


Automatizzare l'installazione del servizio di mobilità

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione di Linux che ha raggiunto lo stato di fine del servizio (EOL). Valutare le proprie esigenze e pianificare di conseguenza. Per ulteriori informazioni, consultare la Guida alla fine del ciclo di vita di CentOS.

Questo articolo descrive come automatizzare l'installazione e gli aggiornamenti per l'agente del servizio di mobilità 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 di mobilità in ogni computer da replicare. Il servizio di mobilità acquisisce le scritture di dati nel computer e le inoltra al server di elaborazione di Site Recovery per la replica. È possibile distribuire il servizio di mobilità in diversi modi:

  • Installazione push: consentire a Site Recovery di installare l'agente del 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 vogliono 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 di mobilità.

Strumento Dettagli Istruzioni
Configuration Manager 1. Verificare di soddisfare 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 di mobilità, si crea una condivisione di rete contenente i file di installazione del server di configurazione e del servizio di mobilità.

5. Creare un pacchetto di Configuration Manager contenente l'installazione o gli aggiornamenti e preparare la distribuzione del servizio di mobilità.

6. È quindi possibile abilitare la replica in Azure per i computer in cui è installato il servizio di mobilità.
Automatizzare con Configuration Manager
JetPatch 1. Verificare di soddisfare 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 di Azure di destinazione e configurare un criterio di replica.

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

5. In JetPatch, è possibile creare criteri di Site Recovery per automatizzare la distribuzione e l'aggiornamento dell'agente del servizio di mobilità.

6. È quindi possibile abilitare la replica in Azure per i computer in cui è installato il servizio di mobilità.
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 che siano soddisfatti i prerequisiti seguenti:

  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 di mobilità. Una raccolta deve contenere tutti i server Windows, l'altra 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 come amministratore.

  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 accedere 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 seguenti file 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 sia 192.168.3.121.
    • La condivisione file di rete sicura sia \\ContosoSecureFS\MobilityServiceInstallers.

Copiare il codice nella cartella di Windows

Copiare il codice seguente:

  • Salvare il codice nella cartella MobSvcWindows come install.bat.
  • Sostituire i segnaposto [CSIP] nello script seguente con i valori effettivi dell'indirizzo IP del server di configurazione.
  • Lo script supporta le nuove installazioni degli agenti del servizio di mobilità e gli aggiornamenti degli 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 segnaposto [CSIP] nello script seguente con i valori effettivi dell'indirizzo IP del server di configurazione.
  • Lo script supporta le nuove installazioni degli agenti del servizio di mobilità e gli aggiornamenti degli 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 andare a Raccolta software>Gestione applicazioni>Pacchetti.

  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 or MobSvcLinux). Quindi seleziona Avanti.

    Schermata di Creazione guidata pacchetto e programma

  6. Nella pagina Scegliere il tipo di programma da 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 di Linux
    Nome Installare il servizio Mobility di Microsoft Azure (Windows) Installare il servizio di mobilità 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 di installazione per il programma standard, eseguire le attività seguenti:

    • Per i computer Windows, selezionare Questo programma può essere eseguito solo in piattaforme specifiche. Quindi, selezionare i sistemi operativi Windows supportati e selezionare Avanti.
    • Per i computer Linux selezionare Questo programma può essere eseguito in qualsiasi piattaforma. Quindi seleziona 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 selezionare 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 del software, impostare lo Scopo su Obbligatorio.

    Schermata della Distribuzione guidata del software

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

    • Il servizio di mobilità 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. Andare a Monitoraggio>Distribuzioni><nome del pacchetto>.

Disinstallare il servizio di mobilità

È possibile creare pacchetti di Configuration Manager per disinstallare il servizio di mobilità. Ad esempio, lo script seguente disinstalla il servizio di mobilità:

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

Abilita la replica per le macchine virtuali.