إعداد الإصلاح بعد كارثة من الأجهزة الظاهرية VMware إلى Azure باستخدام PowerShell

تنبيه

تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.

في هذه المقالة، ترى كيفية النسخ المتماثل والفشل عبر الأجهزة الظاهرية VMware إلى Azure باستخدام Azure PowerShell.

‏‫ستتعلم كيفية:

  • إنشاء قيمة Recovery Services وتعيين سياق المخزن.
  • التحقق من صحة تسجيل الخادم في المخزن.
  • إعداد النسخ المتماثل، بما في ذلك نهج النسخ المتماثل. إضافة خادم vCenter واكتشاف الأجهزة الظاهرية.
  • إضافة خادم vCenter واكتشاف
  • إنشاء حسابات تخزين للاحتفاظ بسجلات النسخ المتماثل أو البيانات، ونسخ الأجهزة الظاهرية نسخاً متماثلاً.
  • قم بإجراء تجاوز الفشل. تكوين إعدادات تجاوز الفشل، وإجراء إعدادات لنسخ الأجهزة الظاهرية نسخاً متماثلاً.

إشعار

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

المتطلبات الأساسية

قبل البدء:

تسجيل الدخولِ إلى Azure

سجل دخولك إلى اشتراك Azure باستخدام Connect-AzAccount cmdlet:

Connect-AzAccount

حدد اشتراك Azure الذي تريد نسخ أجهزة VMware الظاهرية إليه. استخدم أمر cmdlet Get-AzSubscription للحصول على قائمة اشتراكات Azure التي يمكنك الوصول إليها. حدد اشتراك Azure للعمل معه باستخدام cmdlet Select-AzSubscription.

Select-AzSubscription -SubscriptionName "ASR Test Subscription"

إعداد مخزن Recovery Services

  1. إنشاء مجموعة موارد لإنشاء مخزن خدمات الاسترداد. في المثال التالي، تسمى مجموعة الموارد VMwareDRtoAzurePS ويتم إنشاؤها في منطقة شرق آسيا.

    New-AzResourceGroup -Name "VMwareDRtoAzurePS" -Location "East Asia"
    
    ResourceGroupName : VMwareDRtoAzurePS
    Location          : eastasia
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRtoAzurePS
    
  2. إنشاء مخزن خدمات الاسترداد. في المثال التالي، يسمى مخزن خدمات الاسترداد VMwareDRToAzurePs، ويتم إنشاؤه في منطقة شرق آسيا وفي مجموعة الموارد التي تم إنشاؤها في الخطوة السابقة.

    New-AzRecoveryServicesVault -Name "VMwareDRToAzurePs" -Location "East Asia" -ResourceGroupName "VMwareDRToAzurePs"
    
    Name              : VMwareDRToAzurePs
    ID                : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs
    Type              : Microsoft.RecoveryServices/vaults
    Location          : eastasia
    ResourceGroupName : VMwareDRToAzurePs
    SubscriptionId    : xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties
    
  3. نزل مفتاح تسجيل المخزن للمخزن. يُستخدم مفتاح تسجيل المخزن لتسجيل خادم التكوين المحلي في هذا المخزن. التسجيل هو جزء من عملية تثبيت برنامج Configuration Server.

    #Get the vault object by name and resource group and save it to the $vault PowerShell variable 
    $vault = Get-AzRecoveryServicesVault -Name "VMwareDRToAzurePS" -ResourceGroupName "VMwareDRToAzurePS"
    
    #Download vault registration key to the path C:\Work
    Get-AzRecoveryServicesVaultSettingsFile -SiteRecovery -Vault $Vault -Path "C:\Work\"
    
    FilePath
    --------
    C:\Work\VMwareDRToAzurePs_2017-11-23T19-52-34.VaultCredentials
    
  4. استخدم مفتاح تسجيل المخزن الذي تم تنزيله واتبع الخطوات التالية في المقالات لإكمال تثبيت خادم التكوين وتسجيله.

تعيين سياق الخزنة

