モビリティ サービスのインストールを自動化する
注意事項
この記事では、サービス終了 (EOL) 状態の Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。
この記事では、Azure Site Recoveryで Mobility Service エージェントのインストールと更新を自動化する方法について説明します。
オンプレミスの VMware VM と物理サーバーのディザスター リカバリーのために Site Recovery を Azure に展開する場合、複製する各マシンに Mobility Service エージェントをインストールします。 モビリティサービスは、マシン上のデータ書き込みをキャプチャし、複製のために Site Recovery プロセスサーバーに転送します。 Mobility Service はいくつかの方法で展開できます。
- プッシュ インストール: Azure portal でマシンのレプリケーションを有効にするときに、Site Recovery に Mobility Service エージェントをインストールさせます。
- 手動インストール:各マシンにモビリティ サービスを手動でインストールします。 プッシュ インストールと手動インストールの詳細情報を参照してください。
- 自動デプロイ: Microsoft Configuration Manager などのソフトウェア デプロイ ツールや、JetPatch などのサード パーティ ツールで、インストールを自動化します。 詳細情報
インストールと更新を自動化することで、以下の場合の解決策が得られます。
- 組織で、保護されたサーバーへのプッシュ インストールが許可されない。
- 会社のポリシーで、パスワードを定期的に変更することが求められている。 プッシュ インストール用のパスワードを指定する必要がある。
- セキュリティ ポリシーで、特定のマシンにファイアウォール例外を追加することが許可されていない。
- ホスティング サービス プロバイダーとしてサービスを提供しており、Site Recovery を使用したプッシュ インストールに必要な顧客のマシン資格情報を提供したくない。
- エージェントのインストールを多数のサーバーに同時にスケーリングする必要があります。
- 計画メンテナンスの期間中にインストールとアップグレードをスケジュールしたい。
前提条件
インストールを自動化するには、次のアイテムが必要です。
- Configuration Manager や JetPatch などの、デプロイ済みのソフトウェア インストール ソリューション。
- Azure とオンプレミスで、VMware のディザスター リカバリー用、または物理サーバーのディザスター リカバリー用のデプロイの前提条件が満たされている。 ディザスター リカバリーのためのサポート要件を確認してください。
自動デプロイを準備する
次の表に、Mobility Service のデプロイを自動化するためのツールとプロセスをまとめます。
ツール | 詳細 | 手順 |
---|---|---|
構成マネージャー | 1.上記の前提条件が満たされていることを確認します。 2.ソース環境をセットアップ (OVF テンプレートを使用して Site Recovery 構成サーバーを VMware VM としてデプロイするための OVA ファイルのダウンロードなど) して、ディザスター リカバリーをデプロイします。 3.構成サーバーを Site Recovery サービスに登録し、ターゲット Azure 環境を設定して、レプリケーション ポリシーを構成します。 4.モビリティサービスの自動デプロイでは、構成サーバーのパスフレーズとモビリティサービスのインストールファイルを含むネットワーク共有を作成します。 5.インストールまたは更新を含む Configuration Manager パッケージを作成し、Mobility サービスのデプロイの準備を行います。 6.その後、Mobility Service がインストールされているマシンの Azure へのレプリケーションを有効にできます。 |
Configuration Manager で自動化 |
JetPatch | 1.上記の前提条件が満たされていることを確認します。 2.ソース環境をセットアップ (OVF テンプレートを使用して Azure Site Recovery 用の JetPatch Agent Manager を Site Recovery 環境にダウンロードしてデプロイするなど) して、ディザスター リカバリーをデプロイします。 3.構成サーバーを Site Recovery に登録し、ターゲット Azure 環境を設定して、レプリケーション ポリシーを構成します。 4.自動デプロイのために、JetPatch Agent Manager の構成を初期化して完了します。 5.JetPatch では、サイト回復ポリシーを作成して、Mobility サービスエージェントのデプロイとアップグレードを自動化できます。 6.その後、Mobility Service がインストールされているマシンの Azure へのレプリケーションを有効にできます。 |
JetPatch Agent Manager による自動化 JetPatch でのエージェントインストールのトラブルシューティング |
Configuration Manager を使用して自動化する
インストール ファイルを準備する
前提条件を満たしていることを確認します。
構成サーバーを実行しているマシンからアクセスできる、セキュリティで保護されたネットワーク ファイル共有 (SMB 共有) を作成します。
Configuration Manager で、モビリティサービスをインストールまたは更新するサーバーをカテゴリー化します。 1 つのコレクションにはすべての Windows サーバが含まれ、もう 1 つのコレクションにはすべての Linux サーバが含まれます。
ネットワーク共有で、次のフォルダーを作成します。
- Windows マシンにインストールする場合は、MobSvcWindows という名前のフォルダーを作成してください。
- Linux マシンにインストールする場合は、MobSvcLinux という名前のフォルダーを作成します。
構成サーバー マシンにサインインします。
構成サーバーマシンで、管理コマンド プロンプトを開きます。
パスフレーズファイルを生成するには、次のコマンドを実行します。
cd %ProgramData%\ASR\home\svsystems\bin genpassphrase.exe -v > MobSvc.passphrase
MobSvc をコピーします。パスフレーズ ファイルをWindows フォルダと Linux フォルダにコピーします。
インストールファイルを含むフォルダを参照するには、次のコマンドを実行します。
cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
これらのインストール ファイルをネットワーク共有にコピーします。
- Windows の場合、 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 デバイスのコレクションを選択します。
[コンテンツの配布先の指定] ページで [配布ポイント] を選択します。
[このソフトウェアの展開を制御する設定の指定] ページで、 [目的] を [必須] に設定します。
[この展開のスケジュールを指定します] でスケジュールを設定します。 詳細については、こちらを参照してください。
- モビリティサービスは、指定したスケジュールに従ってインストールされます。
- 不要な再起動を避けるためには、月次のメンテナンス期間中またはソフトウェアの更新期間中にパッケージのインストールをスケジュールします。
[配布ポイント] ページで、設定を構成し、ウィザードを完了します。
Configuration Manager コンソールでデプロイの進行状況を監視します。 監視>展開><パッケージ名> に移動します。
モビリティサービスをアンインストールする
Configuration Manager パッケージを作成して、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
次のステップ
VM のレプリケーションを有効にします。