قم بنشر النسخة الاحتياطية وإدارتها في Azure for Windows Server / Windows Client باستخدام PowerShell

توضح لك هذه المقالة كيفية استخدام PowerShell لإعداد Azure Backup على Windows Server أو عميل Windows، وإدارة النسخ الاحتياطي والاسترداد.

تثبيت برنامج Azure PowerShell

إشعار

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

للبدء، ثبّت أحدث إصدار من PowerShell .

أنشئ مخزن خدمات الاسترداد

تقودك الخطوات التالية خلال إنشاء خازنة خدمات الاسترداد. تختلف خازنة خدمات الاسترداد عن خازنة النسخ الاحتياطي.

  1. إذا كنت تستخدم النسخ الاحتياطي Azure للمرة الأولى، يجب استخدام Register-AzResourceProvider للأمر cmdlet لتسجيل موفر خدمة استرداد Azure مع اشتراكك.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. مخزن خدمات الاسترداد هو أحد موارد Azure Resource Manager، لذلك تحتاج إلى وضعه ضمن مجموعة الموارد. يمكنك استخدام مجموعة موارد موجودة، أو إنشاء مجموعة جديدة. عند إنشاء مجموعة موارد جديدة، حدد الاسم والموقع لمجموعة الموارد.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. استخدم الأمر cmdlet New-AzRecoveryServicesVault لإنشاء المخزن الجديد. تأكد من تحديد نفس الموقع للمخزن الذي تم استخدامه لمجموعة الموارد.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. حدد نوع سعة التخزين المراد استخدامها. يمكنك استخدام التخزين المحلي الزائد (LRS) أو التخزين المتكرر الجغرافي (GRS) أو التخزين الزائد في المنطقة (ZRS) . يوضح المثال التالي الخيار -BackupStorageRedundancy لـ testVault المعين على GeoRedundant .

    تلميح

    تتطلب العديد من Azure Backup cmdlets عنصر خازنة Recovery Services للإدخال. لهذا السبب، من الملائم تخزين كائن قبو خدمات الاسترداد الاحتياطي في متغير.

    $Vault1 = Get-AzRecoveryServicesVault –Name "testVault"
    Set-AzRecoveryServicesBackupProperties -Vault $Vault1 -BackupStorageRedundancy GeoRedundant
    

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

استخدم Get-AzRecoveryServicesVault لعرض قائمة بجميع الخزائن في الاشتراك الحالي. يمكنك استخدام هذا الأمر للتحقق من إنشاء قبو جديد، أو لمعرفة الخزائن المتوفرة في الاشتراك.

قم بتشغيل الأمر، 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

قم بترقية عامل MARS

تعتمد إصدارات عامل خدمات استرداد Microsoft Azure (MARS) الأقل من 2.0.9083.0 على خدمة Azure Access Control. يُشار إلى عامل MARS أيضاً باسم Azure Backup Agent.

في عام 2018، أوقفت Microsoft خدمة Azure Access Control. اعتباراً من 19 مارس 2018، ستواجه جميع إصدارات عامل MARS الأقل من 2.0.9083.0 إخفاقات في النسخ الاحتياطي. لتجنب فشل حالات النسخ الاحتياطي أو إيجاد حل لها، قم بترقية عامل MARS الخاص بك إلى أحدث إصدار. لتحديد الخوادم التي تتطلب ترقية عامل MARS، اتبع الخطوات الواردة في ترقية عامل Microsoft Azure Recovery Services (MARS).

يتم استخدام عامل MARS لإجراء نسخ احتياطي للملفات والمجلدات وبيانات حالة النظام إلى Azure. يستخدم System Center DPM وAzure Backup Server عامل MARS لنسخ البيانات احتياطياً إلى Azure.

تثبيت عامل Azure Backup

قبل تثبيت وكيل Azure Backup، تحتاج إلى تنزيل المثبت وتقديمه على Windows Server. يمكنك الحصول على أحدث إصدار من المثبت من مركز التنزيل لـ Microsoft أو من صفحة لوحة التحكم في Recovery Services vault. احفظ المثبت في موقع يسهل الوصول إليه مثل C:\Downloads\*.

