قم بعمل نسخة احتياطية من مشاركة ملف Azure باستخدام PowerShell

توضح هذه المقالة كيفية استخدام Azure PowerShell لإجراء نسخ احتياطي لمشاركة ملف Azure Files من خلال مخزن خدمات الاسترداد ⁧⁩Azure Backup⁧⁩.

تشرح هذه المقالة كيفية:

  • إعداد PowerShell وتسجيل موفر خدمات الاسترداد.
  • إنشاء خازنة خدمات الاسترداد.
  • تكوين نسخة احتياطية لمشاركة ملف Azure.
  • تشغيل مهمة النسخ الاحتياطي.

قبل البدء

  • ⁩ تعرف على المزيد ⁧⁩ حول مخازن خدمات الاسترداد.

  • راجع مرجع Az.RecoveryServices ⁧⁩ cmdlet ⁧⁩ في مكتبة Azure.

  • راجع التسلسل الهرمي لكائن PowerShell التالي لخدمات الاسترداد:

    التسلسل الهرمي لكائن

قم بإعداد PowerShell

ملاحظة

نوصي باستخدام وحدة Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

ملاحظة

لا يدعم Azure PowerShell حالياً نُهج النسخ الاحتياطي مع جدول كل ساعة. الرجاء استخدام مدخل Microsoft Azure للاستفادة من هذه الميزة. معرفة المزيد

قم بإعداد PowerShell على النحو التالي:

  1. ⁩ قم بتنزيل أحدث إصدار من Azure PowerShell ⁧⁩.

    ملاحظة

    الحد الأدنى من إصدار PowerShell المطلوب للنسخ الاحتياطي لمشاركات ملف Azure هو Az.RecoveryServices 2.6.0. يساعدك استخدام أحدث إصدار، أو على الأقل الإصدار الأدنى، في تجنب المشكلات المتعلقة بالبرامج النصية الموجودة. قم بتثبيت الإصدار الأدنى باستخدام أمر PowerShell التالي:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. ابحث عن أوامر cmdlets في PowerShell للنسخ الاحتياطي في Azure باستخدام هذا الأمر:

    Get-Command *azrecoveryservices*
    
  3. راجع الأسماء المستعارة وأوامر cmdlets للنسخ الاحتياطي Azure وAzure Site Recovery ومخزن خدمات الاسترداد. هذا مثال لما قد تراه. إنها ليست قائمة كاملة بأوامر cmdlets.

    قائمة أوامر cmdlets لخدمات الاسترداد

  4. سجّل الدخول إلى حسابك في Azure باستخدام ⁧⁩ Connect-AzAccount ⁧⁩.

  5. في صفحة الويب التي تظهر، يُطلب منك إدخال بيانات اعتماد حسابك.

    بدلًا من ذلك، يمكنك تضمين بيانات اعتماد حسابك كمعامل في الأمر cmdlet ⁧⁩ Connect-AzAccount ⁧⁩ باستخدام ⁧⁩ -Credential ⁧⁩.

    إذا كنت أحد شركاء CSP وتعمل نيابة عن المستأجر، فحدد العميل كمستأجر. استخدم معرف المستأجر أو اسم المجال الأساسي للمستأجر. مثال على ذلك ⁧⁩ Connect-AzAccount -Tenant "fabrikam.com" ⁧⁩.

  6. إقران الاشتراك الذي تريد استخدامه بالحساب؛ لأن الحساب يمكن أن يحتوي على عدة اشتراكات:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. إذا كنت تستخدم Azure Backup للمرة الأولى، فاستخدم الأمر cmdlet ⁧⁩ Register-AzResourceProvider ⁧⁩ لتسجيل موفر Azure Recovery Services مع اشتراكك:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. تحقق من تسجيل مقدمي الخدمة بنجاح:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. في إخراج الأمر، تحقق من أن ⁧⁩ RegistrationState ⁧⁩ يتغير إلى ⁧⁩ Registered ⁧⁩. إذا لم يتم ذلك، فقم بتشغيل الأمر cmdlet ⁧⁩ Register-AzResourceProvider ⁧⁩ مرة أخرى.

