Automatize a instalação do Serviço de Mobilidade

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux com status de Fim de Vida (EOL). Por favor, considere o seu uso e planeje de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Este artigo descreve como automatizar a instalação e as atualizações para o agente do Serviço de Mobilidade no Azure Site Recovery.

Ao implantar o Site Recovery para recuperação de desastres de VMs VMware locais e servidores físicos no Azure, você instala o agente do Serviço de Mobilidade em cada máquina que deseja replicar. O Serviço de Mobilidade captura dados gravados na máquina e os encaminha para o servidor de processo de Recuperação de Site para replicação. Você pode implantar o Serviço de Mobilidade de algumas maneiras:

  • Instalação por push: permita que o Site Recovery instale o agente do serviço de Mobilidade quando você habilitar a replicação para uma máquina no portal do Azure.
  • Instalação manual: instale o serviço de mobilidade manualmente em cada máquina. Saiba mais sobre a instalação manual e por push.
  • Implantação automatizada: automatize a instalação com ferramentas de implantação de software, como o Microsoft Configuration Manager, ou ferramentas de terceiros, como o JetPatch. Mais informações

A instalação e atualização automatizadas fornecem uma solução se:

  • Sua organização não permite a instalação por push em servidores protegidos.
  • A política da sua empresa exige que as palavras-passe sejam alteradas periodicamente. Tem de especificar uma palavra-passe para a instalação push.
  • Sua política de segurança não permite adicionar exceções de firewall para máquinas específicas.
  • Você está agindo como um provedor de serviços de hospedagem e não deseja fornecer credenciais de máquina do cliente que são necessárias para a instalação por push com o Site Recovery.
  • Você precisa dimensionar as instalações do agente para vários servidores simultaneamente.
  • Você deseja agendar instalações e atualizações durante as janelas de manutenção planejadas.

Pré-requisitos

Para automatizar a instalação, você precisa dos seguintes itens:

Prepare-se para a implantação automatizada

A tabela a seguir resume ferramentas e processos para automatizar a implantação do Serviço de Mobilidade.

Ferramenta Detalhes Instruções
Configuration Manager 1. Verifique se você tem os pré-requisitos listados acima em vigor.

2. Implante a recuperação de desastres configurando o ambiente de origem, incluindo o download de um arquivo OVA para implantar o servidor de configuração do Site Recovery como uma VM VMware usando um modelo OVF.

3. Você registra o servidor de configuração com o serviço de Recuperação de Site, configura o ambiente do Azure de destino e configura uma política de replicação.

4. Para a implantação automatizada do Serviço de Mobilidade, você cria um compartilhamento de rede contendo a senha do servidor de configuração e os arquivos de instalação do Serviço de Mobilidade.

5. Você cria um pacote do Configuration Manager contendo a instalação ou as atualizações e se prepara para a implantação do Serviço de Mobilidade.

6. Em seguida, você pode habilitar a replicação para o Azure para as máquinas que têm o Serviço de Mobilidade instalado.
Automatize com o Configuration Manager
JetPatch 1. Verifique se você tem os pré-requisitos listados acima em vigor.

2. Implante a recuperação de desastres configurando o ambiente de origem, incluindo o download e a implantação do JetPatch Agent Manager for Azure Site Recovery em seu ambiente de Recuperação de Site, usando um modelo OVF.

3. Você registra o servidor de configuração com o Site Recovery, configura o ambiente do Azure de destino e configura uma política de replicação.

4. Para implementação automatizada, inicialize e conclua a configuração do JetPatch Agent Manager.

5. No JetPatch, você pode criar uma política de Recuperação de Site para automatizar a implantação e a atualização do agente do Serviço de Mobilidade.

6. Em seguida, você pode habilitar a replicação para o Azure para as máquinas que têm o Serviço de Mobilidade instalado.
Automatize com o JetPatch Agent Manager

Solucionar problemas de instalação do agente no JetPatch

Automatize com o Configuration Manager

Preparar os arquivos de instalação

  1. Certifique-se de que tem os pré-requisitos em vigor.

  2. Crie um compartilhamento de arquivos de rede seguro (compartilhamento SMB) que possa ser acessado pela máquina que executa o servidor de configuração.

  3. No Configuration Manager, categorize os servidores nos quais você deseja instalar ou atualizar o Serviço de Mobilidade. Uma coleção deve conter todos os servidores Windows, a outra todos os servidores Linux.

  4. No compartilhamento de rede, crie uma pasta:

    • Para instalação em máquinas Windows, crie uma pasta chamada MobSvcWindows.
    • Para instalação em máquinas Linux, crie uma pasta chamada MobSvcLinux.
  5. Entre na máquina do servidor de configuração.

  6. Na máquina do servidor de configuração, abra um prompt de comando administrativo.

  7. Para gerar o arquivo de frase secreta, execute este comando:

    cd %ProgramData%\ASR\home\svsystems\bin
    genpassphrase.exe -v > MobSvc.passphrase
    
  8. Copie o arquivo MobSvc.passphrase para a pasta Windows e a pasta Linux.

  9. Para navegar até a pasta que contém os arquivos de instalação, execute este comando:

    cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
    
  10. Copie estes ficheiros de instalação para a partilha de rede:

    • Para Windows, copie Microsoft-ASR_UA_version_Windows_GA_date_Release.exe para MobSvcWindows.
    • Para Linux, copie os seguintes arquivos para 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. Conforme descrito nos procedimentos a seguir, copie o código para as pastas Windows ou Linux. Partimos do princípio de que:

    • O endereço IP do servidor de configuração é 192.168.3.121.
    • O compartilhamento seguro de arquivos de rede é \\ContosoSecureFS\MobilityServiceInstallers.