بدلاً من ذلك، استخدم PowerShell للحصول على أداة التنزيل:

$MarsAURL = 'https://aka.ms/Azurebackup_Agent'
$WC = New-Object System.Net.WebClient
$WC.DownloadFile($MarsAURL,'C:\downloads\MARSAgentInstaller.exe')
C:\Downloads\MARSAgentInstaller.exe /q

لتثبيت الوكيل، قم بتشغيل الأمر التالي في وحدة تحكم PowerShell مرتفعة:

MARSAgentInstaller.exe /q

يؤدي هذا إلى تثبيت الوكيل بجميع الخيارات الافتراضية. يستغرق التثبيت بضع دقائق في الخلفية. إذا لم تحدد الخيار / nu ، فسيتم فتح نافذة Windows Update في نهاية التثبيت للتحقق من وجود أي تحديثاًت. بمجرد التثبيت، سيظهر الوكيل في قائمة البرامج المثبتة.

للاطلاع على قائمة البرامج المثبتة، انتقل إلى لوحة التحكم > البرامج > البرامج والميزات .

تم تثبيت الوكيل

خيارات التثبيت

لمشاهدة جميع الخيارات المتاحة عبر سطر الأوامر، استخدم الأمر التالي:

MARSAgentInstaller.exe /?

تتضمن الخيارات المتاحة الآتي:

خيار التفاصيل الإعداد الافتراضي
/ ف التثبيت الهادئ -
/ p: "الموقع" المسار إلى مجلد التثبيت لعامل النسخ الاحتياطي Azure. C: \ Program Files \ Microsoft Azure Recovery Services Agent
/ s: "الموقع" المسار إلى مجلد ذاكرة التخزين المؤقت لعامل النسخ الاحتياطي Azure. C: \ Program Files \ Microsoft Azure Recovery Services Agent \ Scratch
/ م الاشتراك في Microsoft Update -
/ نو لا تتحقق من وجود تحديثاًت بعد اكتمال التثبيت -
يقوم بإلغاء تثبيت عامل خدمات استرداد Microsoft Azure -
/ فتاه عنوان مضيف الوكيل -
/ ص رقم منفذ مضيف الوكيل -
/ بو اسم مستخدم مضيف الوكيل -
/ ع كلمة مرور الوكيل -

تسجيل جهاز عميل Windows Server أو Windows في مخزن خدمات الاسترداد

بعد إنشاء مخزن خدمات الاسترداد، قم بتنزيل أحدث وكيل وبيانات اعتماد المخزن وتخزينه في مكان مناسب مثل C: \ Downloads.

$CredsPath = "C:\downloads"
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault1 -Path $CredsPath

التسجيل باستخدام الوحدة النمطية PowerShell Az

إشعار

تم إصلاح خطأ في إنشاء شهادة المخزن في إصدار Az 3.5.0. استخدم إصدار Az 3.5.0 أو إصدار أحدث لتنزيل شهادة Vault.

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

$dt = $(Get-Date).ToString("M-d-yyyy")
$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -FriendlyName 'test-vaultcredentials' -subject "Windows Azure Tools" -KeyExportPolicy Exportable -NotAfter $(Get-Date).AddHours(48) -NotBefore $(Get-Date).AddHours(-24) -KeyProtection None -KeyUsage None -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2") -Provider "Microsoft Enhanced Cryptographic Provider v1.0"
$certficate = [convert]::ToBase64String($cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pfx))
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault -Path $CredsPath -Certificate $certficate

على جهاز عميل Windows Server أو Windows، قم بتشغيل الأمر cmdlet Start-OBRegistration لتسجيل الجهاز في المخزن. هذا، وأوامر cmdlets الأخرى المستخدمة للنسخ الاحتياطي، هي من الوحدة النمطية MSONLINE، والتي أضافها MARS AgentInstaller كجزء من عملية التثبيت.

