ترحيل VMware VMs إلى أجهزة Azure الظاهرية الممكنة باستخدام التشفير من جانب الخادم والمفاتيح التي يديرها العميل

توضح هذه المقالة كيفية ترحيل VMware VMs إلى أجهزة Azure الظاهرية مع أقراص مشفرة باستخدام التشفير من جانب الخادم (SSE) باستخدام المفاتيح المدارة من قبل العميل (CMK)، باستخدام الترحيل والتحديث (النسخ المتماثل بدون عامل).

تتيح لك تجربة مدخل الترحيل والتحديث ترحيل VMware VMs إلى Azure مع النسخ المتماثل بدون عامل. تدعم تجربة المدخل DES/CMK. يجب إنشاء DES قبل بدء النسخ المتماثل ويجب توفيره أثناء بدء النسخ المتماثل. لا يمكن توفيره في وقت الترحيل. في هذه المقالة، سترى كيفية إنشاء قالب Azure Resource Manager ونشره لنسخ VMware VM وتكوين الأقراص المنسوخة نسخا متماثلا في Azure لاستخدام SSE مع CMK.

تستخدم الأمثلة في هذه المقالة Azure PowerShell لتنفيذ المهام اللازمة لإنشاء قالب Resource Manager ونشره.

تعرف على المزيد حول التشفير من جانب الخادم (SSE) باستخدام المفاتيح المدارة من قبل العميل (CMK) للأقراص المدارة.

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

الاستعداد للنسخ المتماثل

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

قبل أن تتمكن من البدء في نسخ الأجهزة الظاهرية نسخا متماثلا، يجب إعداد البنية الأساسية للنسخ المتماثل.

  1. إنشاء مثيل ناقل خدمة Microsoft Azure في المنطقة المستهدفة. يتم استخدام ناقل خدمة Microsoft Azure بواسطة جهاز Azure Migrate المحلي للاتصال بخدمة الترحيل والتحديث لتنسيق النسخ المتماثل والترحيل.
  2. إنشاء حساب تخزين لنقل سجلات العملية من النسخ المتماثل.
  3. إنشاء حساب تخزين يقوم جهاز Azure Migrate بتحميل بيانات النسخ المتماثل إليه.
  4. إنشاء Key Vault وتكوين Key Vault لإدارة الرموز المميزة لتوقيع الوصول المشترك للوصول إلى الكائن الثنائي كبير الحجم على حسابات التخزين التي تم إنشاؤها في الخطوة 3 و4.
  5. إنشاء رمز مميز لتوقيع الوصول المشترك لناقل الخدمة الذي تم إنشاؤه في الخطوة 1 وإنشاء سر للرمز المميز في Key Vault الذي تم إنشاؤه في الخطوة السابقة.
  6. إنشاء نهج وصول Key Vault لمنح جهاز Azure Migrate المحلي (باستخدام تطبيق AAD (دليل Azure النشط) الجهاز) وخدمة الترحيل والتحديث حق الوصول إلى Key Vault.
  7. إنشاء نهج النسخ المتماثل وتكوين خدمة الترحيل والتحديث مع تفاصيل البنية الأساسية للنسخ المتماثل التي تم إنشاؤها في الخطوة السابقة.

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

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

تحديد مكونات البنية الأساسية للنسخ المتماثل

  1. في مدخل Microsoft Azure، انتقل إلى صفحة مجموعات الموارد وحدد مجموعة الموارد التي تم إنشاء مشروع Azure Migrate فيها.
  2. حدد Deployments من القائمة اليسرى وابحث عن اسم نشر يبدأ بالسلسلة "Microsoft.MigrateV2.VMwareV2EnableMigrate". سترى قائمة بقوالب Resource Manager التي تم إنشاؤها بواسطة تجربة المدخل لإعداد النسخ المتماثل للأجهزة الظاهرية في هذا المشروع. سنقوم بتنزيل أحد هذه القوالب واستخدامه كأساس لإعداد القالب للنسخ المتماثل باستخدام CMK.
  3. لتنزيل القالب، حدد أي نشر يطابق نمط السلسلة في الخطوة > السابقة حدد قالب من القائمة > اليسرى انقر فوق تنزيل من القائمة العلوية. احفظ ملف template.json محليا. ستقوم بتحرير ملف القالب هذا في الخطوة الأخيرة.

