Автоматизация установки Mobility Service

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

В этой статье описывается, как автоматизировать установку и обновления агента службы Mobility Service в Azure Site Recovery.

При развертывании Site Recovery для аварийного восстановления локальных виртуальных машин VMware и физических серверов в Azure вы устанавливаете агент Mobility Service на каждую машину, которую хотите реплицировать. Служба Mobility Service фиксирует записи данных на машине и пересылает их на сервер процесса Site Recovery для репликации. Вы можете развернуть службу Mobility Service несколькими способами:

  • Принудительная установка: разрешите Site Recovery установить агент службы "Мобильность" при включении репликации для компьютера на портале Azure.
  • Установка вручную: установите службу мобильности вручную на каждом компьютере. Узнайте больше о принудительной и ручной установке.
  • Автоматическое развертывание: автоматизация установки с помощью таких средств развертывания программного обеспечения, как Microsoft Configuration Manager или сторонние средства, такие как JetPatch. Подробнее

Автоматическая установка и обновление дает решение, если:

  • В вашей организации не разрешена принудительная установка на защищенных серверах.
  • Политика вашей компании требует периодической смены паролей. Вы должны указать пароль для принудительной установки.
  • Ваша политика безопасности не разрешает добавлять исключения брандмауэра для определенных машин.
  • Вы действуете как поставщик услуг хостинга и не хотите предоставлять учетные данные клиентского компьютера, необходимые для принудительной установки с Site Recovery.
  • Вам необходимо масштабировать установку агентов на множество серверов одновременно.
  • Вы хотите запланировать установку и обновление во время плановых периодов обслуживания.

Необходимые компоненты

Для автоматизации установки вам потребуются следующие предметы:

Подготовьтесь к автоматическому развертыванию

В следующей таблице приведены инструменты и процессы для автоматизации развертывания службы Mobility Service.

Инструмент Сведения Инструкции
Configuration Manager 1. Убедитесь, что у вас есть перечисленные выше предварительные условия.

2. Разверните аварийное восстановление, настроив исходную среду, включая загрузку файла OVA для развертывания сервера конфигурации Site Recovery в качестве виртуальной машины VMware с использованием шаблона OVF.

3. Вы регистрируете сервер конфигурации в службе Site Recovery, настраиваете целевую среду Azure и настраиваете политику репликации.

4. Для автоматического развертывания Mobility Service вы создаете общий сетевой ресурс, содержащий парольную фразу сервера конфигурации и файлы установки Mobility Service.

5. Вы создаете пакет Configuration Manager, содержащий установку или обновления, и готовитесь к развертыванию Mobility Service.

6. Затем вы можете включить репликацию в Azure для машин, на которых установлена служба Mobility Service.
Автоматизация с помощью Configuration Manager
JetPatch 1. Убедитесь, что у вас есть перечисленные выше предварительные условия.

2. Разверните аварийное восстановление, настроив исходную среду, включая загрузку и развертывание JetPatch Agent Manager для Azure Site Recovery в среде Site Recovery с использованием шаблона OVF.

3. Вы регистрируете сервер конфигурации в Site Recovery, настраиваете целевую среду Azure и настраиваете политику репликации.

4. Для автоматического развертывания инициализируйте и завершите настройку JetPatch Agent Manager.

5. В JetPatch вы можете создать политику Site Recovery для автоматизации развертывания и обновления агента Mobility Service.

6. Затем вы можете включить репликацию в Azure для машин, на которых установлена служба Mobility Service.
Автоматизация с помощью JetPatch Agent Manager

Устранение неполадок при установке агента в JetPatch

Автоматизация с помощью Configuration Manager

Подготовьте установочные файлы

  1. Убедитесь, что у вас есть все необходимые условия.

  2. Создайте безопасный сетевой файловый ресурс (общий ресурс SMB), к которому может получить доступ машина, на которой запущен сервер конфигурации.

  3. В Configuration Manager классифицируйте серверы, на которых вы хотите установить или обновить Mobility Service. Одна коллекция должна содержать все серверы Windows, другая — все серверы Linux.

  4. На сетевом ресурсе создайте папку:

    • Для установки на компьютерах с Windows создайте папку с именем MobSvcWindows.
    • Для установки на машины Linux создайте папку с именем MobSvcLinux.
  5. Войдите на компьютер сервера конфигурации.

  6. На компьютере с сервером конфигурации откройте административную командную строку.

  7. Чтобы сгенерировать файл парольной фразы, выполните эту команду:

    cd %ProgramData%\ASR\home\svsystems\bin
    genpassphrase.exe -v > MobSvc.passphrase
    
  8. Скопируйте файл MobSvc.passphrase в папку Windows и папку Linux.

  9. Чтобы перейти к папке, содержащей установочные файлы, выполните эту команду:

    cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
    
  10. Скопируйте эти установочные файлы в общий сетевой ресурс:

    • Для Windows скопируйте Microsoft-Microsoft-ASR_UA_version_Windows_GA_date_Release.exe в MobSvcWindows.
    • Для Linux скопируйте следующие файлы в 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. Как описано в следующих процедурах, скопируйте код в папки Windows или Linux. Мы предполагаем, что:

    • IP-адрес сервера конфигурации — 192.168.3.121.
    • Файловый ресурс защищенной сети — \\ContosoSecureFS\MobilityServiceInstallers.