لا يقوم برنامج تثبيت العامل بتحديث المتغير $ Env: PSModulePath. هذا يعني فشل التحميل التلقائي للوحدة. لحل هذه المشكلة، يمكنك القيام بما يلي:

$Env:PSModulePath += ';C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules'

بدلاً من ذلك، يمكنك تحميل الوحدة يدوياً في البرنامج النصي الخاص بك على النحو التالي:

Import-Module -Name 'C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules\MSOnlineBackup'

بمجرد تحميل أوامر cmdlets للنسخ الاحتياطي عبر الإنترنت، تقوم بتسجيل بيانات اعتماد المخزن:

Start-OBRegistration -VaultCredentials $CredsFilename.FilePath -Confirm:$false
CertThumbprint      : 7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID      : ef4ab577-c2c0-43e4-af80-af49f485f3d1
ServiceResourceName : testvault
Region              : WestUS
Machine registration succeeded.

هام

لا تستخدم المسارات النسبية لتحديد ملف بيانات اعتماد المخزن. يجب عليك توفير مسار مطلق كمدخل لأمر cmdlet.

إعدادات الشبكات

عندما يكون اتصال جهاز Windows بالإنترنت من خلال خادم وكيل، يمكن أيضاً توفير إعدادات الوكيل للوكيل. في هذا المثال، لا يوجد خادم وكيل، لذلك نقوم صراحة بمسح أي معلومات متعلقة بالخادم الوكيل.

يمكن أيضاً التحكم في استخدام النطاق الترددي بخيارات work hour bandwidth وnon-work hour bandwidth لمجموعة معينة من أيام الأسبوع.

يتم تعيين تفاصيل الخادم الوكيل والنطاق الترددي باستخدام الأمر cmdlet Set-OBMachineSetting :

Set-OBMachineSetting -NoProxy
Server properties updated successfully.
Set-OBMachineSetting -NoThrottle
Server properties updated successfully.

إعدادات التشفير

يتم تشفير بيانات النسخ الاحتياطي المرسلة إلى Azure Backup لحماية سرية البيانات. عبارة مرور التشفير هي "كلمة المرور" لفك تشفير البيانات في وقت الاستعادة.

يجب إنشاء رقم تعريف شخصي للأمان عن طريق تحديد إنشاء ، ضمن إعدادات > خصائص > رقم التعريف الشخصي للأمان في قسم Recovery Services vault الخاص بمدخل Azure.

إشعار

لا يمكن إنشاء رقم التعريف الشخصي للأمان إلا عبر بوابة Azure.

ثم استخدم هذا كـ generatedPIN في الأمر:

$PassPhrase = ConvertTo-SecureString -String "Complex!123_STRING" -AsPlainText -Force
Set-OBMachineSetting -EncryptionPassPhrase $PassPhrase -SecurityPin "<generatedPIN>"
Server properties updated successfully

هام

احتفظ بمعلومات عبارة المرور آمنة ومأمونة بمجرد تعيينها. لا يمكنك استعادة البيانات من Azure دون عبارة المرور هذه.

النسخ احتياطي للملفات والمجلدات

تخضع جميع النُسخ الاحتياطية من خوادم Windows والعملاء إلى Azure Backup لسياسة معينة. تتضمن السياسة ثلاثة أجزاء:

  • جدول نسخ احتياطي يحدد متى يلزم أخذ النسخ الاحتياطية ومزامنتها مع الخدمة.
  • جدول استبقاء يحدد مدة الاحتفاظ بنقاط الاسترداد في Azure.
  • مواصفات تضمين / استبعاد ملف تحدد ما يجب نسخه احتياطياً.

في هذا المستند، نظراً لأننا نقوم بتشغيل النسخ الاحتياطي تلقائياً، سنفترض أنه لم يتم تكوين أي شيء. نبدأ بإنشاء سياسة نسخ احتياطي جديدة باستخدام الأمر cmdlet New-OBPolicy .

