أتمتة تثبيت Mobility Service

تنبيه

تشير هذه المقالة إلى CentOS، وهو توزيع Linux هو حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.

توضح هذه المقالة كيفية أتمتة التثبيت والتحديثات لعامل Mobility Service في Azure Site Recovery.

عندما تقوم بنشر "Site Recovery" للإصلاح بعد كارثة في الأجهزة الظاهرية VMware المحلية والخوادم الفعلية إلى Azure، فإنك تقوم بتثبيت وكيل Mobility Service على كل جهاز تريد نسخه. تسجل Mobility Service البيانات التي يتم كتابتها على الجهاز، وتعيد توجيهها إلى خادم عملية "Site Recovery" للنسخ المتماثل. يمكنك نشر Mobility Service بعدة طرق:

  • التثبيت الفوري: اسمح لـSite Recovery بتثبيت وكيل Mobility service عند تمكين النسخ المتماثل لجهاز في مدخل Microsoft Azure.
  • التثبيت اليدوي: قم بتثبيت Mobility service يدوياً على كل جهاز. تعرف على المزيد عن التثبيت الفوري واليدوي.
  • النشر التلقائي: أتمتة التثبيت باستخدام أدوات توزيع البرامج مثل Microsoft Configuration Manager أو أدوات الجهات الخارجية مثل JetPatch. معرفة المزيد

يوفر التثبيت والتحديث التلقائي حلاً إذا:

  • لا تسمح مؤسستك بالتثبيت الفوري على الخوادم المحمية.
  • تتطلب نهج شركتك تغيير كلمات المرور بشكل دوري. يجب عليك تحديد كلمة مرور للتثبيت الفوري.
  • لا يسمح نهج الأمان الخاصة بك بإضافة استثناءات جدار الحماية لأجهزة معينة.
  • أنت تعمل كموفر خدمة استضافة ولا تريد تقديم بيانات اعتماد جهاز العميل اللازمة للتثبيت الفوري باستخدام Site Recovery.
  • تحتاج إلى توسيع نطاق عمليات تثبيت الوكيل إلى الكثير من الخوادم في وقت واحد.
  • تريد جدولة عمليات التثبيت والتحديثات في نوافذ الصيانة المخطط لها.

المتطلبات الأساسية

تحتاج إلى العناصر التالية لأتمتة التثبيت:

الاستعداد للنشر التلقائي

يلخص الجدول التالي الأدوات والعمليات الخاصة بأتمتة نشرMobility Service.

الأداة التفاصيل تعليمات
مدير التكوين 1. تحقق من امتلاكك المتطلبات الأساسية المذكورة أعلاه في مكانها.

2. انشر الإصلاح بعد كارثة عن طريق إعداد البيئة المصدر، بما في ذلك تنزيل ملف OVA لنشر خادم تكوين "Site Recovery" كجهاز ظاهري VMware باستخدام قالب OVF.

3. تقوم بتسجيل خادم التكوين مع خدمة Site Recovery، وإعداد بيئة Azure المستهدفة، وتكوين نهج النسخ المتماثل.

4. لنشر خدمة Mobility تلقائياً، يمكنك إنشاء مشاركة شبكة تحتوي على عبارة مرور خادم التكوين وملفات تثبيت Mobility Service.

5. تقوم بإنشاء حزمة مدير التكوين تحتوي على التثبيت أو التحديثات، والاستعداد لنشر 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، يمكنك إنشاء سياسة استرداد الموقع لأتمتة نشر عامل 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-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 وانتقل إلى Software Library>Application Management>Packages.

  2. انقر بزر الماوس الأيمن فوق Packages>Create Package.

  3. قدِّم تفاصيل الحزمة بما في ذلك الاسم والوصف والشركة المصنعة واللغة والإصدار.

  4. حددThis package contains source files.

  5. انقر فوق Browse، وحدد مشاركة الشبكة والمجلد الذي يحتوي على المثبت ذي الصلة (MobSvcWindows أو MobSvcLinux). ثم حدد التالي.

    لقطة شاشة لمعالج إنشاء حزمة وبرنامج

  6. في صفحة Choose the program type that you want to create، حدد Standard Program>Next.

    لقطة شاشة لمعالج إنشاء حزمة وبرنامج يعرض خيار البرنامج القياسي.

  7. في صفحة Specify information about this standard program، حدد القيم التالية:

    المعلمة‬ قيمة Windows قيمة Linux
    الاسم تثبيت Microsoft Azure Mobility Service (Windows) تثبيت Microsoft Azure Mobility Service (Linux).
    سطر الأوامر install.bat ./install_linux.sh
    يمكن تشغيل البرنامج سواء تم تسجيل دخول المستخدم أم لا سواء تم تسجيل دخول المستخدم أم لا
    معلمات أخرى استخدام الإعداد الافتراضي استخدام الإعداد الافتراضي

    لقطة شاشة تعرض المعلومات التي يمكنك تحديدها للبرنامج القياسي.

  8. في Specify the requirements for this standard program، نفذ المهام التالية:

    • بالنسبة لأجهزة Windows، حدد This program can run only on specified platforms. بعد ذلك، حدد أنظمة تشغيل Windows المدعومة وحدد Next.
    • بالنسبة لأجهزة Linux، حدد This program can run on any platform. بعد ذلك حدد التالي.
  9. إنه المعالج.

نشر الحزمة

  1. في وحدة تحكم Configuration Manager، انقر بزر الماوس الأيمن فوق الحزمة وحدد Distribute Content.

    لقطة شاشة لوحدة تحكم Configuration Manager

  2. حدد نقاط التوزيع التي يجب نسخ الحزم عليها. اعرف المزيد.

  3. أكمل المعالج. وتبدأ الحزمة بعد ذلك في النسخ المتماثل إلى نقاط التوزيع المحددة.

  4. بعد انتهاء توزيع الحزمة، انقر بزر الماوس الأيمن فوق الحزمة >Deploy.

    لقطة شاشة لوحدة تحكم Configuration Manager تعرض خيار القائمة Deploy.

  5. حدد مجموعة أجهزة Windows أو Linux التي أنشأتها مسبقاً.

  6. في صفحة Specify the content destination، حدد Distribution Points.

  7. في صفحة Specify settings to control how this software is deployed، عيّن Purpose على Required.

    لقطة شاشة لمعالج نشر البرامج

  8. في Specify the schedule for this deployment، قم بإعداد جدول. اعرف المزيد.

    • يتم تثبيت Mobility Service وفقاً للجدول الذي تحدده.
    • لتجنب عمليات إعادة التشغيل غير الضرورية، قم بجدولة تثبيت الحزمة أثناء نافذة الصيانة الشهرية أو نافذة تحديثات البرامج.
  9. في صفحة Distribution Points، قم بتكوين الإعدادات وإنهاء المعالج.

  10. مراقبة تقدم النشر في وحدة تحكم Configuration Manager. انتقل إلى Monitoring>Deployments><your package name>.

إلغاء تثبيت 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

الخطوات التالية

تمكين النسخ المتماثل للأجهزة الظاهرية.