تحميل 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
المتطلبات الأساسية
- بادر بتنزيل أحدث إصدار من AzCopy v10.
- تثبيت Azure CLI.
- إذا كنت تنوي تحميل VHD من الشبكة المحلية: فإنه يتم تخزين قرص VHD ثابت الحجم الذي تم إعداده لـ Azure محليًا.
- أو، قرص مدار في Azure، إذا كنت تنوي تنفيذ إجراء نسخ.
لتحميل VHD إلى Azure، تحتاج إلى إنشاء قرص مدار فارغ تم تكوينه لعملية التحميل هذه. قبل إنشاء واحد، هناك بعض المعلومات الإضافية التي يجب أن تعرفها عن هذه الأقراص.
يحتوي هذا النوع من الأقراص المدارة على حالتين فريدتين:
- ReadyToUpload، مما يعني أن القرص جاهز لتلقي تحميل، ولكن لم يتم إنشاء توقيع وصول آمن (SAS).
- ActiveUpload، مما يعني أن القرص جاهز لتلقي تحميل، وأنه تم إنشاء SAS.
إشعار
أثناء التواجد في أي من هاتين الحالتين، ستتم فوترة القرص المدار بسعر محرك الأقراص الثابتة القياسي، بغض النظر عن نوع القرص الفعلي. على سبيل المثال، ستتم فوترة P10 على أنها S10. سيكون هذا صحيحاً حتى يتم استدعاء revoke-access
على القرص المدار، وهو مطلوب لإرفاق القرص بجهاز ظاهري.
إنشاء قرص مدار فارغ
قبل أن تتمكن من إنشاء HDD قياسي فارغ للتحميل، تحتاج إلى حجم ملف 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_lrs premium_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 قابل للكتابة، بحيث يمكنك الرجوع إليه كوجهة لتحميلك.
هام
في 15 فبراير 2025، سيقتصر وقت وصول توقيع الوصول المشترك (SAS) للأقراص واللقطات على 60 يوما كحد أقصى. تؤدي محاولة إنشاء SAS مع انتهاء صلاحية أطول من 60 يوما إلى حدوث خطأ. قد يتوقف أي قرص موجود أو لقطة SAS تم إنشاؤها مع انتهاء صلاحية أطول من 60 يوما عن العمل بعد 60 يوما من تاريخ الإنشاء وسينتج عنه خطأ 403 أثناء التخويل.
إذا كان انتهاء صلاحية SAS للقرص المدار أو اللقطة أطول من 60 يوما، قم بإلغاء الوصول إليه، وإنشاء SAS جديد يطلب الوصول لمدة 60 يوما (5184000 ثانية) أو أقل. تحسين الأمان العام باستخدام SAS مع تواريخ انتهاء صلاحية أقصر. قم بإجراء هذه التغييرات قبل 15 فبراير 2025 لمنع انقطاع الخدمة. يمكن استخدام الارتباطات التالية للبحث عن SAS جديد وإبطاله وطلبه.
- للتحقق مما إذا كان القرص يحتوي على SAS نشط، يمكنك إما استخدام واجهة برمجة تطبيقات REST أو Azure CLI أو الوحدة النمطية Azure PowerShell وفحص الخاصية DiskState .
- لإبطال SAS، يمكنك استخدام إما REST API أو Azure CLI أو الوحدة النمطية Azure PowerShell.
- لإنشاء SAS، يمكنك استخدام واجهة برمجة تطبيقات REST أو Azure CLI أو الوحدة النمطية Azure PowerShell، وتعيين مدة الوصول إلى 5184000 ثانية أو أقل.
لإنشاء 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 إلى قرص مدار، يمكنك إرفاق القرص كـ قرص بيانات بجهاز ظاهري موجود أو إرفاق القرص بجهاز ظاهري كقرص نظام تشغيل، لإنشاء جهاز ظاهري جديد.
إذا كان لديك المزيد من الأسئلة، فشاهد قسم تحميل قرص مدار في الأسئلة المتداولة.