Copiar código para a pasta Windows

Copie o seguinte código:

  • Salve o código na pasta MobSvcWindows como install.bat.
  • Substitua os [CSIP] espaços reservados neste script pelos valores reais do endereço IP do seu servidor de configuração.
  • O script suporta novas instalações do agente do Serviço de Mobilidade e atualizações para agentes que já estão 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 para a pasta Linux

Copie o seguinte código:

  • Salve o código na pasta MobSvcLinux como install_linux.sh.
  • Substitua os [CSIP] espaços reservados neste script pelos valores reais do endereço IP do seu servidor de configuração.
  • O script suporta novas instalações do agente do Serviço de Mobilidade e atualizações para agentes que já estão 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

Criar um pacote

  1. Inicie sessão na consola do Gestor de configuração e aceda a Pacotes de Gestão de Aplicações da Biblioteca>de> Software.

  2. Clique com o botão direito do mouse em Pacotes>Criar Pacote.

  3. Forneça detalhes do pacote, incluindo nome, descrição, fabricante, idioma e versão.

  4. Selecione Este pacote contém arquivos de origem.

  5. Clique em Procurar e selecione o compartilhamento de rede e a pasta que contém o instalador relevante (MobSvcWindows ou MobSvcLinux). Em seguida, selecione Seguinte.

    Captura de ecrã do assistente Criar Pacote e Programa

  6. Na página Escolha o tipo de programa que você deseja criar, selecione Programa>padrão Avançar.

    Captura de ecrã do assistente Criar Pacote e Programa que mostra a opção Programa Padrão.

  7. Na página Especificar informações sobre este programa padrão, especifique os seguintes valores:

    Parâmetro Valor do Windows Valor Linux
    Nome Instalar o Serviço de Mobilidade do Microsoft Azure (Windows) Instale o Serviço de Mobilidade do Microsoft Azure (Linux).
    Linha de comandos install.bat ./install_linux.sh
    O programa pode ser executado Se um usuário está conectado ou não Se um usuário está conectado ou não
    Outros parâmetros Usar configuração padrão Usar configuração padrão

    Captura de tela que mostra as informações que você pode especificar para o programa padrão.

  8. Em Especificar os requisitos para este programa padrão, execute as seguintes tarefas:

    • Para máquinas Windows, selecione Este programa só pode ser executado em plataformas especificadas. Em seguida, selecione os sistemas operacionais Windows suportados e selecione Avançar.
    • Para máquinas Linux, selecione Este programa pode ser executado em qualquer plataforma. Em seguida, selecione Seguinte.
  9. Conclua o assistente.

Implantar o pacote

  1. No console do Configuration Manager, clique com o botão direito do mouse no pacote e selecione Distribuir Conteúdo.

    Captura de ecrã da consola do Gestor de configuração

  2. Selecione os pontos de distribuição para os quais os pacotes devem ser copiados. Mais informações.

  3. Conclua o assistente. Em seguida, o pacote começa a replicar para os pontos de distribuição especificados.

  4. Após a conclusão da distribuição do pacote, clique com o botão direito do mouse no pacote >Deploy.

    Captura de ecrã da consola do Gestor de configuração que mostra a opção de menu Implementar.

  5. Selecione a coleção de dispositivos Windows ou Linux que você criou anteriormente.

  6. Na página Especificar o destino do conteúdo, selecione Pontos de Distribuição.

  7. Na página Especificar configurações para controlar como esse software é implantado , defina Finalidade como Necessária.

    Captura de ecrã do assistente Implementar Software

  8. Em Especifique o agendamento para esta implantação, configure um agendamento. Mais informações.

    • O Serviço de Mobilidade é instalado de acordo com o cronograma especificado.
    • Para evitar reinicializações desnecessárias, agende a instalação do pacote durante a janela de manutenção mensal ou a janela de atualizações de software.
  9. Na página Pontos de Distribuição , defina as configurações e conclua o assistente.

  10. Monitorize o progresso da implementação na consola do Gestor de configuração. Vá para Monitorando>implantações seu nome> de><pacote.

Desinstalar o Serviço de Mobilidade

Você pode criar pacotes do Configuration Manager para desinstalar o Serviço de Mobilidade. Por exemplo, o script a seguir desinstala o Serviço de Mobilidade:

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

Próximos passos

Habilite a replicação para VMs.