إنشاء خازنة خدمات الاسترداد

يعد مخزن خدمات الاسترداد أحد موارد إدارة الموارد؛ لذا يجب وضعه في مجموعة موارد. يمكنك استخدام مجموعة موارد موجودة، أو يمكنك إنشاء مجموعة موارد باستخدام الأمر cmdlet ⁧⁩ New-AzResourceGroup ⁧⁩. عند إنشاء مجموعة موارد، حدد اسمها وموقعها.

اتبع هذه الخطوات لإنشاء مخزن خدمات الاسترداد:

  1. إذا لم يكن لديك مجموعة موارد حالية، فأنشئ مجموعة جديدة باستخدام الأمر cmdlet ⁧⁩ New-AzResourceGroup ⁧⁩. في هذا المثال، نقوم بإنشاء مجموعة موارد في منطقة غرب الولايات المتحدة:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. استخدم الأمر cmdlet ⁧⁩ New-AzRecoveryServicesVault ⁧⁩ لإنشاء المخزن. حدد نفس الموقع للمخزن الذي استخدمته لمجموعة الموارد.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    

عرض الخزائن في الاشتراك

لعرض جميع المخازن في الاشتراك، استخدم ⁧⁩ Get-AzRecoveryServicesVault ⁧⁩:

Get-AzRecoveryServicesVault

الإخراج مشابه لما يلي. لاحظ أن المخرجات توفر مجموعة الموارد والموقع المرتبطين.

Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

اضبط سياق الخزنة

قم بتخزين كائن vault في متغير، وقم بتعيين سياق vault.

تتطلب العديد من أوامر cmdlets في Azure Backup كائن مخزن خدمات الاسترداد كإدخال؛ لذلك من الملائم تخزين كائن المخزن في متغير.

سياق المخزن هو نوع البيانات المحمية في الخزنة. قم بتعيينه باستخدام ⁧⁩ Set-AzRecoveryServicesVaultContext ⁧⁩. بعد تعيين السياق، يتم تطبيقه على كافة أوامر cmdlets اللاحقة.

يعيّن المثال التالي سياق Vault لـ ⁧⁩ testvault ⁧⁩:

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

إحضار معرف الخزنة

نخطط لإيقاف إعداد سياق المخزن وفقًا لإرشادات Azure PowerShell. بدلًا من ذلك، يمكنك تخزين أو جلب معرف الخزنة، وتمريره إلى الأوامر ذات الصلة. إذا لم تقم بتعيين سياق المخزن أو تريد تحديد الأمر للتشغيل لخزنة معينة، فمرر معرف المخزن كـ ⁧-vaultID⁩ لجميع الأوامر ذات الصلة على النحو التالي:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID

تكوين نهج النسخ الاحتياطي

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

يرتبط نهج النسخ الاحتياطي بنهج احتفاظ واحد على الأقل. يحدد نهج الاستبقاء مدة الاحتفاظ بنقطة الاسترداد قبل حذفها. يمكنك تكوين النسخ الاحتياطية مع الاحتفاظ اليومي أو الأسبوعي أو الشهري أو السنوي. مع نهج النسخ الاحتياطية المتعددة، يمكنك أيضاً تكوين الاحتفاظ بالنسخ الاحتياطية كل ساعة.

اختر نوع النهج:

فيما يلي بعض أوامر cmdlets لنُهج النسخ الاحتياطي:

بشكل افتراضي، يتم تحديد وقت البدء في كائن نهج الجدول. استخدم المثال التالي لتغيير وقت البدء إلى وقت البدء المطلوب. يجب أن يكون وقت البدء المطلوب بالتوقيت العالمي المتفق عليه (UTC). يفترض المثال أن وقت البدء المطلوب هو 01:00 صباحًا بالتوقيت العالمي المتفق عليه للنسخ الاحتياطية اليومية.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