عيّن سياق المخزن باستخدام Set-ASRVaultContext cmdlet. بمجرد التعيين، تُنفذ عمليات Azure Site Recovery اللاحقة في جلسة PowerShell في سياق المخزن المحدد.

تلميح

تأتي الوحدة النمطية PowerShell لـ Azure Site Recovery (الوحدة النمطية Az.RecoveryServices) مزودة بأسماء مستعارة سهلة الاستخدام لمعظم cmdlets. تأخذ cmdlets في الوحدة النمطية النموذج <Operation>-AzRecoveryServicesAsr<Object> ولها أسماء مستعارة مكافئة تأخذ النموذج <Operation>-ASR<Object>. يمكنك استبدال الأسماء المستعارة cmdlet لسهولة الاستخدام.

في المثال التالي، يتم استخدام تفاصيل المخزن من متغير $vault لتحديد سياق المخزن لجلسة عمل PowerShell.

Set-ASRVaultContext -Vault $vault
ResourceName      ResourceGroupName ResourceNamespace          ResourceType
------------      ----------------- -----------------          -----------
VMwareDRToAzurePs VMwareDRToAzurePs Microsoft.RecoveryServices vaults

كبديل لـ cmdlet Set-ASRVaultContext، يمكن أيضاً استخدام cmdlet Import-AzRecoveryServicesAsrVaultSettingsFile لتعيين سياق المخزن. حدد المسار الذي يوجد فيه ملف مفتاح تسجيل المخزن كمَعلمة -path إلى cmdlet Import-AzRecoveryServicesAsrVaultSettingsFile. على سبيل المثال:

Get-AzRecoveryServicesVaultSettingsFile -SiteRecovery -Vault $Vault -Path "C:\Work\"
Import-AzRecoveryServicesAsrVaultSettingsFile -Path "C:\Work\VMwareDRToAzurePs_2017-11-23T19-52-34.VaultCredentials"

تفترض الأقسام اللاحقة من هذه المقالة أنه تم تعيين سياق المخزن لـ Azure Site Recovery.

التحقق من صحة تسجيل المخزن

على سبيل المثال، لدينا المتطلبات التالية:

  • تم تسجيل خادم تكوين (ConfigurationServer) في هذا المخزن.
  • تم تسجيل خادم معالجة إضافي (ScaleOut-ProcessServer) في ConfigurationServer
  • تم إعداد الحسابات(vCenter_account، WindowsAccount، LinuxAccount) على خادم التكوين. استُخدمت هذه الحسابات لإضافة خادم vCenter واكتشاف الأجهزة الظاهرية وتنفيذ برنامج خدمة التنقل وتثبيته على خوادم Windows وLinux التي سيتم نسخها نسخاً متماثلاً.
  1. تُمثل خوادم التكوين المسجلة بواسطة عنصر Fabric في Site Recovery. احصل على قائمة عناصر Fabric في المخزن وحدد خادم التكوين.

    # Verify that the Configuration server is successfully registered to the vault
    $ASRFabrics = Get-AzRecoveryServicesAsrFabric
    $ASRFabrics.count
    
    1
    
    #Print details of the Configuration Server
    $ASRFabrics[0]
    
    Name                  : 2c33d710a5ee6af753413e97f01e314fc75938ea4e9ac7bafbf4a31f6804460d
    FriendlyName          : ConfigurationServer
    ID                    : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationFabrics
                            /2c33d710a5ee6af753413e97f01e314fc75938ea4e9ac7bafbf4a31f6804460d
    Type                  : Microsoft.RecoveryServices/vaults/replicationFabrics
    FabricType            : VMware
    SiteIdentifier        : ef7a1580-f356-4a00-aa30-7bf80f952510
    FabricSpecificDetails : Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRVMWareSpecificDetails
    
  2. حدد خوادم العمليات التي يمكن استخدامها لنسخ الأجهزة نسخاً متماثلاً.

    $ProcessServers = $ASRFabrics[0].FabricSpecificDetails.ProcessServers
    for($i=0; $i -lt $ProcessServers.count; $i++) {
     "{0,-5} {1}" -f $i, $ProcessServers[$i].FriendlyName
    }
    
    0     ScaleOut-ProcessServer
    1     ConfigurationServer
    

    من الإخراج أعلاه $ProcessServers[0] يتوافق مع ScaleOut-ProcessServer ويتوافق $ProcessServers[1] مع دور خادم العملية على ConfigurationServer

  3. تحديد الحسابات التي تم إعدادها على خادم التكوين.

    $AccountHandles = $ASRFabrics[0].FabricSpecificDetails.RunAsAccounts
    #Print the account details
    $AccountHandles
    
    AccountId AccountName
    --------- -----------
    1         vCenter_account
    2         WindowsAccount
    3         LinuxAccount
    

    من الإخراج أعلاه يتوافق $AccountHandles[0] مع حساب vCenter_account، و$AccountHandles[1] مع حساب WindowsAccount، و$AccountHandles[2] مع حساب LinuxAccount