$NewPolicy = New-OBPolicy

في هذا الوقت، السياسة فارغة وهناك حاجة إلى أوامر cmdlets أخرى لتحديد العناصر التي سيتم تضمينها أو استبعادها، ومتى سيتم تشغيل النسخ الاحتياطية، ومكان تخزين النسخ الاحتياطية.

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

الأجزاء الثلاثة الأولى من النهج هي جدول النسخ الاحتياطي، الذي يتم إنشاؤه باستخدام Cmdlet New-OBSchedule . يحدد جدول النسخ الاحتياطي متى يلزم عمل نسخ احتياطية. عند إنشاء جدول، تحتاج إلى تحديد معلمتين للإدخال:

  • أيام الأسبوع التي يجب تشغيل النسخة الاحتياطية فيها. يمكنك تشغيل مهمة النسخ الاحتياطي في يوم واحد فقط، أو كل يوم من أيام الأسبوع، أو أي مجموعة بينهما.
  • أوقات اليوم التي ينبغي فيها تشغيل النسخ الاحتياطي. يمكنك تحديد ما يصل إلى ثلاث أوقات مختلفة من اليوم الذي سيتم فيه تشغيل النسخ الاحتياطي.

على سبيل المثال، يمكنك تكوين سياسة نسخ احتياطي تعمل في الساعة 4 مساءً كل يوم سبت وأحد.

$Schedule = New-OBSchedule -DaysOfWeek Saturday, Sunday -TimesOfDay 16:00

يجب أن يرتبط جدول النسخ الاحتياطي بسياسة، ويمكن تحقيق ذلك باستخدام الأمر cmdlet Set-OBSchedule .

Set-OBSchedule -Policy $NewPolicy -Schedule $Schedule
BackupSchedule : 4:00 PM Saturday, Sunday, Every 1 week(s) DsList : PolicyName : RetentionPolicy : State : New PolicyState : Valid

تكوين نهج الاحتفاظ

يحدد نهج الاستبقاء مدة الاحتفاظ بنقاط الاسترداد التي تم إنشاؤها من وظائف النسخ الاحتياطي. عند إنشاء سياسة استبقاء جديدة باستخدام الأمر cmdlet New-OBRetentionPolicy ، يمكنك تحديد عدد الأيام التي سيتم فيها الاحتفاظ بنقاط الاسترداد الاحتياطية باستخدام Azure Backup. يحدد المثال أدناه سياسة احتفاظ لمدة سبعة أيام.

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

يجب أن يقترن نهج الاستبقاء بالنهج الرئيسي باستخدام cmdlet Set-OBRetentionPolicy:

Set-OBRetentionPolicy -Policy $NewPolicy -RetentionPolicy $RetentionPolicy
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          :
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

بما في ذلك واستبعاد الملفات التي سيتم نسخها احتياطياً

يحدد كائن OBFileSpec الملفات التي سيتم تضمينها واستبعادها في نسخة احتياطية. هذه مجموعة من القواعد التي تحدد نطاق الملفات والمجلدات المحمية على الجهاز. يمكنك الحصول على العديد من قواعد تضمين الملفات أو الاستبعاد كما هو مطلوب، وربطها بالسياسة. عند إنشاء كائن OBFileSpec جديد، يمكنك:

  • حدد الملفات والمجلدات المراد تضمينها
  • حدد الملفات والمجلدات التي سيتم استبعادها
  • حدد النسخ الاحتياطي المتكرر للبيانات في مجلد (أو) ما إذا كان يجب نسخ ملفات المستوى الأعلى فقط في المجلد المحدد احتياطياً.

يتم تحقيق الأخير باستخدام العلامة -NonRecursive في الأمر New-OBFileSpec.

في المثال أدناه، سنقوم بعمل نسخة احتياطية من المجلد C: وD: واستبعاد ثنائيات نظام التشغيل في مجلد Windows وأي مجلدات مؤقتة. للقيام بذلك، سننشئ مواصفات ملفين باستخدام الأمر cmdlet New-OBFileSpec - أحدهما للتضمين والآخر للاستبعاد. بمجرد إنشاء مواصفات الملف، يتم ربطها بالسياسة باستخدام الأمر cmdlet Add-OBFileSpec .

