Automatizar a instalação do serviço Mobilidade

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

Ao implantar o Site Recovery para recuperação de desastre de servidores físicos e VMs VMware locais no Azure, você instala o agente do serviço Mobilidade em cada computador que deseja replicar. O Serviço Mobilidade captura gravações de dados no computador e as encaminha para o servidor do processo do Site Recovery para replicação. Você pode implantar o serviço Mobilidade de algumas maneiras:

  • Instalação por push: permita que o Site Recovery instale o agente do serviço Mobilidade quando você habilitar a replicação para um computador no portal do Azure.
  • Instalação manual: instale o serviço Mobilidade manualmente em cada computador. 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 Endpoint Configuration Manager ou ferramentas de terceiros, como JetPatch.

A instalação e atualização automatizada fornece uma solução se:

  • Sua organização não permite a instalação por push em servidores protegidos.
  • A política de sua empresa requer a alteração periódica das senhas. Você precisa especificar uma senha para a instalação por push.
  • Sua política de segurança não permite adicionar exceções de firewall para computadores específicos.
  • Você está atuando como um provedor de serviços de hospedagem e não deseja fornecer as credenciais do computador 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 planejada.

Pré-requisitos

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

Preparar-se para uma implantação automatizada

A tabela a seguir resume as ferramentas e os processos para automatizar a implantação do serviço 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. Registre o servidor de configuração com o serviço do Site Recovery, configure o ambiente de destino do Azure e configure uma política de replicação.

4. Para a implantação automatizada do serviço Mobilidade, você cria um compartilhamento de rede que contém a frase secreta do servidor de configuração e os arquivos de instalação do serviço Mobilidade.

5. Você cria um pacote do Configuration Manager que contém a instalação ou as atualizações e prepara para a implantação do serviço Mobilidade.

6. Você pode habilitar a replicação para o Azure para os computadores que têm o serviço Mobilidade instalado.
Automatizar 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 baixar e implantar o Gerenciador de Agentes JetPatch para Azure Site Recovery em seu ambiente do Site Recovery usando um modelo OVF.

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

4. Para a implantação automatizada, inicialize e conclua a configuração do Gerenciador de Agentes JetPatch.

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

6. Você pode habilitar a replicação para o Azure para os computadores que têm o serviço Mobilidade instalado.
Automatizar com o Gerenciador de Agentes JetPatch

Solucionar problemas de instalação do agente no JetPatch

Automatizar com o Configuration Manager

Preparar os arquivos de instalação

  1. Verifique se estes pré-requisitos estão em vigor.

  2. Crie um compartilhamento SMB (compartilhamento de arquivo de rede segura) que possa ser acessado pelo computador que executa o servidor de configuração.

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

  4. No compartilhamento de rede, crie uma pasta:

    • Para a instalação em computadores Windows, crie uma pasta chamada MobSvcWindows.
    • Para a instalação em computadores Linux, crie uma pasta chamada MobSvcLinux.
  5. Conecte-se ao computador do servidor de configuração.

  6. No computador 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 do Windows e a pasta do 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 esses arquivos de instalação para o compartilhamento de rede:

    • Para o Windows, copie Microsoft-ASR_UA_version_Windows_GA_date_Release.exe para MobSvcWindows.
    • Para o 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 do Windows ou do Linux. Estamos supondo que:

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

Copiar o código para a pasta do Windows

Copie o seguinte código:

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

Copie o seguinte código:

  • Salve o código na pasta MobSvcLinux como install_linux.sh.
  • Substitua os espaços reservados de [CSIP] neste script pelos valores reais do endereço IP do servidor de configuração.
  • O script dá suporte a instalações novas dos agentes do serviço Mobilidade e a atualizações de agentes já 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. Entre no console do Configuration Manager e vá para Biblioteca de Software > Gerenciamento de Aplicativos > Pacotes.

  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 Avançar.

    Captura de tela do Assistente para Criar Pacote e Programa

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

    Captura de tela do assistente para 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 do Linux
    Nome Instalar o Serviço de Mobilidade do Microsoft Azure (Windows) Instalar o serviço Mobilidade do Microsoft Azure (Linux).
    Linha de comando install.bat ./install_linux.sh
    Programa pode ser executado Se um usuário fez logon ou não Se um usuário fez logon ou não
    Outros parâmetros Usar a configuração padrão Usar a 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 computadores Windows, selecione Este programa pode ser executado somente em plataformas especificadas. Em seguida, selecione os sistemas operacionais Windows com suporte e selecione Avançar.
    • Para computadores Linux, selecione Este programa pode ser executado em qualquer plataforma. Em seguida, selecione Avançar.
  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 tela do console do Configuration Manager

  2. Selecione os pontos de distribuição para os quais os pacotes devem ser copiados. Saiba mais.

  3. Conclua o assistente. Em seguida, o pacote começa a ser replicado 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 > Implantar.

    Captura de tela do console do Configuration Manager que mostra a opção de menu Implantar.

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

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

  7. Na página Especificar configurações para controlar como este software é implantado, defina a Finalidade como Obrigatório.

    Captura de tela do Assistente de Implantação de Software

  8. Em Especificar o agendamento para essa implantação, configure um agendamento. Saiba mais.

    • O serviço Mobilidade é instalado de acordo com o agendamento que você especificar.
    • 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. Monitore o progresso da implantação no console do Configuration Manager. Vá para Monitoramento > Implantações > <your package name> .

Desinstalar o serviço Mobilidade

Você pode criar pacotes do Configuration Manager para desinstalar o serviço Mobilidade. Por exemplo, o script a seguir desinstala o serviço 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óximas etapas

Habilite a replicação para VMs.