إنشاء سياسة نسخ متماثل.

في هذه الخطوة، يتم إنشاء نهجي النسخ المتماثل. نهج لنسخ أجهزة VMware الظاهرية إلى Azure، والآخر لنسخ الأجهزة الظاهرية متجاوزة الفشل التي تعمل في Azure مرة أخرى إلى موقع VMware المحلي.

إشعار

تُنفذ معظم عمليات Azure Site Recovery بشكل غير متزامن. عند بدء عملية، تُرسل مهمة Azure Site Recovery وتُرجع عنصر تعقب المهمة. يمكن استخدام عنصر تعقب المهمة هذا لمراقبة حالة العملية.

  1. أنشئ نهج نسخ متماثل يُسمى ReplicationPolicy لنسخ الأجهزة الظاهرية VMware نسخاً متماثلاً إلى Azure باستخدام الخصائص المحددة.

    $Job_PolicyCreate = New-AzRecoveryServicesAsrPolicy -VMwareToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -ApplicationConsistentSnapshotFrequencyInHours 4 -RPOWarningThresholdInMinutes 60
    
    # Track Job status to check for completion
    while (($Job_PolicyCreate.State -eq "InProgress") -or ($Job_PolicyCreate.State -eq "NotStarted")){
            sleep 10;
            $Job_PolicyCreate = Get-ASRJob -Job $Job_PolicyCreate
    }
    
    #Display job status
    $Job_PolicyCreate
    
    Name             : 8d18e2d9-479f-430d-b76b-6bc7eb2d0b3e
    ID               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationJobs/8d18e2d
                       9-479f-430d-b76b-6bc7eb2d0b3e
    Type             :
    JobType          : AddProtectionProfile
    DisplayName      : Create replication policy
    ClientRequestId  : a162b233-55d7-4852-abac-3d595a1faac2 ActivityId: 9895234a-90ea-4c1a-83b5-1f2c6586252a
    State            : Succeeded
    StateDescription : Completed
    StartTime        : 11/24/2017 2:49:24 AM
    EndTime          : 11/24/2017 2:49:23 AM
    TargetObjectId   : ab31026e-4866-5440-969a-8ebcb13a372f
    TargetObjectType : ProtectionProfile
    TargetObjectName : ReplicationPolicy
    AllowedActions   :
    Tasks            : {Prerequisites check for creating the replication policy, Creating the replication policy}
    Errors           : {}
    
  2. أنشئ نهج النسخ المتماثل لاستخدامه لإرجاع الموارد من Azure إلى موقع VMware المحلي.

    $Job_FailbackPolicyCreate = New-AzRecoveryServicesAsrPolicy -AzureToVMware -Name "ReplicationPolicy-Failback" -RecoveryPointRetentionInHours 24 -ApplicationConsistentSnapshotFrequencyInHours 4 -RPOWarningThresholdInMinutes 60
    

    استخدم تفاصيل المهمة في $Job_FailbackPolicyCreate لتعقب العملية حتى اكتمالها.

    • أنشئ تعيين حاوية حماية لتعيين نهج النسخ المتماثل باستخدام خادم التكوين.
    #Get the protection container corresponding to the Configuration Server
    $ProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $ASRFabrics[0]
    
    #Get the replication policies to map by name.
    $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
    $FailbackReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy-Failback"
    
    # Associate the replication policies to the protection container corresponding to the Configuration Server.
    
    $Job_AssociatePolicy = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PolicyAssociation1" -PrimaryProtectionContainer $ProtectionContainer -Policy $ReplicationPolicy
    
    # Check the job status
    while (($Job_AssociatePolicy.State -eq "InProgress") -or ($Job_AssociatePolicy.State -eq "NotStarted")){
            sleep 10;
            $Job_AssociatePolicy = Get-ASRJob -Job $Job_AssociatePolicy
    }
    $Job_AssociatePolicy.State
    
    <# In the protection container mapping used for failback (replicating failed over virtual machines
       running in Azure, to the primary VMware site.) the protection container corresponding to the
       Configuration server acts as both the Primary protection container and the recovery protection
       container
    #>
     $Job_AssociateFailbackPolicy = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "FailbackPolicyAssociation" -PrimaryProtectionContainer $ProtectionContainer -RecoveryProtectionContainer $ProtectionContainer -Policy $FailbackReplicationPolicy
    
    # Check the job status
    while (($Job_AssociateFailbackPolicy.State -eq "InProgress") -or ($Job_AssociateFailbackPolicy.State -eq "NotStarted")){
            sleep 10;
            $Job_AssociateFailbackPolicy = Get-ASRJob -Job $Job_AssociateFailbackPolicy
    }
    $Job_AssociateFailbackPolicy.State
    
    

