نشر النسخ الاحتياطي وإدارته إلى Azure ل 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 Backup للمرة الأولى، فيجب عليك استخدام الأمر Cmdlet Register-AzResourceProvider لتسجيل موفر خدمة استرداد Azure مع اشتراكك.

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

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

    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 أو من صفحة لوحة معلومات مخزن خدمات الاسترداد. احفظ المثبت في موقع يمكن الوصول إليه بسهولة مثل 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 /?

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

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

تسجيل 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 أو إصدار أحدث لتنزيل شهادة مخزن.

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


$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"
$certificate = [convert]::ToBase64String($cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pfx))
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault -Path $CredsPath -Certificate $certificate

على Windows Server أو جهاز عميل Windows، قم بتشغيل Start-OBRegistration cmdlet لتسجيل الجهاز مع المخزن. هذا، و cmdlets الأخرى المستخدمة للنسخ الاحتياطي، هي من وحدة PowerShell التي أضافها 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      : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ServiceResourceName : testvault
Region              : WestUS
Machine registration succeeded.

هام

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

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

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

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

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

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

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

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

يجب إنشاء دبوس أمان عن طريق تحديد Generate، ضمن Settings>Properties>Security PIN في قسم Recovery Services vault في مدخل Microsoft Azure.

إشعار

يمكن إنشاء رمز PIN للأمان فقط عبر مدخل Microsoft 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

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

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 - أحدهما للتضمين والآخر للاستبعاد. بمجرد إنشاء مواصفات الملف، يتم إقرانها بالنهج باستخدام Add-OBFileSpec cmdlet.

$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 إذا كان يطالب بتعيين رمز PIN للأمان، راجع قسم الأسلوب 1.

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

يمكنك عرض تفاصيل نهج النسخ الاحتياطي الحالي باستخدام Get-OBPolicy cmdlet. يمكنك التنقل لأسفل باستخدام Get-OBSchedule cmdlet لجدول النسخ الاحتياطي و Get-OBRetentionPolicy cmdlet لنهج الاستبقاء

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 Server أو عميل Windows، فقد تم تعريف الجهاز بالفعل. الخطوة التالية في تحديد المصدر هي تحديد وحدة التخزين التي تحتوي عليه. يمكن استرداد قائمة وحدات التخزين أو المصادر التي يتم نسخها احتياطيا من هذا الجهاز عن طريق تنفيذ Cmdlet Get-OBRecoverableSource . يقوم هذا الأمر بإرجاع صفيف من كافة المصادر التي تم نسخها احتياطيا من هذا الخادم/العميل.

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

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

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

يمكنك استرداد قائمة نقاط النسخ الاحتياطي عن طريق تنفيذ Get-OBRecoverableItem cmdlet مع المعلمات المناسبة. في مثالنا، سنختار أحدث نقطة نسخ احتياطي لوحدات التخزين المصدر 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 عبارة عن صفيف من نقاط النسخ الاحتياطي. العنصر الأول هو أحدث نقطة وعنصر Nth هو أقدم نقطة. لاختيار أحدث نقطة، سنستخدم $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

تشغيل عملية الاستعادة

لتشغيل عملية الاستعادة، نحتاج أولا إلى تحديد خيارات الاسترداد. يمكن القيام بذلك باستخدام الأمر New-OBRecoveryOption cmdlet. على سبيل المثال، لنفترض أننا نريد استعادة الملفات إلى 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، يجب أن تكون قيمة الخاصية Status قيد التشغيل.

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 ل Windows Server/Client: