مشاركة عبر


تصدير/نسخ اللقطات المدارة إلى حساب تخزين في منطقة مختلفة باستخدام CLI

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

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

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

نموذج البرنامج النصي

إطلاق Azure Cloud Shell

Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com.

عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.

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

يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدال subscriptionId بمعرف اشتراك Azure الخاص بك.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

لمزيد من المعلومات، راجع تعيين الاشتراك النشط أو تسجيل الدخول بشكل تفاعلي.

تشغيل البرنامج النصي

#Provide the subscription Id where snapshot is created
subscriptionId="<subscriptionId>"

#Provide the name of your resource group where snapshot is created
resourceGroupName=myResourceGroupName

#Provide the snapshot name 
snapshotName=mySnapshotName

#Provide Shared Access Signature (SAS) expiry duration in seconds e.g. 3600.
#Know more about SAS here: https://docs.microsoft.com/azure/storage/storage-dotnet-shared-access-signature-part-1
sasExpiryDuration=3600

#Provide storage account name where you want to copy the snapshot. 
storageAccountName=mystorageaccountname

#Name of the storage container where the downloaded snapshot will be stored
storageContainerName=mystoragecontainername

#Provide the key of the storage account where you want to copy snapshot. 
storageAccountKey=mystorageaccountkey

#Provide the name of the VHD file to which snapshot will be copied.
destinationVHDFileName=myvhdfilename

az account set --subscription $subscriptionId

sas=$(az snapshot grant-access --resource-group $resourceGroupName --name $snapshotName --duration-in-seconds $sasExpiryDuration --query [accessSas] -o tsv)

az storage blob copy start --destination-blob $destinationVHDFileName --destination-container $storageContainerName --account-name $storageAccountName --account-key $storageAccountKey --source-uri $sas

تنظيف الموارد

قم بتشغيل الأمر التالي لإزالة مجموعة الموارد، VM، وجميع الموارد ذات الصلة.

az group delete --name myResourceGroupName

نموذج مرجع

يستخدم هذا البرنامج النصي الأوامر التالية لإنشاء SAS URI للقطة مدارة وينسخ اللقطة إلى حساب تخزين باستخدام SAS URI. يرتبط كل أمر في الجدول بأمر وثائق معينة.

الأمر ملاحظات
az snapshot grant-access ينشئ SAS للقراءة فقط والذي يتم استخدامه لنسخ ملف VHD الأساسي إلى حساب تخزين أو تنزيله إلى موقع محلي
az storage blob copy start نسخ كائن ثنائي كبير الحجم بشكل غير متزامن من أحد حسابات التخزين إلى آخر

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

إنشاء قرص مُدار من ملف VHD

إنشاء جهاز ظاهري من قرص مُدار

لمزيد من المعلومات عن Azure CLI، راجع وثائق Azure CLI.

يمكن العثور على نماذج إضافية من برنامج CLI النصي للأجهزة الظاهرية والأقراص المُدارة الموجودة في وثائق Azure Linux VM.