أضف خادم vCenter واكتشاف الأجهزة الظاهرية

أضف خادم vCenter عن طريق عنوان IP أو اسم المضيف. تحدد المعلمة -port المَنفذ الموجود على خادم vCenter للاتصال به، وتحدد المعلمة -Name اسماً مألوفاً لاستخدامه لخادم vCenter، وتحدد المعلمة -Account مؤشر الحساب على خادم التكوين لاستخدامه لاكتشاف الأجهزة الظاهرية التي يديرها خادم vCenter.

# The $AccountHandles[0] variable holds details of vCenter_account

$Job_AddvCenterServer = New-AzRecoveryServicesAsrvCenter -Fabric $ASRFabrics[0] -Name "MyvCenterServer" -IpOrHostName "10.150.24.63" -Account $AccountHandles[0] -Port 443

#Wait for the job to complete and ensure it completed successfully

while (($Job_AddvCenterServer.State -eq "InProgress") -or ($Job_AddvCenterServer.State -eq "NotStarted")) {
        sleep 30;
        $Job_AddvCenterServer = Get-ASRJob -Job $Job_AddvCenterServer
}
$Job_AddvCenterServer
Name             : 0f76f937-f9cf-4e0e-bf27-10c9d1c252a4
ID               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationJobs/0f76f93
                   7-f9cf-4e0e-bf27-10c9d1c252a4
Type             :
JobType          : DiscoverVCenter
DisplayName      : Add vCenter server
ClientRequestId  : a2af8892-5686-4d64-a528-10445bc2f698 ActivityId: 7ec05aad-002e-4da0-991f-95d0de7a9f3a
State            : Succeeded
StateDescription : Completed
StartTime        : 11/24/2017 2:41:47 AM
EndTime          : 11/24/2017 2:44:37 AM
TargetObjectId   : 10.150.24.63
TargetObjectType : VCenter
TargetObjectName : MyvCenterServer
AllowedActions   :
Tasks            : {Adding vCenter server}
Errors           : {}

إنشاء حسابات تخزين للنسخ المتماثل

للكتابة إلى القرص المُدار، استخدم الوحدة النمطية PowerShell Az.RecoveryServices module 2.0.0 فصاعداً. يتطلب فقط إنشاء حساب تخزين سجل. يوصى باستخدام نوع حساب قياسي وتكرار LRS لأنه يستخدم لتخزين السجلات المؤقتة فقط. تأكد من إنشاء حساب التخزين في نفس منطقة Azure مثل المخزن.