إنشاء مجموعة تشفير القرص

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

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

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

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

$Location = "southcentralus"                           #Target Azure region for migration 
$TargetResourceGroupName = "ContosoMigrationTarget"
$KeyVaultName = "ContosoCMKKV"
$KeyName = "ContosoCMKKey"
$KeyDestination = "Software"
$DiskEncryptionSetName = "ContosoCMKDES"

$KeyVault = New-AzKeyVault -Name $KeyVaultName -ResourceGroupName $TargetResourceGroupName -Location $Location -EnableSoftDelete -EnablePurgeProtection

$Key = Add-AzKeyVaultKey -VaultName $KeyVaultName -Name $KeyName -Destination $KeyDestination

$desConfig = New-AzDiskEncryptionSetConfig -Location $Location -SourceVaultId $KeyVault.ResourceId -KeyUrl $Key.Key.Kid -IdentityType SystemAssigned

$des = New-AzDiskEncryptionSet -Name $DiskEncryptionSetName -ResourceGroupName $TargetResourceGroupName -InputObject $desConfig

Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get

New-AzRoleAssignment -ResourceName $KeyVaultName -ResourceGroupName $TargetResourceGroupName -ResourceType "Microsoft.KeyVault/vaults" -ObjectId $des.Identity.PrincipalId -RoleDefinitionName "Reader"

الحصول على تفاصيل الجهاز الظاهري VMware للترحيل

في هذه الخطوة، ستستخدم Azure PowerShell للحصول على تفاصيل الجهاز الظاهري الذي يحتاج إلى ترحيل. سيتم استخدام هذه التفاصيل لإنشاء قالب Resource Manager للنسخ المتماثل. على وجه التحديد، الخاصيتين الهامتين هما:

  • معرف مورد الجهاز للأجهزة الظاهرية المكتشفة.
  • قائمة الأقراص الخاصة بالجهاز الظاهري ومعرفات القرص الخاصة به.

$ProjectResourceGroup = "ContosoVMwareCMK"   #Resource group that the Azure Migrate Project is created in
$ProjectName = "ContosoVMwareCMK"            #Name of the Azure Migrate Project

$solution = Get-AzResource -ResourceGroupName $ProjectResourceGroup -ResourceType Microsoft.Migrate/MigrateProjects/solutions -ExpandProperties -ResourceName $ProjectName | where Name -eq "Servers-Discovery-ServerDis
covery"

# Displays one entry for each appliance in the project mapping the appliance to the VMware sites discovered through the appliance.
$solution.Properties.details.extendedDetails.applianceNameToSiteIdMapV2 | ConvertFrom-Json | select ApplianceName, SiteId
ApplianceName  SiteId
-------------  ------
VMwareApplianc /subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite

انسخ قيمة سلسلة SiteId المطابقة لجهاز Azure Migrate الذي تم اكتشاف الجهاز الظاهري من خلاله. في المثال الموضح أعلاه، معرف الموقع هو "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite"


#Replace value with SiteId from the previous step
$SiteId = "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite"
$SiteName = Get-AzResource -ResourceId $SiteId -ExpandProperties | Select-Object -ExpandProperty Name
$DiscoveredMachines = Get-AzResource -ResourceGroupName $ProjectResourceGroup -ResourceType Microsoft.OffAzure/VMwareSites/machines  -ExpandProperties -ResourceName $SiteName

#Get machine details
PS /home/bharathram> $MachineName = "FPL-W19-09"     #Replace string with VMware VM name of the machine to migrate
PS /home/bharathram> $machine = $Discoveredmachines | where {$_.Properties.displayName -eq $MachineName}
PS /home/bharathram> $machine.count   #Validate that only 1 VM was found matching this name.

انسخ قيم معرف المورد والاسم والقرص uuid للجهاز المراد ترحيله.

PS > $machine.Name
10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210
PS > $machine.ResourceId
/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210

PS > $machine.Properties.disks | select uuid, label, name, maxSizeInBytes

uuid                                 label       name    maxSizeInBytes
----                                 -----       ----    --------------
6000C291-5106-2aac-7a74-4f33c3ddb78c Hard disk 1 scsi0:0    42949672960
6000C293-39a1-bd70-7b24-735f0eeb79c4 Hard disk 2 scsi0:1    53687091200
6000C29e-cbee-4d79-39c7-d00dd0208aa9 Hard disk 3 scsi0:2    53687091200

