تحميل VHD إلى Azure أو نسخ قرص مدار إلى منطقة أخرى - Azure CLI

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ أجهزة Windows الظاهرية ✔️ مجموعات مقياس مرنة

توضح هذه المقالة كيفية تحميل VHD من جهازك المحلي إلى قرص مدار من Azure أو نسخ قرص مدار إلى منطقة أخرى، باستخدام AzCopy. تمكنك هذه العملية، التحميل المباشر، من تحميل VHD يصل حجمه إلى 32 تيبي بايت مباشرة إلى قرص مدار. حاليا، يتم دعم التحميل المباشر ل Ultra Disks وPremium SSD v2 وPremium SSD وStandard SSD وStandard HDD.

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

تحميلات آمنة باستخدام معرف Microsoft Entra

إذا كنت تستخدم معرف Microsoft Entra للتحكم في الوصول إلى الموارد، يمكنك الآن استخدامه لتقييد تحميل الأقراص المدارة من Azure. تتوفر هذه الميزة كعرض GA في جميع المناطق. عندما يحاول مستخدم تحميل قرص، يتحقق Azure من هوية المستخدم الطالب في معرف Microsoft Entra، ويؤكد أن المستخدم لديه الأذونات المطلوبة. على مستوى أعلى، يمكن لمسؤول النظام تعيين نهج على حساب Azure أو مستوى الاشتراك، للتأكد من أن هوية Microsoft Entra لديها الأذونات اللازمة للتحميل قبل السماح بتحميل قرص أو لقطة قرص. إذا كانت لديك أي أسئلة حول تأمين التحميلات باستخدام معرف Microsoft Entra، فتواصل مع هذا البريد الإلكتروني: azuredisks@microsoft .com

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

القيود

  • لا يمكن تحميل الأقراص الثابتة الظاهرية إلى لقطات فارغة.
  • لا يدعم Azure Backup حاليا الأقراص المؤمنة باستخدام معرف Microsoft Entra.
  • لا يدعم Azure Site Recovery حاليا الأقراص المؤمنة باستخدام معرف Microsoft Entra.

تعيين دور التحكم في الوصول استناداً إلى الدور (RBAC)

للوصول إلى الأقراص المدارة المؤمنة باستخدام معرف Microsoft Entra، يجب أن يكون لدى المستخدم الطالب إما دور عامل تشغيل البيانات للأقراص المدارة، أو دور مخصص بالأذونات التالية:

  • Microsoft.Compute/disks/download/action
  • Microsoft.Compute/disks/upload/action
  • Microsoft.Compute/snapshots/download/action
  • Microsoft.Compute/snapshots/upload/action

للحصول على خطوات مفصلة حول تعيين دور، راجع تعيين أدوار Azure باستخدام Azure CLI. لإنشاء دور مخصص أو لتحديثه، راجع إنشاء أو تحديث أدوار Azure المخصصة باستخدام Azure CLI.

الشروع في العمل

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

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

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

يحتوي هذا النوع من الأقراص المدارة على حالتين فريدتين:

  • ReadyToUpload، مما يعني أن القرص جاهز لتلقي تحميل، ولكن لم يتم إنشاء توقيع وصول آمن (SAS).
  • ActiveUpload، مما يعني أن القرص جاهز لتلقي تحميل، وأنه تم إنشاء SAS.

إشعار

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

إنشاء قرص مدار فارغ

قبل أن تتمكن من إنشاء محرك أقراص ثابتة قياسي فارغ للتحميل، ستحتاج إلى حجم ملف VHD الذي تريد تحميله، بالبايت. للحصول على ذلك، يمكنك استخدام إما wc -c <yourFileName>.vhd أو ls -al <yourFileName>.vhd. يتم استخدام هذه القيمة عند تحديد المعلمة --upload-size-bytes.

قم بإنشاء محرك أقراص ثابتة قياسي فارغ للتحميل عن طريق تحديد كل من المعلمة -–for-upload والمعلمة --upload-size-bytes في cmdlet المسمى disk create:

استبدل <yourdiskname>، و<yourresourcegroupname>، و<yourregion> بالقيم التي تختارها. تحتوي المعلمة --upload-size-bytes على مثال على قيمة 34359738880، واستبدلها بقيمة مناسبة لك.

هام

إذا كنت تقوم بإنشاء قرص نظام تشغيل، فأضف --hyper-v-generation <yourGeneration> إلى az disk create.

إذا كنت تستخدم معرف Microsoft Entra لتأمين تحميلات القرص، أضف -dataAccessAuthmode 'AzureActiveDirectory'. عند التحميل إلى Ultra Disk أو Premium SSD v2، تحتاج إلى تحديد حجم القطاع الصحيح للقرص الهدف. إذا كنت تستخدم ملف VHDX بحجم قطاع منطقي 4k، يجب تعيين القرص الهدف إلى 4k. إذا كنت تستخدم ملف VHD بحجم قطاع منطقي 512، يجب تعيين القرص الهدف إلى 512.

ملفات VHDX بحجم القطاع المنطقي 512k غير مدعومة.

##For Ultra Disk or Premium SSD v2, add --logical-sector-size and specify either 512 or 4096, depending on if you're using a VHD or VHDX

az disk create -n <yourdiskname> -g <yourresourcegroupname> -l <yourregion> --os-type Linux --for-upload --upload-size-bytes 34359738880 --sku standard_lrs