إذا كنت تستخدم إصداراً من الوحدة النمطية Az.RecoveryServices أقدم من 2.0.0، فاتبع الخطوات التالية لإنشاء حسابات تخزين. تُستخدم حسابات التخزين هذه لاحقاً لنسخ الأجهزة الظاهرية نسخاً متماثلاً. تأكد من إنشاء حسابات التخزين في نفس منطقة Azure مثل المخزن. يمكنك تخطي هذه الخطوة إذا كنت تخطط لاستخدام حساب تخزين موجود للنسخ المتماثل.

إشعار

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


$PremiumStorageAccount = New-AzStorageAccount -ResourceGroupName "VMwareDRToAzurePs" -Name "premiumstorageaccount1" -Location "East Asia" -SkuName Premium_LRS

$LogStorageAccount = New-AzStorageAccount -ResourceGroupName "VMwareDRToAzurePs" -Name "logstorageaccount1" -Location "East Asia" -SkuName Standard_LRS

$ReplicationStdStorageAccount= New-AzStorageAccount -ResourceGroupName "VMwareDRToAzurePs" -Name "replicationstdstorageaccount1" -Location "East Asia" -SkuName Standard_LRS

نسخ أجهزة VMware الظاهرية نسخاً متماثلاً

يستغرق اكتشاف الأجهزة الظاهرية من خادم vCenter حوالي 15-20 دقيقة. بمجرد اكتشافهم، يتم إنشاء عنصر قابل للحماية في Azure Site Recovery لكل جهاز ظاهري مُكتشَف. في هذه الخطوة، تُنسخ ثلاثة من الأجهزة الظاهرية المكتشفة إلى حسابات Azure Storage التي أُنشئت في الخطوة السابقة.

ستحتاج إلى التفاصيل التالية لحماية جهاز ظاهري مُكتشَف:

  • العنصر القابل للحماية المراد نسخه نسخاً متماثلاً.
  • حساب التخزين لنسخ الجهاز الظاهري نسخاً متماثلاً إليه (فقط إذا كنت تقوم بالنسخ المتماثل إلى حساب التخزين).
  • هناك حاجة إلى تخزين سجل لحماية الأجهزة الظاهرية إلى حساب تخزين متميز أو إلى قرص مُدار.
  • خادم العملية المراد استخدامه للنسخ المتماثل. إرجاع قائمة خوادم العمليات المتوفرة وحفظها في المتغيرات $ProcessServers[0](ScaleOut-ProcessServer) و$ProcessServers[1](ConfigurationServer).
  • الحساب المطلوب استخدامه لتنفيذ برنامج خدمة التنقل وتثبيته على الأجهزة. إرجاع قائمة الحسابات المتاحة وتخزينها في متغير $AccountHandles.
  • تعيين حاوية الحماية لنهج النسخ المتماثل المستخدم للنسخ المتماثل.
  • مجموعة الموارد التي يجب إنشاء الأجهزة الظاهرية فيها عند تجاوز الفشل.
  • اختيارياً، يجب توصيل شبكة Azure الظاهرية والشبكة الفرعية التي تجاوز بها الجهاز الظاهري الفشل.

الآن نسخ الأجهزة الظاهرية التالية باستخدام الإعدادات المحددة في هذا الجدول:

الجهاز الظاهري خادم العملية حساب التخزين حساب تخزين السجل النهج حساب لتثبيت خدمة التنقل مجموعة موارد الهدف شبكة Target virtual الشبكة الفرعية المستهدفة
CentOSVM1 ConfigurationServer ‏‫غير متوفر‬ logstorageaccount1 ReplicationPolicy LinuxAccount VMwareDRToAzurePs ASR-vnet Subnet-1
Win 2K12VM1 ScaleOut-ProcessServer premiumstorageaccount1 logstorageaccount1 ReplicationPolicy WindowsAccount VMwareDRToAzurePs ASR-vnet Subnet-1
CentOSVM2 ConfigurationServer replicationstdstorageaccount1 ‏‫غير متوفر‬ ReplicationPolicy LinuxAccount VMwareDRToAzurePs ASR-vnet Subnet-1