هام

تحتاج إلى توفير وقت البدء بمضاعفات 30 دقيقة فقط. في المثال السابق، يمكن أن يكون "01:00:00" أو "02:30:00" فقط. لا يمكن أن يكون وقت البدء "01:15:00".

يخزن المثال التالي نهج الجدول ونهج الاستبقاء في المتغيرات. ثم تستخدم هذه المتغيرات كمعلمات لنهج جديدة (⁧⁩ NewAFSPolicy ⁧⁩). تأخذ ⁧⁩ NewAFSPolicy ⁧⁩ نسخة احتياطية يومية، وتحتفظ بها لمدة 30 يومًا.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol

الإخراج مشابه لما يلي:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewAFSPolicy           AzureFiles            AzureStorage              10/24/2019 1:30:00 AM

تمكين النسخ الاحتياطي

بعد تحديد نهج النسخ الاحتياطي، يمكنك تمكين الحماية لمشاركة ملف Azure باستخدام النهج.

استرجع نهج النسخ الاحتياطي

يمكنك جلب كائن النهج ذي الصلة باستخدام ⁧⁩ Get-AzRecoveryServicesBackupProtectionPolicy ⁧⁩. استخدم الأمر cmdlet هذا لعرض النُهج المرتبطة بنوع حمل العمل، أو للحصول على نهج محدد.

استرداد نهج لنوع حمل العمل

يسترد المثال التالي النُهج لنوع حمل العمل ⁧⁩ AzureFiles ⁧⁩:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

الإخراج مشابه لما يلي:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
dailyafs             AzureFiles         AzureStorage         1/10/2018 12:30:00 AM

ملاحظة

المنطقة الزمنية للحقل ⁧⁩ BackupTime ⁧⁩ في PowerShell هي بالتوقيت العالمي المتفق عليه. عندما يتم عرض وقت النسخ الاحتياطي في مدخل Microsoft Azure، يتم ضبط الوقت وفقًا لمنطقتك الزمنية المحلية.

استرجاع نهج محددة

تسترد النهج التالية نهج النسخ الاحتياطي المسماة ⁧⁩ dailyafs ⁧⁩:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

قم بتمكين الحماية وتطبيق النهج

تمكين الحماية باستخدام ⁧⁩ Enable-AzRecoveryServicesBackupProtection ⁧⁩. بعد ربط النهج بالمخزن، يتم تشغيل النسخ الاحتياطية وفقًا لجدول النهج.

يتيح المثال التالي الحماية لمشاركة ملف Azure testAzureFS في حساب التخزين testStorageAcct، مع نهج dailyafs:

Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol

ينتظر الأمر حتى تنتهي مهمة تكوين الحماية، ويعطي ناتجًا مشابهًا للمثال التالي:

WorkloadName       Operation            Status                 StartTime                                                                                                         EndTime                   JobID
------------             ---------            ------               ---------                                  -------                   -----
testAzureFS       ConfigureBackup      Completed            11/12/2018 2:15:26 PM     11/12/2018 2:16:11 PM     ec7d4f1d-40bd-46a4-9edb-3193c41f6bf6

لمزيد من المعلومات حول كيفية الحصول على قائمة بمشاركة الملفات لحساب التخزين، راجع ⁧⁩ هذه المقالة ⁧⁩.

ملاحظة مهمة: تحديد عنصر النسخ الاحتياطي

يوضح هذا القسم تغييرًا مهمًا في النسخ الاحتياطية لمشاركات ملفات Azure استعدادًا للإتاحة العامة.

