أتمتة تثبيت 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.
- تحتاج إلى توسيع نطاق عمليات تثبيت الوكيل إلى الكثير من الخوادم في وقت واحد.
- تريد جدولة عمليات التثبيت والتحديثات في نوافذ الصيانة المخطط لها.
المتطلبات الأساسية
تحتاج إلى العناصر التالية لأتمتة التثبيت:
- حل تثبيت برنامج تم نشره مثل Configuration Manager أو JetPatch.
- المتطلبات الأساسية للنشر في مكانها في Azure ومحلياً لإصلاح VMware بعد الكارثة، أو لإصلاح الخادم الفعلي بعد الكارثة. راجع المتطلبات الأساسية للدعم لإصلاح القدرة على العمل بعد الكارثة.
الاستعداد للنشر التلقائي
يلخص الجدول التالي الأدوات والعمليات الخاصة بأتمتة نشر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
إعداد ملفات التثبيت
تأكد من توفر المتطلبات الأساسية لديك.
قم بإنشاء مشاركة ملف شبكة آمنة (مشاركة 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-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 وانتقل إلى Software Library>Application Management>Packages.
انقر بزر الماوس الأيمن فوق Packages>Create Package.
قدِّم تفاصيل الحزمة بما في ذلك الاسم والوصف والشركة المصنعة واللغة والإصدار.
حددThis package contains source files.
انقر فوق Browse، وحدد مشاركة الشبكة والمجلد الذي يحتوي على المثبت ذي الصلة (MobSvcWindows أو MobSvcLinux). ثم حدد التالي.
في صفحة Choose the program type that you want to create، حدد Standard Program>Next.
في صفحة Specify information about this standard program، حدد القيم التالية:
المعلمة قيمة Windows قيمة Linux الاسم تثبيت Microsoft Azure Mobility Service (Windows) تثبيت Microsoft Azure Mobility Service (Linux). سطر الأوامر install.bat ./install_linux.sh يمكن تشغيل البرنامج سواء تم تسجيل دخول المستخدم أم لا سواء تم تسجيل دخول المستخدم أم لا معلمات أخرى استخدام الإعداد الافتراضي استخدام الإعداد الافتراضي في 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. بعد ذلك حدد التالي.
إنه المعالج.
نشر الحزمة
في وحدة تحكم Configuration Manager، انقر بزر الماوس الأيمن فوق الحزمة وحدد Distribute Content.
حدد نقاط التوزيع التي يجب نسخ الحزم عليها. اعرف المزيد.
أكمل المعالج. وتبدأ الحزمة بعد ذلك في النسخ المتماثل إلى نقاط التوزيع المحددة.
بعد انتهاء توزيع الحزمة، انقر بزر الماوس الأيمن فوق الحزمة >Deploy.
حدد مجموعة أجهزة Windows أو Linux التي أنشأتها مسبقاً.
في صفحة Specify the content destination، حدد Distribution Points.
في صفحة Specify settings to control how this software is deployed، عيّن Purpose على Required.
في Specify the schedule for this deployment، قم بإعداد جدول. اعرف المزيد.
- يتم تثبيت Mobility Service وفقاً للجدول الذي تحدده.
- لتجنب عمليات إعادة التشغيل غير الضرورية، قم بجدولة تثبيت الحزمة أثناء نافذة الصيانة الشهرية أو نافذة تحديثات البرامج.
في صفحة Distribution Points، قم بتكوين الإعدادات وإنهاء المعالج.
مراقبة تقدم النشر في وحدة تحكم 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
الخطوات التالية
تمكين النسخ المتماثل للأجهزة الظاهرية.