#Get the target resource group to be used
$ResourceGroup = Get-AzResourceGroup -Name "VMwareToAzureDrPs"

#Get the target virtual network to be used
$RecoveryVnet = Get-AzVirtualNetwork -Name "ASR-vnet" -ResourceGroupName "asrrg" 

#Get the protection container mapping for replication policy named ReplicationPolicy
$PolicyMap  = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $ProtectionContainer | where PolicyFriendlyName -eq "ReplicationPolicy"

#Get the protectable item corresponding to the virtual machine CentOSVM1
$VM1 = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $ProtectionContainer -FriendlyName "CentOSVM1"

# Enable replication for virtual machine CentOSVM1 using the Az.RecoveryServices module 2.0.0 onwards to replicate to managed disks
# The name specified for the replicated item needs to be unique within the protection container. Using a random GUID to ensure uniqueness
$Job_EnableReplication1 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM1 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -ProcessServer $ProcessServers[1] -Account $AccountHandles[2] -RecoveryResourceGroupId $ResourceGroup.ResourceId -logStorageAccountId $LogStorageAccount.Id -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

# Alternatively, if the virtual machine CentOSVM1 has CMK enabled disks, enable replication using Az module 3.3.0 onwards as below
# $diskID is the Disk Encryption Set ID to be used for all replica managed disks and target managed disks in the target region
$Job_EnableReplication1 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM1 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -ProcessServer $ProcessServers[1] -Account $AccountHandles[2] -RecoveryResourceGroupId $ResourceGroup.ResourceId -logStorageAccountId -DiskEncryptionSetId $diskId $LogStorageAccount.Id -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

#Get the protectable item corresponding to the virtual machine Win2K12VM1
$VM2 = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $ProtectionContainer -FriendlyName "Win2K12VM1"

# Enable replication for virtual machine Win2K12VM1
$Job_EnableReplication2 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM2 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -RecoveryAzureStorageAccountId $PremiumStorageAccount.Id -LogStorageAccountId $LogStorageAccount.Id -ProcessServer $ProcessServers[0] -Account $AccountHandles[1] -RecoveryResourceGroupId $ResourceGroup.ResourceId -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

#Get the protectable item corresponding to the virtual machine CentOSVM2
$VM3 = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $ProtectionContainer -FriendlyName "CentOSVM2"

# Enable replication for virtual machine CentOSVM2
$Job_EnableReplication3 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM3 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -RecoveryAzureStorageAccountId $ReplicationStdStorageAccount.Id  -ProcessServer $ProcessServers[1] -Account $AccountHandles[2] -RecoveryResourceGroupId $ResourceGroup.ResourceId -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

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

يمكنك التحقق من حالة النسخ المتماثل وصحة النسخ المتماثل للجهاز الظاهري باستخدام Get-ASRReplicationProtectedItem cmdlet.

Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $ProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth
FriendlyName ProtectionState                 ReplicationHealth
------------ ---------------                 -----------------
CentOSVM1    Protected                       Normal
CentOSVM2    InitialReplicationInProgress    Normal
Win2K12VM1   Protected                       Normal

تكوين إعدادات تجاوز الفشل

يمكن تحديث إعدادات تجاوز الفشل للأجهزة المحمية باستخدام Set-ASRReplicationProtectedItem cmdlet. بعض الإعدادات التي يمكن تحديثها من خلال cmdlet هي:

  • اسم الجهاز الظاهري المراد إنشائه عند تجاوز الفشل
  • حجم VM للجهاز الظاهري المراد إنشائه عند تجاوز الفشل
  • شبكة Azure الظاهرية والشبكة الفرعية التي يجب أن تكون NICs الخاصة بالجهاز الظاهري متصلة بها عند تجاوز الفشل
  • تجاوز الفشل إلى الأقراص المُدارة
  • تطبيق Azure Hybrid Use Benefit
  • تعيين عنوان IP ثابت من الشبكة الظاهرية المستهدفة ليتم تعيينه إلى الجهاز الظاهري عند تجاوز الفشل.

