البرنامج التعليمي: إدارة الأقراص باستخدام Azure PowerShell
تستخدم الأجهزة Azure الظاهرية (VMs) الأقراص لتخزين نظام التشغيل (OS)، والتطبيقات، والبيانات. عند إنشاء جهاز ظاهري، من المهم اختيار حجم قرص وتكوين مناسبين لحمل العمل المتوقع.
يغطي هذا البرنامج التعليمي نشر أقراص VM وإدارتها. في هذا البرنامج التعليمي، تتعلم كيفية:
- إنشاء قرص بيانات وتوصيله وتهيئته
- التحقق من حالة القرص
- تهيئة القرص
- توسيع القرص وترقيته
- فصل القرص وحذفه
المتطلبات الأساسية
يجب أن يكون لديك حساب Azure مع اشتراك نشط. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
Azure Cloud Shell
Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.
لبدء Azure Cloud Shell:
خيار | مثال/ رابط |
---|---|
انقر فوق جربه في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد جربه لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. | |
انتقل إلى https://shell.azure.com، أو حدد زر تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. | |
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. |
لاستخدام Azure Cloud Shell:
ابدأ تشغيل Cloud Shell.
حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.
ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.
حدد Enter لتشغيل التعليمات البرمجية أو الأمر.
قم بإنشاء جهاز ظاهري
تتطلب التدريبات في هذا البرنامج التعليمي VM. اتبع الخطوات الموجودة في هذا القسم لإنشاء واحد.
قبل البدء، ابحث عن المتغير $azRegion
الموجود في السطر الأول من نموذج التعليمة البرمجية وقم بتحديث القيمة لعكس المنطقة المطلوبة. على سبيل المثال، لتحديد منطقة وسط الولايات المتحدة، استخدم $azRegion = "Central US"
. بعد ذلك، استخدم التعليمة البرمجية لنشر الجهاز الظاهري ضمن مجموعة موارد جديدة. تتم مطالبتك بقيم اسم المستخدم وكلمة المرور لحساب المسؤول المحلي الخاص بالجهاز الظاهري.
$azRegion = "[Your Region]"
$azResourceGroup = "myDemoResourceGroup"
$azVMName = "myDemoVM"
$azDataDiskName = "myDemoDataDisk"
New-AzVm `
-Location $azRegion `
-ResourceGroupName $azResourceGroup `
-Name $azVMName `
-Size "Standard_D2s_v3" `
-VirtualNetworkName "myDemoVnet" `
-SubnetName "myDemoSubnet" `
-SecurityGroupName "myDemoNetworkSecurityGroup" `
-PublicIpAddressName "myDemoPublicIpAddress"
يؤكد الإخراج إنشاء الجهاز الظاهري بنجاح.
ResourceGroupName : myDemoResourceGroup
Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoTestVM
VmId : [{GUID}]
Name : myDemoVM
Type : Microsoft.Compute/virtualMachines
Location : centralus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : mydemovm-abc123.Central US.cloudapp.azure.com
يتم توفير الجهاز الظاهري، ويتم إنشاء قرصين وتوصيلهما تلقائياً.
- قرص نظام التشغيل، الذي يستضيف نظام تشغيل الجهاز الظاهري.
- قرص مؤقت، والذي يستخدم بشكل أساسي لعمليات مثل معالجة البيانات المؤقتة.
إضافة قرص بيانات
نوصي بفصل بيانات التطبيق والمستخدم عن البيانات المتعلقة بنظام التشغيل عندما يكون ذلك ممكناً. إذا كنت بحاجة إلى تخزين بيانات المستخدم أو التطبيق على الجهاز الظاهري، فسوف تقوم عادة بإنشاء وإرفاق أقراص بيانات إضافية.
اتبع الخطوات في هذا القسم لإنشاء قرص بيانات وتوصيله وتهيئته على الجهاز الظاهري.
إنشاء قرص البيانات
يرشدك هذا القسم من خلال إنشاء قرص بيانات.
قبل إنشاء قرص بيانات، يجب أولاً إنشاء كائن القرص. يستخدم نموذج التعليمة البرمجية التالي New-AzDiskConfig cmdlet لتكوين كائن القرص.
$diskConfig = New-AzDiskConfig ` -Location $azRegion ` -CreateOption Empty ` -DiskSizeGB 128 ` -SkuName "Standard_LRS"
بعد إنشاء كائن القرص، استخدم New-AzDisk cmdlet لتوفير قرص البيانات.
$dataDisk = New-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName ` -Disk $diskConfig
يمكنك استخدام Get-AzDisk cmdlet للتحقق من إنشاء القرص.
Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName
في هذا المثال، يؤكد الإخراج إنشاء القرص. تؤكد قيم الخاصية
DiskState
وManagedBy
أن القرص غير متصل بعد.ResourceGroupName : myDemoResourceGroup ManagedBy : ManagedByExtended : {} OsType : DiskSizeGB : 128 DiskSizeBytes : 137438953472 ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Unattached Name : myDemoDataDisk
توصيل قرص البيانات
يجب توصيل قرص بيانات بالجهاز الظاهري قبل أن يتمكن الجهاز الظاهري من الوصول إليه. أكمل الخطوات في هذا القسم لإنشاء مرجع للجهاز الظاهري، وتوصيل القرص، وتحديث تكوين الجهاز الظاهري.
احصل على الجهاز الظاهري الذي سترفق به قرص البيانات. يستخدم نموذج التعليمة البرمجية التالي Get-AzVM cmdlet لإنشاء مرجع للجهاز الظاهري.
$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
بعد ذلك، أرفق قرص البيانات إلى تكوين الجهاز الظاهري باستخدام Add-AzVMDataDisk cmdlet.
$vm = Add-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName ` -CreateOption Attach ` -ManagedDiskId $dataDisk.Id ` -Lun 1
وأخيراً، تحديث تكوين الجهاز الظاهري Update-AzVM cmdlet.
Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vm
بعد توقف مؤقت قصير، يؤكد الإخراج تنفيذ الاتصال بنجاح.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
تهيئة قرص البيانات
بعد توصيل قرص بيانات بالجهاز الظاهري، يجب تكوين نظام التشغيل لاستخدام القرص. يقدم القسم التالي إرشادات حول كيفية الاتصال بالجهاز الظاهري البعيد وتكوين القرص الأول المُضاف.
قم بتسجيل الدخول إلى بوابة Azure.
حدد موقع الجهاز الظاهري الذي قمت بتوصيل قرص البيانات به. قم بإنشاء اتصال بروتوكول سطح المكتب البعيد (RDP) وتسجيل الدخول كمسؤول محلي.
بعد تأسيس اتصال RDP إلى الجهاز الظاهري البعيد حدد القائمة ابدأ في Windows. أدخل "PowerShell" في مربع البحث وحدد "Windows PowerShell" لفتح نافذة PowerShell.
في نافذة PowerShell المفتوحة، قم بتشغيل البرنامج النصي التالي.
Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDemoDataDisk" -Confirm:$false
يؤكد الإخراج تنفيذ التهيئة بنجاح.
DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size ----------- --------------- ---------- --------- ------------ ----------------- ------------- ---- F myDemoDataDisk NTFS Fixed Healthy OK 127.89 GB 128 GB
توسيع قرص
يمكنك توسيع أقراص Azure لتوفير سعة تخزين إضافية عندما يكون الجهاز الظاهري منخفضاً على مساحة القرص المتوفرة.
تتطلب بعض السيناريوهات تخزين البيانات على قرص نظام التشغيل. على سبيل المثال، قد يُطلب منك دعم التطبيقات القديمة التي تقوم بتثبيت المكونات على محرك نظام التشغيل. قد تحتاج أيضاً إلى ترحيل جهاز كمبيوتر فعلي محلي أو جهاز ظاهري بمحرك نظام تشغيل أكبر. في مثل هذه الحالات، قد يصبح من الضروري توسيع قرص نظام تشغيل الجهاز الظاهري.
لا يتوفر دعم تقليص قرص موجود، وقد يؤدي ذلك إلى فقد البيانات.
تحديث حجم القرص
اتبع الخطوات التالية لتغيير حجم قرص نظام التشغيل أو قرص بيانات.
حدد الجهاز الظاهري الذي يحتوي على القرص الذي ستقوم بتغيير حجمه باستخدام cmdlet
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
يجب إيقاف الجهاز الظاهري قبل تغيير حجم قرص الجهاز الظاهري. استخدم
Stop-AzVM
cmdlet لإيقاف الجهاز الظاهري. سيُطلب منك التأكيد.هام
قبل الشروع في إيقاف تشغيل الجهاز الظاهري، تأكد دائماً من عدم وجود موارد أو بيانات مهمة يمكن فقدها.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
بعد فترة توقف مؤقت قصيرة، يؤكد الإخراج إيقاف الجهاز بنجاح.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :
بعد إيقاف الجهاز الظاهري، احصل على مرجع إلى نظام التشغيل أو قرص البيانات المتصل بالجهاز الظاهري باستخدام cmdlet
Get-AzDisk
.يحدد المثال التالي قرص نظام تشغيل الجهاز الظاهري.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.Name
يحدد المثال التالي قرص البيانات الأول للجهاز الظاهري.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].Name
الآن بعد أن أصبح لديك مرجع إلى القرص، اضبط حجمه على 250 GiB.
هام
يجب أن يكون الحجم الجديد أكبر من حجم القرص الموجود. الحد الأقصى المسموح به لأقراص نظام التشغيل هو 4,095 GiB.
$disk.DiskSizeGB = 250
بعد ذلك، قم بتحديث صورة القرص باستخدام
Update-AzDisk
cmdlet.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.Name
يتم تحديث صورة القرص، ويؤكد الإخراج الحجم الجديد للقرص.
ResourceGroupName : myDemoResourceGroup ManagedBy : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoVM Sku : Microsoft.Azure.Management.Compute.Models.DiskSku TimeCreated : 9/135/2021 6:41:10 PM CreationData : Microsoft.Azure.Management.Compute.Models.CreationData DiskSizeGB : 250 DiskSizeBytes : 268435456000 UniqueId : {GUID} ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Reserved Encryption : Microsoft.Azure.Management.Compute.Models.Encryption Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/disks/myDemoDataDisk Name : myDemoDataDisk Type : Microsoft.Compute/disks Location : centralus
وأخيراً، أعد تشغيل الجهاز الظاهري باستخدام
Start-AzVM
cmdlet.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
بعد فترة توقف مؤقت قصيرة، يؤكد الإخراج بدء تشغيل الجهاز بنجاح.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
توسيع وحدة تخزين القرص في نظام التشغيل
قبل أن تتمكن من الاستفادة من حجم القرص الجديد، تحتاج إلى توسيع وحدة التخزين داخل نظام التشغيل. اتبع الخطوات التالية لتوسيع وحدة تخزين القرص والاستفادة من حجمه الجديد.
قم بتسجيل الدخول إلى بوابة Azure.
حدد موقع الجهاز الظاهري الذي قمت بتوصيل قرص البيانات به. قم بإنشاء اتصال بروتوكول سطح المكتب البعيد (RDP) ثم تسجيل الدخول. إذا لم يعد لديك حق الوصول إلى حساب مسؤول، فقم بإنشاء كائن بيانات اعتماد لاسم مستخدم محدد وكلمة مرور باستخدام Get-Credential cmdlet.
بعد تأسيس اتصال RDP إلى الجهاز الظاهري البعيد حدد القائمة ابدأ في Windows. أدخل "PowerShell" في مربع البحث وحدد "Windows PowerShell" لفتح نافذة PowerShell.
افتح PowerShell، وقم بتشغيل البرنامج النصي التالي. تغيير قيمة المتغير
-DriveLetter
حسب الاقتضاء. على سبيل المثال، لتغيير حجم القسم على محرك الأقراص F: استخدم$driveLetter = "F"
.$driveLetter = "[Drive Letter]" $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) Resize-Partition ` -DriveLetter $driveLetter ` -Size $size.SizeMax
تصغير نافذة RDP والعودة إلى Azure Cloud Shell. استخدم
Get-AzDisk
cmdlet للتحقق من تغيير حجم القرص بنجاح.Get-AzDisk ` -ResourceGroupName $azResourceGroup | Out-Host -Paging
ترقية القرص
هناك عدة طرق للاستجابة لتغييرات أعباء العمل في مؤسستك. على سبيل المثال، يمكنك اختيار ترقية محرك القرص الثابت (HDD) القياسي إلى محرك أقراص ذي حالة صلبة (SSD) متميز للتعامل مع الطلب المتزايد.
اتبع الخطوات الواردة في هذا القسم لترقية قرص مُدار من قياسي إلى متميز.
حدد الجهاز الظاهري الذي يحتوي على القرص الذي ستقوم بترقيته باستخدام
Get-AzVM
cmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
يجب إيقاف الجهاز الظاهري قبل ترقية قرص الجهاز الظاهري. استخدم
Stop-AzVM
cmdlet لإيقاف الجهاز الظاهري. سيُطلب منك التأكيد.هام
قبل الشروع في إيقاف تشغيل الجهاز الظاهري، تأكد دائماً من عدم وجود موارد أو بيانات مهمة يمكن فقدها.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
بعد فترة توقف مؤقت قصيرة، يؤكد الإخراج إيقاف الجهاز بنجاح.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :
بعد إيقاف الجهاز الظاهري، احصل على مرجع إلى نظام التشغيل أو قرص البيانات المتصل بالجهاز الظاهري باستخدام cmdlet
Get-AzDisk
.يحدد المثال التالي قرص نظام تشغيل الجهاز الظاهري.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.Name
يحدد المثال التالي قرص البيانات الأول للجهاز الظاهري.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].Name
الآن بعد أن أصبح لديك مرجع إلى القرص، اضبط SKU الخاص بالقرص على Premium_LRS.
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
بعد ذلك، قم بتحديث صورة القرص باستخدام
Update-AzDisk
cmdlet.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.Name
يتم تحديث صورة القرص. استخدم التعليمة البرمجية المثال التالية للتحقق من صحة ترقية SKU للقرص.
$disk.Sku.Name
يؤكد الإخراج SKU الجديد للقرص.
Premium_LRS
وأخيراً، أعد تشغيل الجهاز الظاهري باستخدام
Start-AzVM
cmdlet.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
بعد فترة توقف مؤقت قصيرة، يؤكد الإخراج بدء تشغيل الجهاز بنجاح.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
فصل قرص البيانات
يمكنك فصل قرص بيانات من جهاز ظاهري عندما تريد توصيله بجهاز ظاهري مختلف، أو عندما لا تكون هناك حاجة إليه. بشكل افتراضي، لا يتم حذف الأقراص المنفصلة لمنع فقدان البيانات غير المقصود. سيستمر القرص المنفصل في تحمل رسوم التخزين حتى يتم حذفه.
أولاً، حدد الجهاز الظاهري الذي يتصل به القرص باستخدام cmdlet
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
بعد ذلك، افصل القرص عن الجهاز الظاهري باستخدام
Remove-AzVMDataDisk
cmdlet.Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName
تحديث حالة الجهاز الظاهري باستخدام
Update-AzVM
cmdlet لإزالة قرص البيانات.Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vm
بعد فترة توقف مؤقت قصيرة، يؤكد الإخراج تحديث الجهاز الظاهري بنجاح.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
حذف قرص البيانات
عند حذف جهاز ظاهري، تظل أقراص البيانات المرفقة بالجهاز الظاهري متوفرة وتستمر في تحمل الرسوم حتى يتم حذفها. يساعد هذا السلوك الافتراضي في منع فقدان البيانات الناتج عن الحذف غير المقصود.
يمكنك استخدام نموذج برنامج PowerShell النصي التالي لحذف الأقراص غير المرفقة. يقتصر استرداد الأقراص على myDemoResourceGroup حيث يُستخدم رمز التبديل -ResourceGroupName
مع Get-AzDisk
cmdlet.
# Get all disks in resource group $azResourceGroup
$allDisks = Get-AzDisk -ResourceGroupName $azResourceGroup
# Determine the number of disks in the collection
if($allDisks.Count -ne 0) {
Write-Host "Found $($allDisks.Count) disks."
# Iterate through the collection
foreach ($disk in $allDisks) {
# Use the disk's "ManagedBy" property to determine if it is unattached
if($disk.ManagedBy -eq $null) {
# Confirm that the disk can be deleted
Write-Host "Deleting unattached disk $($disk.Name)."
$confirm = Read-Host "Continue? (Y/N)"
if ($confirm.ToUpper() -ne 'Y') { break }
else {
# Delete the disk
$disk | Remove-AzDisk -Force
Write-Host "Unattached disk $($disk.Name) deleted."
}
}
}
}
يُحذف قرص البيانات غير المتصل كما هو موضح في الإخراج.
Name : abcd1234-ab12-cd34-ef56-abcdef123456
StartTime : 9/13/2021 10:14:05 AM
EndTime : 9/13/2021 10:14:35 AM
Status : Succeeded
Error :
تنظيف الموارد
في حالة عدم الحاجة، احذف مجموعة الموارد، والجهاز الظاهري، وجميع الموارد ذات الصلة. يمكنك استخدام نموذج برنامج PowerShell النصي التالي لحذف مجموعة الموارد التي تم إنشاؤها مسبقاً في هذا البرنامج التعليمي.
تنبيه
توخ الحذر عند حذف مجموعة موارد. لتجنب فقدان البيانات المهمة، تأكد دائماً من عدم وجود موارد أو بيانات مهمة ضمن مجموعة الموارد قبل حذفها.
Remove-AzResourceGroup -Name $azResourceGroup
سيُطلب منك التأكيد. بعد توقف مؤقت لمدة قصيرة، تؤكد الاستجابة True
حذف myDemoResourceGroup بنجاح.
Confirm
Are you sure you want to remove resource group 'myDemoResourceGroup'
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
True
الخطوات التالية
في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:
- إنشاء قرص بيانات وتوصيله وتهيئته
- التحقق من حالة القرص
- تهيئة القرص
- توسيع القرص وترقيته
- فصل القرص وحذفه
انتقل إلى البرنامج التعليمي التالي لمعرفة كيفية أتمتة تكوين الجهاز الظاهري.