Automatización de la instalación del servicio Mobility
Precaución
En este artículo se hace referencia a CentOS, una distribución de Linux con un estado de finalización del servicio (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.
En este artículo se explica cómo automatizar la instalación y las actualizaciones del agente del servicio Mobility en Azure Site Recovery.
Al implementar Site Recovery para la recuperación ante desastres de máquinas virtuales de VMware locales y servidores físicos en Azure, se instala el agente del servicio Mobility en cada máquina que se quiere replicar. El servicio Mobility captura las escrituras de datos en la máquina y las reenvía al servidor de procesos de Site Recovery para su replicación. Puede implementar el servicio Mobility de varias maneras:
- Instalación de inserción: deje que Site Recovery instale el agente del servicio Mobility cuando habilite la replicación para una máquina en Azure Portal.
- Instalación manual: Instale el servicio Mobility manualmente en cada máquina. Obtenga más información acerca de la instalación de inserción y manual.
- Implementación automatizada: automatice la instalación con herramientas de implementación de software, como Microsoft Configuration Manager, o herramientas de terceros, como JetPatch. Más información
La instalación y actualización automatizadas proporcionan una solución si:
- Su organización no permite la instalación de inserción en servidores protegidos.
- La directiva de la empresa requiere que las contraseñas se cambien periódicamente. Debe especificar una contraseña para la instalación de inserción.
- Su directiva de seguridad no permite agregar excepciones de firewall para máquinas específicas.
- Actúa como proveedor de servicios de hosting y no quiere proporcionar las credenciales de las máquinas de los clientes que se necesitan para la instalación de inserción con Site Recovery.
- Tiene que escalar las instalaciones del agente a muchos servidores de forma simultánea.
- Quiere programar las instalaciones y las actualizaciones durante las ventanas de mantenimiento planeado.
Prerrequisitos
Para automatizar la instalación, necesita los siguientes elementos:
- Una solución de instalación de software implementada como Configuration Manager o JetPatch.
- Los requisitos previos de implementación en Azure y locales para la recuperación ante desastres de VMware, o para la recuperación ante desastres de servidores físicos. Revise los requisitos de compatibilidad para la recuperación ante desastres.
Preparación para la implementación automatizada
En la tabla siguiente se resumen las herramientas y los procesos necesarios para automatizar la implementación del servicio Mobility.
Herramienta | Detalles | Instrucciones |
---|---|---|
Administrador de configuración | 1. Compruebe que cumple los requisitos previos enumerados anteriormente. 2. Implemente la recuperación ante desastres mediante la configuración del entorno de origen, incluyendo la descarga de un archivo OVA para implementar el servidor de configuración de Site Recovery como una máquina virtual de VMware mediante una plantilla OVF. 3. Registre el servidor de configuración con el servicio Site Recovery, configure el entorno de Azure de destino y configure una directiva de replicación. 4. Para la implementación automatizada del servicio Mobility, cree un recurso compartido de red que contenga la frase de contraseña del servidor de configuración y los archivos de instalación del servicio Mobility. 5. Cree un paquete de Configuration Manager que contenga la instalación o las actualizaciones y prepárese para la implementación del servicio Mobility. 6. Luego puede habilitar la replicación en Azure para las máquinas que tienen instalado el servicio Mobility. |
Automatizar con Configuration Manager |
JetPatch | 1. Compruebe que cumple los requisitos previos enumerados anteriormente. 2. Implemente la recuperación ante desastres mediante la configuración del entorno de origen, incluyendo la descarga e implementación de Agent Manager de JetPatch para Azure Site Recovery en su entorno de Site Recovery, mediante una plantilla OVF. 3. Registre el servidor de configuración con Site Recovery, configure el entorno de Azure de destino y configure una directiva de replicación. 4. Para la implementación automatizada, inicialice y complete la configuración de Agent Manager de JetPatch. 5. En JetPatch, puede crear una directiva de Site Recovery para automatizar la implementación y la actualización del agente del servicio Mobility. 6. Luego puede habilitar la replicación en Azure para las máquinas que tienen instalado el servicio Mobility. |
Automatización con JetPatch Agent Manager Solución de problemas de instalación del agente en JetPatch |
Automatizar con Configuration Manager
Preparar los archivos de instalación
Asegúrese de que cumple los requisitos previos.
Cree un recurso compartido de archivos de red seguro (recurso compartido de SMB) al que pueda acceder mediante la máquina que ejecuta el servidor de configuración.
En Configuration Manager, clasifique los servidores en los que quiere instalar o actualizar el servicio Mobility. Una colección debe contener todos los servidores de Windows y la otra todos los servidores de Linux.
En el recurso compartido de red, cree una carpeta:
- Para la instalación en máquinas con Windows, cree una carpeta denominada MobSvcWindows.
- Para la instalación en máquinas con Linux, cree una carpeta denominada MobSvcLinux.
Inicie sesión en la máquina del servidor de configuración.
En la máquina del servidor de configuración, abra un símbolo del sistema administrativo.
Para generar el archivo de frase de contraseña, ejecute este comando:
cd %ProgramData%\ASR\home\svsystems\bin genpassphrase.exe -v > MobSvc.passphrase
Copie el archivo MobSvc.passphrase en la carpeta de Windows y en la carpeta de Linux.
Para ir a la carpeta que contiene los archivos de instalación, ejecute este comando:
cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
Copie estos archivos de instalación en el recurso compartido de red:
- En Windows, copie Microsoft-ASR_UA_version_Windows_GA_date_Release.exe en MobSvcWindows.
- En Linux, copie los siguientes archivos en 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
Como se ha explicado en los procedimientos anteriores, copie el código en las carpetas de Windows o Linux. Damos por hecho que:
- La dirección IP del servidor de configuración es
192.168.3.121
. - El recurso compartido de archivos de red seguro es
\\ContosoSecureFS\MobilityServiceInstallers
.
- La dirección IP del servidor de configuración es
Copiar código en la carpeta de Windows
Copie el siguiente código:
- Guarde el código en la carpeta MobSvcWindows como install.bat.
- Reemplace los marcadores de posición
[CSIP]
de este script por los valores reales de la dirección IP del servidor de configuración. - El script admite nuevas instalaciones del agente del servicio Mobility y actualizaciones de agentes ya instalados.
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
Copiar código en la carpeta de Linux
Copie el siguiente código:
- Guarde el código en la carpeta MobSvcLinux como install_linux.sh.
- Reemplace los marcadores de posición
[CSIP]
de este script por los valores reales de la dirección IP del servidor de configuración. - El script admite nuevas instalaciones del agente del servicio Mobility y actualizaciones de agentes ya instalados.
#!/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
Creación de un paquete
Inicie sesión en la consola de Configuration Manager y vaya a Biblioteca de software>Administración de aplicaciones>Paquetes.
Haga clic con el botón derecho en Paquetes>Crear paquete.
Proporcione los detalles del paquete, incluyendo el nombre, descripción, fabricante, lenguaje y versión.
Seleccione Este paquete contiene archivos de origen.
Haga clic en Examinar y seleccione el recurso compartido de red y la carpeta que contiene el instalador correspondiente (MobSvcWindows o MobSvcLinux). Después, seleccione Siguiente.
En la página Elija el tipo de programa que desea crear, seleccione Programa estándar>Siguiente.
En la página Especifique la información sobre este programa estándar, especifique los valores siguientes:
Parámetro Valor de Windows Valor de Linux Nombre Instalación del Servicio de movilidad de Microsoft Azure (Windows) Instalación del Servicio de movilidad de Microsoft Azure (Linux). Línea de comandos install.bat ./install_linux.sh El programa se puede ejecutar Tanto si un usuario inició sesión como si no Tanto si un usuario inició sesión como si no Otros parámetros Usar el valor predeterminado Usar el valor predeterminado En Especifique los requisitos para este programa estándar, haga las siguientes tareas:
- Para máquinas con Windows, seleccione Este programa solo puede ejecutarse en las plataformas especificadas. Luego seleccione los sistemas operativos Windows compatibles y después Siguiente.
- Para máquinas con Linux, seleccione Este programa puede ejecutarse en cualquier plataforma. Luego, seleccione Siguiente.
Finalice al asistente.
Implementación del paquete
En la consola de Configuration Manager, haga clic con el botón derecho en el paquete y seleccione Distribuir contenido.
Seleccione los puntos de distribución en los que se deben copiar los paquetes. Más información.
Finalice el asistente. El paquete comienza a replicarse en los puntos de distribución especificados.
Cuando la distribución del paquete finalice, haga clic con el botón derecho en el paquete >Implementar.
Seleccione la colección de dispositivos Windows o Linux que creó anteriormente.
En la página Especifique el destino del contenido, seleccione Puntos de distribución.
En la página Especificar configuración para controlar cómo se implementará este software, defina Propósito como Requerido.
En Especifique la programación de esta implementación, configure una programación. Más información.
- El servicio Mobility se instala de acuerdo con la programación que especifique.
- Para evitar los reinicios innecesarios, programe la instalación del paquete durante la ventana de mantenimiento mensual o la ventana de actualizaciones de software.
En la página Puntos de distribución, configure las opciones y finalice el asistente.
Puede supervisar el progreso de la implementación en la consola de Configuration Manager. Vaya a Supervisión>Implementaciones><nombre del paquete> .
Desinstalación del servicio Mobility
Puede crear paquetes de Configuration Manager para desinstalar el servicio Mobility. Por ejemplo, el siguiente script desinstala el servicio 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
Pasos siguientes
Habilitar la replicación para máquinas virtuales.