Автоматизация установки 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.
- Вам необходимо масштабировать установку агентов на множество серверов одновременно.
- Вы хотите запланировать установку и обновление во время плановых периодов обслуживания.
Необходимые компоненты
Для автоматизации установки вам потребуются следующие предметы:
- Развернутое решение для установки программного обеспечения, такое как Configuration Manager или JetPatch.
- Необходимые условия для развертывания в Azure и локально для аварийного восстановления VMware или аварийного восстановления физического сервера. Ознакомьтесь с требованиями к поддержке для аварийного восстановления.
Подготовьтесь к автоматическому развертыванию
В следующей таблице приведены инструменты и процессы для автоматизации развертывания службы 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
Подготовьте установочные файлы
Убедитесь, что у вас есть все необходимые условия.
Создайте безопасный сетевой файловый ресурс (общий ресурс SMB), к которому может получить доступ машина, на которой запущен сервер конфигурации.
В Configuration Manager классифицируйте серверы, на которых вы хотите установить или обновить Mobility Service. Одна коллекция должна содержать все серверы Windows, другая — все серверы Linux.
На сетевом ресурсе создайте папку:
- Для установки на компьютерах с Windows создайте папку с именем MobSvcWindows.
- Для установки на машины Linux создайте папку с именем MobSvcLinux.
Войдите на компьютер сервера конфигурации.
На компьютере с сервером конфигурации откройте административную командную строку.
Чтобы сгенерировать файл парольной фразы, выполните эту команду:
cd %ProgramData%\ASR\home\svsystems\bin genpassphrase.exe -v > MobSvc.passphrase
Скопируйте файл MobSvc.passphrase в папку Windows и папку Linux.
Чтобы перейти к папке, содержащей установочные файлы, выполните эту команду:
cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
Скопируйте эти установочные файлы в общий сетевой ресурс:
- Для 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
Как описано в следующих процедурах, скопируйте код в папки Windows или Linux. Мы предполагаем, что:
- IP-адрес сервера конфигурации —
192.168.3.121
. - Файловый ресурс защищенной сети —
\\ContosoSecureFS\MobilityServiceInstallers
.
- IP-адрес сервера конфигурации —
Скопируйте код в папку 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
Создание пакета
Войдите в консоль Configuration Manager и перейдите в раздел Библиотека программного обеспечения>Управление приложениями>Пакеты.
Щелкните правой кнопкой мыши Пакеты>Создать пакет.
Предоставьте подробную информацию о пакете, включая имя, описание, производителя, язык и версию.
Выберите Этот пакет содержит исходные файлы.
Щелкните Обзор и выберите общий сетевой ресурс и папку, содержащую соответствующий установщик (MobSvcWindows или MobSvcLinux). Затем выберите Далее.
На странице Выберите тип программы, которую вы хотите создать, выберите Стандартная программа>Далее.
На странице Укажите информацию об этой стандартной программе укажите следующие значения:
Параметр Значение Windows Значение Linux Имя Установка Microsoft Azure Mobility Service (Windows) Установите Microsoft Azure Mobility Service (Linux). Командная строка install.bat ./install_linux.sh Программа может работать Независимо от входа пользователя в систему Независимо от входа пользователя в систему Другие параметры Использовать настройку по умолчанию Использовать настройку по умолчанию В разделе Укажите требования к этой стандартной программе выполните следующие задачи:
- Для компьютеров Windows выберите Эта программа может работать только на указанных платформах. Затем выберите поддерживаемые операционные системы Windows и нажмите Далее.
- Для компьютеров Linux выберите Эта программа может работать на любой платформе. Затем выберите Далее.
Завершите работу мастера.
Развертывание пакета
В консоли Configuration Manager щелкните пакет правой кнопкой мыши и выберите Распространить содержимое.
Выберите точки распространения, на которые следует скопировать эти пакеты. Подробнее.
Завершите работу мастера. Теперь пакет будет реплицироваться на выбранные точки распространения.
После завершения распространения пакета щелкните пакет правой кнопкой мыши >Развернуть.
Выберите коллекцию устройств Windows или Linux, которую вы создали ранее.
На странице Укажите место назначения содержимого выберите Точки распространения.
На странице Укажите параметры для управления развертыванием этого программного обеспечения установите для параметра Назначение значение Требуется.
В разделе Укажите расписание для этого развертывания настройте расписание. Подробнее.
- Служба Mobility Service устанавливается в соответствии с указанным вами расписанием.
- Чтобы избежать лишних перезагрузок, запланируйте установку пакета на период ежемесячного обслуживания или обновления программного обеспечения.
На странице Точки распространения настройте параметры и завершите работу мастера.
Следите за ходом развертывания в консоли 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
Следующие шаги
Включение репликации для виртуальных машин.