$Inclusions = New-OBFileSpec -FileSpec @("C:\", "D:\")
$Exclusions = New-OBFileSpec -FileSpec @("C:\windows", "C:\temp") -Exclude
Add-OBFileSpec -Policy $NewPolicy -FileSpec $Inclusions
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          : {DataSource
                  DatasourceId:0
                  Name:C:\
                  FileSpec:FileSpec
                  FileSpec:C:\
                  IsExclude:False
                  IsRecursive:True

                  , DataSource
                  DatasourceId:0
                  Name:D:\
                  FileSpec:FileSpec
                  FileSpec:D:\
                  IsExclude:False
                  IsRecursive:True

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid
Add-OBFileSpec -Policy $NewPolicy -FileSpec $Exclusions
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          : {DataSource
                  DatasourceId:0
                  Name:C:\
                  FileSpec:FileSpec
                  FileSpec:C:\
                  IsExclude:False
                  IsRecursive:True
                  ,FileSpec
                  FileSpec:C:\windows
                  IsExclude:True
                  IsRecursive:True
                  ,FileSpec
                  FileSpec:C:\temp
                  IsExclude:True
                  IsRecursive:True

                  , DataSource
                  DatasourceId:0
                  Name:D:\
                  FileSpec:FileSpec
                  FileSpec:D:\
                  IsExclude:False
                  IsRecursive:True

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

تطبيق السياسة

الآن اكتمل كائن السياسة ولديه جدول نسخ احتياطي مرتبط به، وسياسة استبقاء، وقائمة تضمين / استبعاد للملفات. يمكن الآن الالتزام بهذا النهج لاستخدام Azure Backup. قبل تطبيق السياسة التي تم إنشاؤها حديثاً، تأكد من عدم وجود سياسات نسخ احتياطي حالية مرتبطة بالخادم باستخدام الأمر cmdlet Remove-OBPolicy . ستتم المطالبة بإزالة السياسة للتأكيد. لتخطي التأكيد، استخدم العلامة -Confirm:$false مع الأمر cmdlet.

إشعار

أثناء تشغيل الأمر cmdlet إذا طلب تعيين رقم تعريف شخصي للأمان، راجع قسم الطريقة الأولى .

Get-OBPolicy | Remove-OBPolicy
Microsoft Azure Backup Are you sure you want to remove this backup policy? This will delete all the backed up data. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

يتم تنفيذ كائن السياسة باستخدام الأمر cmdlet Set-OBPolicy . سيطلب هذا أيضاً التأكيد. لتخطي التأكيد، استخدم العلامة -Confirm:$false مع الأمر cmdlet.

Set-OBPolicy -Policy $NewPolicy
Microsoft Azure Backup Do you want to save this backup policy ? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
BackupSchedule : 4:00 PM Saturday, Sunday, Every 1 week(s)
DsList : {DataSource
         DatasourceId:4508156004108672185
         Name:C:\
         FileSpec:FileSpec
         FileSpec:C:\
         IsExclude:False
         IsRecursive:True,

         FileSpec
         FileSpec:C:\windows
         IsExclude:True
         IsRecursive:True,

         FileSpec
         FileSpec:C:\temp
         IsExclude:True
         IsRecursive:True,

         DataSource
         DatasourceId:4508156005178868542
         Name:D:\
         FileSpec:FileSpec
         FileSpec:D:\
         IsExclude:False
         IsRecursive:True
    }
PolicyName : c2eb6568-8a06-49f4-a20e-3019ae411bac
RetentionPolicy : Retention Days : 7
              WeeklyLTRSchedule :
              Weekly schedule is not set

              MonthlyLTRSchedule :
              Monthly schedule is not set

              YearlyLTRSchedule :
              Yearly schedule is not set
State : Existing PolicyState : Valid

You can view the details of the existing backup policy using the Get-OBPolicy cmdlet. You can drill down further using the Get-OBSchedule cmdlet for the backup schedule and the Get-OBRetentionPolicy cmdlet for the retention policies

Get-OBPolicy | Get-OBSchedule
SchedulePolicyName : 71944081-9950-4f7e-841d-32f0a0a1359a
ScheduleRunDays : {Saturday, Sunday}
ScheduleRunTimes : {16:00:00}
State : Existing
Get-OBPolicy | Get-OBRetentionPolicy
RetentionDays : 7
RetentionPolicyName : ca3574ec-8331-46fd-a605-c01743a5265e
State : Existing
Get-OBPolicy | Get-OBFileSpec
FileName : *
FilePath : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\
FileSpec : D:\
IsExclude : False
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\
FileSpec : C:\
IsExclude : False
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\windows
FileSpec : C:\windows
IsExclude : True
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\temp
FileSpec : C:\temp
IsExclude : True
IsRecursive : True

إجراء نسخ احتياطي عند الطلب

بمجرد تعيين سياسة النسخ الاحتياطي، ستحدث النسخ الاحتياطية وفقاً للجدول الزمني. يمكن أيضاً تشغيل نسخة احتياطية عند الطلب باستخدام الأمر Start-OBBackup cmdlet:

Get-OBPolicy | Start-OBBackup
Initializing
Taking snapshot of volumes...
Preparing storage...
Generating backup metadata information and preparing the metadata VHD...
Data transfer is in progress. It might take longer since it is the first backup and all data needs to be transferred...
Data transfer completed and all backed up data is in the cloud. Verifying data integrity...
Data transfer completed
In progress...
Job completed.
The backup operation completed successfully.

قم بعمل نسخة احتياطية من حالة نظام Windows Server في عامل MARS

يغطي هذا القسم أمر PowerShell لإعداد حالة النظام في وكيل MARS

جدولة

$sched = New-OBSchedule -DaysOfWeek Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday -TimesOfDay 2:00

الاحتفاظ

$rtn = New-OBRetentionPolicy -RetentionDays 32 -RetentionWeeklyPolicy -RetentionWeeks 13 -WeekDaysOfWeek Sunday -WeekTimesOfDay 2:00  -RetentionMonthlyPolicy -RetentionMonths 13 -MonthDaysOfMonth 1 -MonthTimesOfDay 2:00

تكوين الجدول الزمني والاحتفاظ

New-OBPolicy | Add-OBSystemState |  Set-OBRetentionPolicy -RetentionPolicy $rtn | Set-OBSchedule -Schedule $sched | Set-OBSystemStatePolicy

التحقق من السياسة

Get-OBSystemStatePolicy

استعادة البيانات من Azure Backup

سيرشدك هذا القسم خلال خطوات أتمتة استرداد البيانات من Azure Backup. يتضمن القيام بذلك الخطوات التالية:

  1. اختر حجم المصدر
  2. اختر نقطة احتياطية لاستعادتها
  3. حدد عنصراً لاستعادته
  4. ابدأ عملية الاستعادة

اختيار حجم المصدر

لاستعادة عنصر من Azure Backup، تحتاج أولاً إلى تحديد مصدر العنصر. نظراً لأننا ننفذ الأوامر في سياق خادم Windows أو عميل Windows، فقد تم تحديد الجهاز بالفعل. الخطوة التالية في تحديد المصدر هي تحديد المجلد الذي يحتوي عليه. يمكن استرداد قائمة وحدات التخزين أو المصادر التي يتم نسخها احتياطياً من هذا الجهاز عن طريق تنفيذ الأمر cmdlet Get-OBRecoverableSource . يقوم هذا الأمر بإرجاع مجموعة من جميع المصادر التي تم نسخها احتياطياً من هذا الخادم / العميل.

$Source = Get-OBRecoverableSource
$Source
FriendlyName : C:\
RecoverySourceName : C:\
ServerName : myserver.microsoft.com

FriendlyName : D:\
RecoverySourceName : D:\
ServerName : myserver.microsoft.com

اختيار نقطة احتياطية للاستعادة منها

يمكنك استرداد قائمة نقاط النسخ الاحتياطي عن طريق تنفيذ الأمر cmdlet Get-OBRecoverableItem مع المعلمات المناسبة. في مثالنا، سنختار أحدث نقطة نسخ احتياطي لوحدة التخزين المصدر C: ونستخدمها لاستعادة ملف معين.

$Rps = Get-OBRecoverableItem $Source[0]
$Rps

IsDir                : False
ItemNameFriendly     : C:\
ItemNameGuid         : \\?\Volume{297cbf7a-0000-0000-0000-401f00000000}\
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : C:\
PointInTime          : 10/17/2019 7:52:13 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime :

IsDir                : False
ItemNameFriendly     : C:\
ItemNameGuid         : \\?\Volume{297cbf7a-0000-0000-0000-401f00000000}\
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : C:\
PointInTime          : 10/16/2019 7:00:19 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime :

الكائن $Rps عبارة عن مجموعة من النقاط الاحتياطية. العنصر الأول هو أحدث نقطة والعنصر N هو أقدم نقطة. لاختيار أحدث نقطة، سنستخدم $Rps[0].

تحديد عنصر لاستعادته

لاستعادة ملف معين، حدد اسم الملف المتعلق بوحدة تخزين الجذر. على سبيل المثال، لاسترداد C: \ Test \ Cat.job، قم بتنفيذ الأمر التالي.

$Item = New-OBRecoverableItem $Rps[0] "Test\cat.jpg" $FALSE
$Item
IsDir                : False
ItemNameFriendly     : C:\Test\cat.jpg
ItemNameGuid         :
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : cat.jpg
PointInTime          : 10/17/2019 7:52:13 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime : 21-Jun-14 6:43:02 AM

بدء عملية الاستعادة

لبدء عملية الاستعادة، نحتاج أولاً إلى تحديد خيارات الاسترداد. يمكن القيام بذلك باستخدام الأمر cmdlet New-OBRecoveryOption . في هذا المثال، لنفترض أننا نريد استعادة الملفات إلى C: \ temp .لنفترض أيضاً أننا نريد تخطي الملفات الموجودة بالفعل في المجلد الوجهة C: \ temp .لإنشاء خيار الاسترداد هذا، استخدم الأمر التالي:

$RecoveryOption = New-OBRecoveryOption -DestinationPath "C:\temp" -OverwriteType Skip

الآن قم بتشغيل عملية الاستعادة باستخدام الأمر Start-OBRecovery على $Item المحدد من إخراج Get-OBRecoverableItem cmdlet:

Start-OBRecovery -RecoverableItem $Item -RecoveryOption $RecoveryOption
Estimating size of backup items...
Estimating size of backup items...
Estimating size of backup items...
Estimating size of backup items...
Job completed.
The recovery operation completed successfully.

استعادة عبر المنطقة

تسمح لك الاستعادة عبر المناطق (CRR) باستعادة بيانات النسخ الاحتياطي MARS من منطقة ثانوية، وهي منطقة مقترنة ب Azure. يمكنك هذا من إجراء تدريبات للتدقيق والتوافق، واسترداد البيانات أثناء عدم توفر المنطقة الأساسية في Azure في حالة وقوع كارثة.

استعادة الخادم الأصلي

إذا كنت تقوم بإجراء استعادة للخادم الأصلي من المنطقة الثانوية (استعادة عبر المنطقة)، فاستخدم العلامة UseSecondaryRegion أثناء الحصول على OBRecoverableSource الكائن.

$sources = Get-OBRecoverableSource -UseSecondaryRegion
$RP = Get-OBRecoverableItem -Source $sources[0]
$RO = New-OBRecoveryOption -DestinationPath $RecoveryPath -OverwriteType Overwrite
Start-OBRecovery -RecoverableItem $RP -RecoveryOption $RO -Async | ConvertTo-Json

استعادة الخادم البديل

إذا كنت تقوم بإجراء استعادة لخادم بديل من المنطقة الثانوية (استعادة عبر المنطقة)، فقم بتنزيل ملف بيانات اعتماد مخزن المنطقة الثانوية من مدخل Microsoft Azure ومرر بيانات اعتماد مخزن المنطقة الثانوية للاستعادة.

$serverName = ‘myserver.mycompany.com’
$secVaultCred = “C:\Users\myuser\Downloads\myvault_Mon Jul 17 2023.VaultCredentials”
$passphrase = ‘Default Passphrase’
$alternateServers = Get-OBAlternateBackupServer -VaultCredentials $secVaultCred
$altServer = $alternateServers[2] | Where-Object {$_.ServerName -Like $serverName}
$pwd = ConvertTo-SecureString -String $passphrase -AsPlainText -Force
$sources = Get-OBRecoverableSource $altServer
$RP = Get-OBRecoverableItem -Source $sources[0]
$RO = New-OBRecoveryOption
Start-OBRecoveryMount -RecoverableItem $RP -RecoveryOption $RO -EncryptionPassphrase $pwd  -Async | ConvertTo-Json 

إلغاء تثبيت عامل Azure Backup

يمكن إلغاء تثبيت عامل Azure Backup باستخدام الأمر التالي:

.\MARSAgentInstaller.exe /d /q

إزالة تثبيت ثنائيات الوكيل من الجهاز له بعض العواقب التي يجب مراعاتها:

  • يقوم بإزالة مرشح الملفات من الجهاز، ويتم إيقاف تعقب التغييرات.
  • تتم إزالة جميع معلومات السياسة من الجهاز، ولكن يستمر تخزين معلومات السياسة في الخدمة.
  • تتم إزالة جميع جداول النسخ الاحتياطي، ولا يتم أخذ المزيد من النسخ الاحتياطية.

ومع ذلك، تظل البيانات المخزنة في Azure ويتم الاحتفاظ بها وفقاً لإعداد نهج الاستبقاء بواسطتك. يتم تقادم النقاط القديمة تلقائياً.

الإدارة عن بعد

يمكن إجراء جميع عمليات الإدارة حول وكيل Azure Backup والسياسات ومصادر البيانات عن بُعد من خلال PowerShell. الآلة التي ستتم إدارتها عن بعد يجب أن يتم تحضيرها بشكل صحيح.

بشكل افتراضي، يتم تكوين خدمة WinRM لبدء التشغيل اليدوي. يجب تعيين نوع بدء التشغيل على تلقائي ويجب أن تبدأ الخدمة. للتحقق من تشغيل خدمة WinRM، يجب أن تكون قيمة خاصية الحالة قيد التشغيل .

Get-Service -Name WinRM
Status   Name               DisplayName
------   ----               -----------
Running  winrm              Windows Remote Management (WS-Manag...

يجب تكوين PowerShell للاتصال عن بُعد.

Enable-PSRemoting -Force
WinRM is already set up to receive requests on this computer.
WinRM has been updated for remote management.
WinRM firewall exception enabled.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force

يمكن الآن إدارة الجهاز عن بُعد - بدءاً من تثبيت الوكيل. على سبيل المثال، يقوم البرنامج النصي التالي بنسخ العامل إلى الجهاز البعيد وتثبيته.

$DLoc = "\\REMOTESERVER01\c$\Windows\Temp"
$Agent = "\\REMOTESERVER01\c$\Windows\Temp\MARSAgentInstaller.exe"
$Args = "/q"
Copy-Item "C:\Downloads\MARSAgentInstaller.exe" -Destination $DLoc -Force

$Session = New-PSSession -ComputerName REMOTESERVER01
Invoke-Command -Session $Session -Script { param($D, $A) Start-Process -FilePath $D $A -Wait } -ArgumentList $Agent, $Args

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

لمزيد من المعلومات حول Azure Backup for Windows Server / Client: