البرنامج التعليمي: إدارة قواعد بيانات SAP Hana في Azure VM باستخدام Azure CLI
يتم استخدام Azure CLI لإنشاء موارد Azure وإدارتها من سطر الأوامر أو من خلال البرامج النصية. توضح هذه الوثائق بالتفصيل كيفية إدارة قاعدة بيانات SAP Hana التي تم نسخها احتياطياً على Azure VM - كل ذلك باستخدام Azure CLI. يمكنك أيضاً تنفيذ هذه الخطوات باستخدام مدخل Microsoft Azure.
استخدم Azure Cloud Shell لتشغيل أوامر CLI.
بحلول نهاية هذا البرنامج التعليمي، عليك أن تكون قادرًا على:
- مراقبة النسخ الاحتياطي واستعادة الوظائف
- حماية قواعد البيانات الجديدة المضافة إلى مثيل SAP Hana
- قم بتغيير السياسة
- توقف عن الحماية
- استئناف الحماية
إذا استخدمت نسخ قاعدة بيانات SAP Hana احتياطياً في Azure باستخدام CLI لنسخ قاعدة بيانات SAP Hana احتياطياً، فأنت تستخدم الموارد التالية:
- مجموعة موارد تسمى saphanaResourceGroup
- قبو باسم saphanaVault
- حاوية محمية باسم VMAppContainer؛ Compute؛ saphanaResourceGroup؛ saphanaVM
- قاعدة بيانات/عنصر تم نسخه احتياطياً باسم saphanadatabase؛ hxe؛ hxe
- الموارد في منطقة westus2
يعمل Azure CLI على تسهيل إدارة قاعدة بيانات SAP Hana التي تعمل على Azure VM الذي تم نسخه احتياطياً باستخدام Azure Backup. يوضح هذا البرنامج التعليمي تفاصيل كل من عمليات الإدارة.
ملاحظة
راجع مصفوفة دعم النسخ الاحتياطي لـ SAP HANA لمعرفة المزيد حول التكوينات والسيناريوهات المدعومة.
مراقبة النسخ الاحتياطي واستعادة الوظائف
لمراقبة المهام المكتملة أو قيد التشغيل حالياً (النسخ الاحتياطي أو الاستعادة)، استخدم الأمر"cmdlet" لقائمة مهام النسخ الاحتياطي من az. يتيح لك CLI أيضاً تعليق مهمة قيد التشغيل حالياً أو الانتظار حتى تكتمل المهمة.
az backup job list --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--output table
ستبدو المخرجات كما يلي:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed hxe 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed hxe [hxehost] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed hxe [hxehost] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed hxe [hxehost] 2019-12-03T05:44:51.081607+00:00
تغيير السياسة
لتغيير السياسة الأساسية لتكوين النسخ الاحتياطي لـ SAP Hana، استخدم cmdlet مجموعة سياسة النسخ الاحتياطي من az. تشير معلمة الاسم في أمر cmdlet هذا إلى عنصر النسخ الاحتياطي الذي نريد تغيير سياسته. بالنسبة لهذا البرنامج التعليمي، سنقوم باستبدال سياسة قاعدة بيانات SAP Hana saphanadatabase؛ hxe؛ hxe بسياسة جديدة newsaphanaPolicy. يمكن إنشاء سياسات جديدة باستخدام cmdlet سياسة النسخ الاحتياطي من az.
az backup item set policy --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
--policy-name newsaphanaPolicy \
--name saphanadatabase;hxe;hxe \
يجب أن يبدو الإخراج كما يلي:
Name Resource Group
------------------------------------- --------------
cb110094-9b15-4c55-ad45-6899200eb8dd SAPHANA
إنشاء سياسة نسخ احتياطي تزايدي
لإنشاء سياسة نسخ احتياطي تزايدي، قم بتنفيذ الأمر إنشاء سياسة النسخ الاحتياطي من az بالمعلمات التالية:
- -نوع إدارة النسخ الاحتياطي - عبء عمل Azure
- -نوع حمل العمل - SAPHana
- - الاسم - اسم السياسة
- -السياسة - ملف JSON بتفاصيل مناسبة للجدول الزمني والاحتفاظ
- --مجموعة الموارد - مجموعة موارد المخزن
- -اسم المخزن - اسم المخزن
مثال:
az backup policy create --resource-group saphanaResourceGroup --vault-name saphanaVault --name sappolicy --backup-management-type AzureWorkload --policy sappolicy.json --workload-type SAPHana
نموذج JSON (sappolicy.json):
"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/saphanaVault/backupPolicies/sappolicy",
"location": null,
"name": "sappolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"makePolicyConsistent": null,
"protectedItemsCount": 0,
"settings": {
"isCompression": false,
"issqlcompression": false,
"timeZone": "UTC"
},
"subProtectionPolicy": [
{
"policyType": "Full",
"retentionPolicy": {
"dailySchedule": null,
"monthlySchedule": {
"retentionDuration": {
"count": 60,
"durationType": "Months"
},
"retentionScheduleDaily": null,
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2021-01-19T00:30:00+00:00"
]
},
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
},
"retentionTimes": [
"2021-01-19T00:30:00+00:00"
]
},
"yearlySchedule": {
"monthsOfYear": [
"January"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
},
"retentionScheduleDaily": null,
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2021-01-19T00:30:00+00:00"
]
}
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2021-01-19T00:30:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
},
{
"policyType": "Incremental",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
},
{
"policyType": "Log",
"retentionPolicy": {
"retentionDuration": {
"count": 15,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"scheduleFrequencyInMins": 120,
"schedulePolicyType": "LogSchedulePolicy"
}
}
],
"workLoadType": "SAPHanaDatabase"
},
"resourceGroup": "saphanaResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
بمجرد إنشاء السياسة بنجاح، سيعرض إخراج الأمر سياسة JSON التي قمت بتمريرها كمعامل أثناء تنفيذ الأمر.
يمكنك تعديل القسم التالي من السياسة لتحديد تردد النسخ الاحتياطي المطلوب والاحتفاظ بالنسخ الاحتياطية المتزايدة.
على سبيل المثال:
{
"policyType": "Incremental",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
مثال:
إذا كنت ترغب في الحصول على نسخ احتياطية تزايدي فقط يوم السبت والاحتفاظ بها لمدة 60 يوماً، فقم بإجراء التغييرات التالية في السياسة:
- تحديث retentionDuration عد إلى 60 يوماً
- حدد يوم السبت فقط كـ ScheduleRunDays
{
"policyType": "Incremental",
"retentionPolicy": {
"retentionDuration": {
"count": 60,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
حماية قواعد البيانات الجديدة المضافة إلى مثيل SAP Hana
يؤدي تسجيل مثيل SAP Hana مع Recovery Services vault إلى اكتشاف جميع قواعد البيانات الموجودة في هذا المثيل تلقائياً.
ومع ذلك، في الحالات التي تتم فيها إضافة قواعد بيانات جديدة إلى مثيل SAP Hana لاحقاً، استخدم عنصر حماية النسخ الاحتياطي من az cmdlet. يكتشف هذا الأمر cmdlet قواعد البيانات الجديدة المضافة.
az backup protectable-item initialize --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
--workload-type SAPHANA
ثم استخدم الأمر cmdlet لقائمة العناصر القابلة للحماية من az للنسخ الاحتياطي من az لسرد جميع قواعد البيانات التي تم اكتشافها في مثيل SAP Hana الخاص بك. ومع ذلك، تستثني هذه القائمة قواعد البيانات التي تم تكوين النسخ الاحتياطي عليها بالفعل. بمجرد اكتشاف قاعدة البيانات المراد نسخها احتياطياً، راجع تمكين النسخ الاحتياطي على قاعدة بيانات SAP Hana.
az backup protectable-item list --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--workload-type SAPHANA \
--output table
ستظهر قاعدة البيانات الجديدة التي تريد نسخها احتياطياً في هذه القائمة، والتي ستبدو على النحو التالي:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
saphanasystem;hxe SAPHanaSystem HXE hxehost NotProtected
saphanadatabase;hxe;systemdb SAPHanaDatabase HXE hxehost NotProtected
saphanadatabase;hxe;newhxe SAPHanaDatabase HXE hxehost NotProtected
أوقف الحماية لقاعدة بيانات SAP Hana
يمكنك التوقف عن حماية قاعدة بيانات SAP Hana بطريقتين:
- أوقف جميع مهام النسخ الاحتياطي المستقبلية واحذف جميع نقاط الاسترداد.
- أوقف جميع مهام النسخ الاحتياطي المستقبلية واترك نقاط الاسترداد سليمة.
إذا اخترت ترك نقاط الاسترداد، فضع هذه التفاصيل في الاعتبار:
- ستبقى جميع نقاط الاسترداد سليمة إلى الأبد، وستتوقف جميع عمليات التقليم عند إيقاف الحماية مع الاحتفاظ بالبيانات.
- ستتم محاسبتك على المثيل المحمي والتخزين المستهلك.
- إذا حذفت مصدر بيانات دون إيقاف النسخ الاحتياطية، فستفشل النسخ الاحتياطية الجديدة.
دعونا نلقي نظرة على كل طريقة من طرق إيقاف الحماية بمزيد من التفصيل.
أوقف الحماية مع الاحتفاظ بالبيانات
لإيقاف الحماية مع الاحتفاظ بالبيانات، استخدم الأمر cmdlet تعطيل حماية النسخ الاحتياطي من az.
az backup protection disable --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
--item-name saphanadatabase;hxe;hxe \
--workload-type SAPHANA \
--output table
يجب أن يبدو الإخراج كما يلي:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 saphanaResourceGroup
للتحقق من حالة هذه العملية، استخدم الأمر cmdlet لمهمة النسخ الاحتياطي من az.
أوقف الحماية بدون الاحتفاظ بالبيانات
لإيقاف الحماية بدون الاحتفاظ بالبيانات، استخدم الأمر cmdlet تعطيل حماية النسخ الاحتياطي من az.
az backup protection disable --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
--item-name saphanadatabase;hxe;hxe \
--workload-type SAPHANA \
--delete-backup-data true \
--output table
يجب أن يبدو الإخراج كما يلي:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 saphanaResourceGroup
للتحقق من حالة هذه العملية، استخدم الأمر cmdlet لمهمة النسخ الاحتياطي من az.
استئناف الحماية
عند إيقاف حماية قاعدة بيانات SAP Hana مع الاحتفاظ بالبيانات، يمكنك استئناف الحماية لاحقاً. إذا لم تحتفظ بالبيانات التي تم نسخها احتياطياً، فلن تتمكن من استئناف الحماية.
لاستئناف الحماية، استخدم الأمر cmdlet لاستئناف حماية النسخ الاحتياطي من az.
az backup protection resume --resource-group saphanaResourceGroup \
--vault-name saphanaVault \
--container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
--policy-name saphanaPolicy \
--output table
يجب أن يبدو الإخراج كما يلي:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e saphanaResourceGroup
للتحقق من حالة هذه العملية، استخدم الأمر cmdlet لمهمة النسخ الاحتياطي من az.
الخطوات التالية
لمعرفة كيفية عمل نسخة احتياطية من قاعدة بيانات SAP Hana التي تعمل على Azure VM باستخدام مدخل Microsoft Azure، راجع قواعد بيانات SAP Hana الاحتياطية على Azure VMs
لمعرفة كيفية إدارة قاعدة بيانات SAP Hana التي تم نسخها احتياطياً والتي تعمل على Azure VM باستخدام مدخل Microsoft Azure، راجع إدارة قواعد بيانات SAP Hana التي تم نسخها احتياطياً على Azure VM