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:
- Una soluzione di installazione software distribuita, ad esempio Configuration Manager o JetPatch.
- Prerequisiti di distribuzione applicati in Azure e in locale per il ripristino di emergenza di VMware o per il ripristino di emergenza del server fisico. Esaminare i requisiti di supporto per il ripristino di emergenza.
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
Assicurarsi che siano soddisfatti i prerequisiti seguenti:
Creare una condivisione file di rete sicura (condivisione SMB) accessibile dal computer che esegue il server di configurazione.
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.
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.
Accedere al computer del server di configurazione.
Nel computer del server di configurazione, aprire un prompt dei comandi come amministratore.
Per generare il file passphrase, eseguire questo comando:
cd %ProgramData%\ASR\home\svsystems\bin genpassphrase.exe -v > MobSvc.passphrase
Copiare il file MobSvc.passphrase nella cartella Windows e nella cartella Linux.
Per accedere alla cartella contenente i file di installazione, eseguire questo comando:
cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
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
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
.
- L'indirizzo IP del server di configurazione sia
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
Accedere alla Console di Configuration Manager e andare a Raccolta software>Gestione applicazioni>Pacchetti.
Fare clic con il pulsante destro del mouse su Pacchetti>Crea pacchetto.
Specificare i dettagli del pacchetto, inclusi un nome, una descrizione, un produttore, una lingua e una versione.
Selezionare Questo pacchetto contiene file di origine.
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.
Nella pagina Scegliere il tipo di programma da creare, selezionare Programma standard>Avanti.
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 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.
Completare la procedura guidata.
Distribuire un pacchetto
Nella console di Configuration Manager, fare clic con il pulsante destro del mouse sul pacchetto e selezionare Distribuisci contenuto.
Selezionare i punti di distribuzione in cui copiare i pacchetti. Altre informazioni.
Completare la procedura guidata. Il pacchetto inizia la replica nei punti di distribuzione specificati.
Al termine della distribuzione del pacchetto, fare clic con il pulsante destro del mouse sul pacchetto >Distribuisci.
Selezionare la raccolta di dispositivi Windows o Linux creata in precedenza.
Nella pagina Specificare la destinazione del contenuto, selezionare Punti di distribuzione.
In Specificare le impostazioni per controllare la modalità di distribuzione del software, impostare lo Scopo su Obbligatorio.
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.
Nella pagina Punti di distribuzione, configurare le impostazioni e completare la procedura guidata.
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.