Скопируйте код в папку Windows

Скопируйте следующий код:

  • Сохраните код в папке MobSvcWindows как install.bat.
  • Замените заполнители [CSIP] в этом скрипте фактическими значениями IP-адреса вашего сервера конфигурации.
  • Сценарий поддерживает новые установки агента Mobility Service и обновления уже установленных агентов.
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

Скопируйте код в папку Linux

Скопируйте следующий код:

  • Сохраните код в папке MobSvcLinux как install_linux.sh.
  • Замените заполнители [CSIP] в этом скрипте фактическими значениями IP-адреса вашего сервера конфигурации.
  • Сценарий поддерживает новые установки агента Mobility Service и обновления уже установленных агентов.
#!/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

Создание пакета

  1. Войдите в консоль Configuration Manager и перейдите в раздел Библиотека программного обеспечения>Управление приложениями>Пакеты.

  2. Щелкните правой кнопкой мыши Пакеты>Создать пакет.

  3. Предоставьте подробную информацию о пакете, включая имя, описание, производителя, язык и версию.

  4. Выберите Этот пакет содержит исходные файлы.

  5. Щелкните Обзор и выберите общий сетевой ресурс и папку, содержащую соответствующий установщик (MobSvcWindows или MobSvcLinux). Затем выберите Далее.

    Снимок экрана с мастером создания пакета и программы

  6. На странице Выберите тип программы, которую вы хотите создать, выберите Стандартная программа>Далее.

    Снимок экрана: мастер создания пакетов и программ, показывающий параметр

  7. На странице Укажите информацию об этой стандартной программе укажите следующие значения:

    Параметр Значение Windows Значение Linux
    Имя Установка Microsoft Azure Mobility Service (Windows) Установите Microsoft Azure Mobility Service (Linux).
    Командная строка install.bat ./install_linux.sh
    Программа может работать Независимо от входа пользователя в систему Независимо от входа пользователя в систему
    Другие параметры Использовать настройку по умолчанию Использовать настройку по умолчанию

    Снимок экрана, на котором показана информация, которую вы можете указать для стандартной программы.

  8. В разделе Укажите требования к этой стандартной программе выполните следующие задачи:

    • Для компьютеров Windows выберите Эта программа может работать только на указанных платформах. Затем выберите поддерживаемые операционные системы Windows и нажмите Далее.
    • Для компьютеров Linux выберите Эта программа может работать на любой платформе. Затем выберите Далее.
  9. Завершите работу мастера.

Развертывание пакета

  1. В консоли Configuration Manager щелкните пакет правой кнопкой мыши и выберите Распространить содержимое.

    Снимок экрана с консолью Configuration Manager

  2. Выберите точки распространения, на которые следует скопировать эти пакеты. Подробнее.

  3. Завершите работу мастера. Теперь пакет будет реплицироваться на выбранные точки распространения.

  4. После завершения распространения пакета щелкните пакет правой кнопкой мыши >Развернуть.

    Снимок экрана консоли Configuration Manager, на котором показан параметр меню

  5. Выберите коллекцию устройств Windows или Linux, которую вы создали ранее.

  6. На странице Укажите место назначения содержимого выберите Точки распространения.

  7. На странице Укажите параметры для управления развертыванием этого программного обеспечения установите для параметра Назначение значение Требуется.

    Снимок экрана с мастером развертывания программного обеспечения

  8. В разделе Укажите расписание для этого развертывания настройте расписание. Подробнее.

    • Служба Mobility Service устанавливается в соответствии с указанным вами расписанием.
    • Чтобы избежать лишних перезагрузок, запланируйте установку пакета на период ежемесячного обслуживания или обновления программного обеспечения.
  9. На странице Точки распространения настройте параметры и завершите работу мастера.

  10. Следите за ходом развертывания в консоли Configuration Manager. Последовательно выберите пункты Мониторинг>Развертывания><[имя пакета]>.

Удаление службы Mobility Service

Вы можете создавать пакеты Configuration Manager для удаления Mobility Service. Например, следующий сценарий удаляет службу Mobility Service:

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

Следующие шаги

Включение репликации для виртуальных машин.