في هذا المثال، نقوم بتحديث حجم VM للجهاز الظاهري ليتم إنشاؤه عند تجاوز الفشل للجهاز الظاهري Win2K12VM1 ونحدد أن الجهاز الظاهري يستخدم الأقراص المُدارة عند تجاوز الفشل.

$ReplicatedVM1 = Get-AzRecoveryServicesAsrReplicationProtectedItem -FriendlyName "Win2K12VM1" -ProtectionContainer $ProtectionContainer

Set-AzRecoveryServicesAsrReplicationProtectedItem -InputObject $ReplicatedVM1 -Size "Standard_DS11" -UseManagedDisk True
Name             : cafa459c-44a7-45b0-9de9-3d925b0e7db9
ID               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationJobs/cafa459
                   c-44a7-45b0-9de9-3d925b0e7db9
Type             :
JobType          : UpdateVmProperties
DisplayName      : Update the virtual machine
ClientRequestId  : b0b51b2a-f151-4e9a-a98e-064a5b5131f3 ActivityId: ac2ba316-be7b-4c94-a053-5363f683d38f
State            : InProgress
StateDescription : InProgress
StartTime        : 11/24/2017 2:04:26 PM
EndTime          :
TargetObjectId   : 88bc391e-d091-11e7-9484-000c2955bb50
TargetObjectType : ProtectionEntity
TargetObjectName : Win2K12VM1
AllowedActions   :
Tasks            : {Update the virtual machine properties}
Errors           : {}

إجراء تجاوز لفشل اختبار

  1. قم بتشغيل تدريب التعافي من الكوارث (اختبار تجاوز الفشل) كما يلي:

    #Test failover of Win2K12VM1 to the test virtual network "V2TestNetwork"
    
    #Get details of the test failover virtual network to be used
    TestFailovervnet = Get-AzVirtualNetwork -Name "V2TestNetwork" -ResourceGroupName "asrrg" 
    
    #Start the test failover operation
    $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicatedVM1 -AzureVMNetworkId $TestFailovervnet.Id -Direction PrimaryToRecovery
    
  2. بمجرد اكتمال مهمة اختبار تجاوز الفشل بنجاح، ستلاحظ أنه تم إنشاء جهاز ظاهري لاحق مع "-Test" (Win2K12VM1-Test في هذه الحالة) إلى اسمه في Azure.

  3. يمكنك الآن الاتصال بالجهاز الظاهري متجاوزاً اختبار الفشل والتحقق من صحة اختبار تجاوز فشل.

  4. تنظيف اختبار تجاوز الفشل باستخدام Start-ASRTestFailoverCleanupJob cmdlet. تحذف هذه العملية الجهاز الظاهري الذي تم إنشاؤه كجزء من عملية اختبار تجاوز فشل.

    $Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $ReplicatedVM1
    

تجاوز الفشل إلى Azure

في هذه الخطوة، نتجاوز فشل الجهاز الظاهري Win2K12VM1 إلى نقطة استرداد محددة.

  1. احصل على قائمة بنقاط الاسترداد المتاحة لاستخدامها في تجاوز الفشل:

    # Get the list of available recovery points for Win2K12VM1
    $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem $ReplicatedVM1
    "{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[0].RecoveryPointTime
    
    CrashConsistent 11/24/2017 5:28:25 PM
    
    
    #Start the failover job
    $Job_Failover = Start-AzRecoveryServicesAsrUnplannedFailoverJob -ReplicationProtectedItem $ReplicatedVM1 -Direction PrimaryToRecovery -RecoveryPoint $RecoveryPoints[0]
    do {
            $Job_Failover = Get-ASRJob -Job $Job_Failover;
            sleep 60;
    } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq "NotStarted"))
    $Job_Failover.State
    
    Succeeded
    
  2. بمجرد تجاوز الفشل بنجاح، يمكنك تنفيذ عملية تجاوز الفشل، وإعداد النسخ المتماثل العكسي من Azure مرة أخرى إلى موقع VMware المحلي.

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

تعرف على كيفية أتمتة المزيد من المهام باستخدام مرجع Azure Site Recovery PowerShell.