أثناء تمكين نسخة احتياطية لمشاركات ملفات Azure، يمنح المستخدم العميل اسم مشاركة ملف كاسم الكيان، ويتم إنشاء عنصر نسخ احتياطي. اسم عنصر النسخ الاحتياطي هو معرف فريد تقوم خدمة Azure Backup بإنشائه. عادةً ما يكون المعرف اسمًا سهل الاستخدام. ولكن للتعامل مع سيناريو الحذف الناعم، حيث يمكن حذف مشاركة ملف وإنشاء مشاركة ملف أخرى بنفس الاسم، فإن الهوية الفريدة لمشاركة ملف Azure أصبحت الآن معرّفًا.

لمعرفة المعرف الفريد لكل عنصر، قم بتشغيل الأمر ⁧⁩ Get-AzRecoveryServicesBackupItem ⁧⁩ باستخدام عوامل التصفية ذات الصلة لـ ⁧⁩ backupManagementType ⁧⁩ و⁧⁩ WorkloadType ⁧⁩ للحصول على كافة العناصر ذات الصلة. ثم لاحظ حقل الاسم في استجابة / كائن PowerShell الذي تم إرجاعه.

نوصي بسرد العناصر ثم استرداد اسمها الفريد من حقل الاسم في الاستجابة. استخدم هذه القيمة لتصفية العناصر باستخدام معلمة ⁧⁩ الاسم ⁧⁩. وإلا، فاستخدم معلمة ⁧⁩ FriendlyName ⁧⁩ لاسترداد العنصر بمعرفه.

هام

تأكد من ترقية PowerShell إلى الإصدار الأدنى (Az.RecoveryServices 2.6.0) للنسخ الاحتياطية لمشاركات ملفات Azure. باستخدام هذا الإصدار، يتوفر عامل التصفية ⁧⁩ FriendlyName ⁧⁩ للأمر ⁧⁩ Get-AzRecoveryServicesBackupItem ⁧⁩.

قم بتمرير اسم مشاركة ملف Azure إلى معلمة ⁧⁩ FriendlyName ⁧⁩. إذا قمت بتمرير اسم مشاركة الملف إلى معلمة ⁧⁩ الاسم ⁧⁩، فإن هذا الإصدار يوجه تحذيرًا لتمرير الاسم إلى معلمة ⁧⁩ FriendlyName ⁧⁩.

قد يؤدي عدم تثبيت الإصدار الأدنى إلى فشل البرامج النصية الموجودة. قم بتثبيت الحد الأدنى من إصدار PowerShell باستخدام الأمر التالي:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

تشغيل نسخة احتياطية عند الطلب

استخدم ⁧⁩ Backup-AzRecoveryServicesBackupItem ⁧⁩ لتشغيل نسخة احتياطية عند الطلب لمشاركة ملف Azure المحمية:

  1. استرجع حساب التخزين من الحاوية في المخزن الذي يحتفظ ببيانات النسخ الاحتياطي باستخدام ⁧⁩ Get-AzRecoveryServicesBackupContainer ⁧⁩.
  2. لبدء مهمة نسخ احتياطي، احصل على معلومات حول مشاركة ملف Azure باستخدام ⁧⁩ Get-AzRecoveryServicesBackupItem ⁧⁩.
  3. قم بتشغيل نسخة احتياطية عند الطلب باستخدام ⁧⁩Backup-AzRecoveryServicesBackupItem⁧⁩.

قم بتشغيل النسخ الاحتياطي عند الطلب على النحو التالي:

$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job =  Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem

يقوم الأمر بإرجاع وظيفة بمعرف ليتم تعقبها، كما هو موضح في المثال التالي:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
testAzureFS       Backup               Completed            11/12/2018 2:42:07 PM     11/12/2018 2:42:11 PM     8bdfe3ab-9bf7-4be6-83d6-37ff1ca13ab6

يتم استخدام لقطات مشاركة ملف Azure أثناء عمل النسخ الاحتياطية. عادةً ما تنتهي المهمة في الوقت الذي يُرجع فيه الأمر هذا الإخراج.

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