إذا كنت ترغب في تحميل نوع قرص مختلف، فاستبدل standard_lrspremium_lrs أو premium_zrs أو standardssd_lrs أو standardssd_zrs أو premiumv2_lrs أو ultrassd_lrs.

(اختياري) منح حق الوصول إلى القرص

إذا كنت تستخدم معرف Microsoft Entra لتأمين التحميلات، فستحتاج إلى تعيين أذونات التحكم في الوصول استنادا إلى الدور لمنح حق الوصول إلى القرص وإنشاء SAS قابل للكتابة.

az role assignment create --assignee "{assignee}" \
--role "{Data Operator for Managed Disks}" \
--scope "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceSubType}/{diskName}"

إنشاء SAS قابل للكتابة

الآن بعد أن أنشأت قرصاً مداراً فارغاً تم تكوينه لعملية التحميل، يمكنك تحميل VHD إليه. لتحميل VHD إلى القرص، ستحتاج إلى SAS قابل للكتابة، بحيث يمكنك الرجوع إليه كوجهة للتحميل.

لإنشاء SAS قابل للكتابة من القرص المدار الفارغ، استبدل <yourdiskname> و<yourresourcegroupname>، ثم استخدم الأوامر التالية:

az disk grant-access -n <yourdiskname> -g <yourresourcegroupname> --access-level Write --duration-in-seconds 86400

قيمة العينة المرتجعة:

{
  "accessSas": "https://md-impexp-t0rdsfgsdfg4.blob.core.windows.net/w2c3mj0ksfgl/abcd?sv=2017-04-17&sr=b&si=600a9281-d39e-4cc3-91d2-923c4a696537&sig=xXaT6mFgf139ycT87CADyFxb%2BnPXBElYirYRlbnJZbs%3D"
}

تحميل VHD أو VHDX

الآن بعد أن أصبح لديك SAS للقرص المدار الفارغ، يمكنك استخدامه لتعيين القرص المدار كوجهة لأمر التحميل.

استخدم AzCopy v10 لتحميل ملف VHD أو VHDX المحلي إلى قرص مدار عن طريق تحديد SAS URI الذي أنشأته.

يحتوي هذا التحميل على نفس معدل النقل، مثل محرك الأقراص الثابتة القياسي المكافئ. على سبيل المثال، إذا كان لديك حجم يساوي S4، فسيكون لديك معدل نقل يصل إلى 60 ميبي بايت / ث. ولكن، إذا كان لديك حجم يساوي S70، فسيكون لديك معدل نقل يصل إلى 500 ميبي بايت/ث.

AzCopy.exe copy "c:\somewhere\mydisk.vhd" "sas-URI" --blob-type PageBlob

بعد اكتمال التحميل، ولم تعد بحاجة إلى كتابة أي بيانات أخرى على القرص، قم بإلغاء SAS. سيؤدي إلغاء SAS إلى تغيير حالة القرص المدار ويسمح لك بإرفاق القرص بجهاز ظاهري.

استبدل <yourdiskname> و<yourresourcegroupname>، ثم استخدم الأمر التالي لجعل القرص قابلاً للاستخدام:

az disk revoke-access -n <yourdiskname> -g <yourresourcegroupname>

نسخ قرص مدار

يعمل التحميل المباشر أيضاً على تبسيط عملية نسخ القرص المدار. يمكنك إما النسخ داخل نفس المنطقة أو عبر المناطق (إلى منطقة أخرى).

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

هام

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

استبدل <sourceResourceGroupHere>، و<sourceDiskNameHere>، و<targetDiskNameHere>، و<targetResourceGroupHere>، و<yourTargetLocationHere>، (مثال على قيمة الموقع سيكون uswest2) بالقيم الخاصة بك، ثم قم بتشغيل البرنامج النصي التالي لنسخ قرص مدار.

تلميح

إذا كنت تقوم بإنشاء قرص نظام تشغيل، فأضف --hyper-v-generation <yourGeneration> إلى az disk create.

sourceDiskName=<sourceDiskNameHere>
sourceRG=<sourceResourceGroupHere>
targetDiskName=<targetDiskNameHere>
targetRG=<targetResourceGroupHere>
targetLocation=<yourTargetLocationHere>
#Expected value for OS is either "Windows" or "Linux"
targetOS=<yourOSTypeHere>

sourceDiskSizeBytes=$(az disk show -g $sourceRG -n $sourceDiskName --query '[diskSizeBytes]' -o tsv)

az disk create -g $targetRG -n $targetDiskName -l $targetLocation --os-type $targetOS --for-upload --upload-size-bytes $(($sourceDiskSizeBytes+512)) --sku standard_lrs

targetSASURI=$(az disk grant-access -n $targetDiskName -g $targetRG  --access-level Write --duration-in-seconds 86400 --query [accessSas] -o tsv)

sourceSASURI=$(az disk grant-access -n $sourceDiskName -g $sourceRG --duration-in-seconds 86400 --query [accessSas] -o tsv)

azcopy copy $sourceSASURI $targetSASURI --blob-type PageBlob

az disk revoke-access -n $sourceDiskName -g $sourceRG

az disk revoke-access -n $targetDiskName -g $targetRG

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

الآن بعد أن نجحت في تحميل VHD إلى قرص مدار، يمكنك إرفاق القرص كـ قرص بيانات بجهاز ظاهري موجود أو إرفاق القرص بجهاز ظاهري كقرص نظام تشغيل، لإنشاء جهاز ظاهري جديد.

إذا كانت لديك أسئلة إضافية، فشاهد قسم تحميل قرص مدار في الأسئلة المتداولة.