إنشاء قالب Resource Manager للنسخ المتماثل

  • افتح ملف قالب Resource Manager الذي قمت بتنزيله في خطوة تحديد مكونات البنية الأساسية للنسخ المتماثل في محرر من اختيارك.
  • إزالة كافة تعريفات الموارد من القالب باستثناء الموارد من النوع "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems"
  • إذا كان هناك تعريفات موارد متعددة من النوع أعلاه، فقم بإزالة الكل ما عدا تعريف واحد. قم بإزالة أي تعريفات خصائص dependsOn من تعريف المورد.
  • في نهاية هذه الخطوة، يجب أن يكون لديك ملف يشبه المثال أدناه ويحتوي على نفس مجموعة الخصائص.
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
            "apiVersion": "2018-01-10",
            "name": "ContosoMigration7371rsvault/VMware104e4replicationfabric/VMware104e4replicationcontainer/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_500937f3-805e-9414-11b1-f22923456e08",
            "properties": {
                "policyId": "/Subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.RecoveryServices/vaults/ContosoMigration7371rsvault/replicationPolicies/migrateVMware104e4sitepolicy",
                "providerSpecificDetails": {
                    "instanceType": "VMwareCbt",
                    "vmwareMachineId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_500937f3-805e-9414-11b1-f22923456e08",
                    "targetResourceGroupId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/PayrollRG",
                    "targetNetworkId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/PayrollRG/providers/Microsoft.Network/virtualNetworks/PayrollNW",
                    "targetSubnetName": "PayrollSubnet",
                    "licenseType": "NoLicenseType",
                    "disksToInclude": [
                        {
                            "diskId": "6000C295-dafe-a0eb-906e-d47cb5b05a1d",
                            "isOSDisk": "true",
                            "logStorageAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.Storage/storageAccounts/migratelsa1432469187",
                            "logStorageAccountSasSecretName": "migratelsa1432469187-cacheSas",
                            "diskType": "Standard_LRS"
                        }
                    ],
                    "dataMoverRunAsAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "snapshotRunAsAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.OffAzure/VMwareSites/VMware104e4site/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "targetBootDiagnosticsStorageAccountId": "/subscriptions/6785ea1f-ac40-4244-a9ce-94b12fd832ca/resourceGroups/ContosoMigration/providers/Microsoft.Storage/storageAccounts/migratelsa1432469187",
                    "targetVmName": "PayrollWeb04"
                }
            }
        }
    ]
}
  • تحرير خاصية الاسم في تعريف المورد. استبدل السلسلة التي تتبع "/" الأخيرة في خاصية الاسم بقيمة $machine. الاسم ( من الخطوة السابقة).
  • تغيير قيمة الخاصية properties.providerSpecificDetails.vmwareMachineId بقيمة $machine. ResourceId( من الخطوة السابقة).
  • تعيين قيم targetResourceGroupId و targetNetworkId و targetSubnetName إلى معرف مجموعة الموارد الهدف ومعرف مورد الشبكة الظاهرية الهدف واسم الشبكة الفرعية الهدف على التوالي.
  • تعيين قيمة licenseType إلى "WindowsServer" لتطبيق Azure Hybrid Benefit لهذا الجهاز الظاهري. إذا لم يكن هذا الجهاز الظاهري مؤهلا ل Azure Hybrid Benefit، فقم بتعيين قيمة licenseType إلى NoLicenseType.
  • تغيير قيمة الخاصية targetVmName إلى اسم الجهاز الظاهري Azure المطلوب للجهاز الظاهري الذي تم ترحيله.
  • إضافة خاصية تسمى targetVmSize اختياريا أسفل الخاصية targetVmName . تعيين قيمة الخاصية targetVmSize إلى حجم الجهاز الظاهري Azure المطلوب للجهاز الظاهري الذي تم ترحيله.
  • الخاصية disksToInclude هي قائمة بإدخالات القرص للنسخ المتماثل مع كل عنصر قائمة يمثل قرصا محليا واحدا. إنشاء العديد من عناصر القائمة مثل عدد الأقراص على الجهاز الظاهري المحلي. استبدل الخاصية diskId في عنصر القائمة ب uuid للأقراص المحددة في الخطوة السابقة. قم بتعيين قيمة isOSDisk إلى "true" لقرص نظام التشغيل للجهاز الظاهري و"false" لكافة الأقراص الأخرى. اترك الخاصيتين logStorageAccountId وlogStorageAccountSasSecretNameدون تغيير. تعيين قيمة diskType إلى نوع القرص المدار Azure (Standard_LRS، Premium_LRS، StandardSSD_LRS) لاستخدامها للقرص. بالنسبة للأقراص التي تحتاج إلى تشفير باستخدام CMK، أضف خاصية تسمى diskEncryptionSetId وقم بتعيين القيمة إلى معرف المورد لمجموعة تشفير القرص التي تم إنشاؤها ($des. المعرف) في خطوة إنشاء مجموعة تشفير قرص
  • احفظ ملف القالب الذي تم تحريره. على سبيل المثال أعلاه، يبدو ملف القالب المحرر كما يلي:
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
            "apiVersion": "2018-01-10",
            "name": "ContosoVMwareCMK00ddrsvault/VMwareApplianca8bareplicationfabric/VMwareApplianca8bareplicationcontainer/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210",
            "properties": {
                "policyId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.RecoveryServices/vaults/ContosoVMwareCMK00ddrsvault/replicationPolicies/migrateVMwareApplianca8basitepolicy",
                "providerSpecificDetails": {
                    "instanceType": "VMwareCbt",
                    "vmwareMachineId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210",
                    "targetResourceGroupId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoMigrationTarget",
                    "targetNetworkId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/cmkRTest/providers/Microsoft.Network/virtualNetworks/cmkvm1_vnet",
                    "targetSubnetName": "cmkvm1_subnet",
                    "licenseType": "NoLicenseType",
                    "disksToInclude": [
                        {
                            "diskId": "6000C291-5106-2aac-7a74-4f33c3ddb78c",
                            "isOSDisk": "true",
                            "logStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                            "logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
                            "diskEncryptionSetId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
                            "diskType": "Standard_LRS"
                        },
                        {
                            "diskId": "6000C293-39a1-bd70-7b24-735f0eeb79c4",
                            "isOSDisk": "false",
                            "logStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                            "logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
                            "diskEncryptionSetId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
                            "diskType": "Standard_LRS"
                        },
                        {
                            "diskId": "6000C29e-cbee-4d79-39c7-d00dd0208aa9",
                            "isOSDisk": "false",
                            "logStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                            "logStorageAccountSasSecretName": "migratelsa1671875959-cacheSas",
                            "diskEncryptionSetId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/CONTOSOMIGRATIONTARGET/providers/Microsoft.Compute/diskEncryptionSets/ContosoCMKDES",
                            "diskType": "Standard_LRS"
                        }
                    ],
                    "dataMoverRunAsAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "snapshotRunAsAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/runasaccounts/b090bef3-b733-5e34-bc8f-eb6f2701432a",
                    "targetBootDiagnosticsStorageAccountId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/ContosoVMwareCMK/providers/Microsoft.Storage/storageAccounts/migratelsa1671875959",
                    "performAutoResync": "true",
                    "targetVmName": "FPL-W19-09"
                }
            }
        }
    ]
}

إعداد النسخ المتماثل

يمكنك الآن نشر قالب Resource Manager المحرر إلى مجموعة موارد المشروع لإعداد النسخ المتماثل للجهاز الظاهري. تعرف على كيفية نشر المورد باستخدام قوالب Azure Resource Manager وAzure PowerShell

New-AzResourceGroupDeployment -ResourceGroupName $ProjectResourceGroup -TemplateFile "C:\Users\Administrator\Downloads\template.json"
DeploymentName          : template
ResourceGroupName       : ContosoVMwareCMK
ProvisioningState       : Succeeded
Timestamp               : 3/11/2020 8:52:00 PM
Mode                    : Incremental
TemplateLink            :
Parameters              :
Outputs                 :
DeploymentDebugLogLevel :

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

مراقبة حالة النسخ المتماثل من خلال تجربة المدخل وإجراء عمليات ترحيل الاختبار والترحيل.