تمرين - إدارة إعدادات ذاكرة التخزين المؤقت باستخدام PowerShell
في التمرين السابق، نفذنا المهام التالية باستخدام مدخل Azure:
- عرض حالة ذاكرة التخزين المؤقت لقرص نظام التشغيل.
- تغيير إعدادات ذاكرة التخزين المؤقت لقرص نظام التشغيل.
- إضافة قرص بيانات إلى الجهاز الظاهري.
- تغيير نوع التخزين المؤقت على قرص بيانات جديد.
فلنمارس هذه العمليات باستخدام Azure PowerShell.
إشعار
سنستخدم Azure PowerShell؛ لكن يمكنك أيضاً استخدام Azure CLI التي توفر وظائف مشابهة كأداة مستندة إلى وحدة تحكم. وهي تعمل على macOS وLinux وWindows. إذا كنت مهتماً بتعلم المزيد عن Azure CLI، راجع الوحدة إدارة الأجهزة الظاهرية باستخدام Azure CLI.
سنستخدم الجهاز الظاهري الذي أنشأناه في التمرين السابق. تفترض العمليات في هذا التمرين المعملي ما يلي:
- يُوجد الجهاز الظاهري باسم fotoshareVM.
- يوجد الجهاز الظاهري في مجموعة موارد تسمى
[sandbox resource group name] .
إذا استخدمت مجموعة مختلفة من الأسماء، فاستبدل هذه القيم باسمك.
فيما يلي الحالة الحالية لأقراص الجهاز الظاهري من التمرين الأخير:
لقد استخدمنا المدخل لتعيين الحقل Host caching لكل من قرص نظام التشغيل وقرص البيانات. ضع هذه الحالة الأولية في اعتبارك ونحن ننفذ الخطوات التالية.
إعداد بعض المتغيرات
أولاً، فلنخزن بعض أسماء الموارد حتى نتمكن من استخدامها لاحقاً.
قم بتشغيل الأوامر التالية في Azure Cloud Shell على اليمين:
إشعار
قم بتبديل جلسة عمل Cloud Shell إلى PowerShell قبل تجربة هذه الأوامر، في حالة عدم التبديل بالفعل.
$myRgName = "<rgn>[sandbox resource group name]</rgn>"
$myVMName = "fotoshareVM"
تلميح
يجب عليك تعيين هذه المتغيرات مرة أخرى إذا انتهت مهلة جلسة Cloud Shell الخاصة بك، لذلك إذا كان ذلك ممكنا، فاعمل من خلال هذا المختبر بأكمله في جلسة واحدة.
الحصول على معلومات حول الجهاز الظاهري
قم بتشغيل الأمر التالي للحصول على خصائص الجهاز الظاهري:
$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
دعونا نخزن الاستجابة في متغيرنا
$myVM
. يمكننا تزويد أمر cmdlet لـselect-object
بالمخرجات لتصفية العرض على خصائص محددة:$myVM | select-object -property ResourceGroupName, Name, Type, Location
يجب أن تحصل على شيء مثل الإخراج التالي:
ResourceGroupName Name Type Location ----------------- ---- ---- -------- <rgn>[sandbox resource group name]</rgn> fotoshareVM Microsoft.Compute/virtualMachines eastus
عرض حالة ذاكرة التخزين المؤقت لقرص نظام التشغيل
يمكننا التحقق من إعداد التخزين المؤقت من خلال العنصر StorageProfile
بتشغيل الأوامر التالية:
$myVM.StorageProfile.OsDisk.Caching
ReadOnly
فلنقم بتغييره مرة أخرى إلى الإعداد الافتراضي لقرص نظام التشغيل، وهو ReadWrite.
تغيير إعدادات ذاكرة التخزين المؤقت بقرص نظام التشغيل
يمكننا تعيين قيمة لنوع ذاكرة التخزين المؤقت باستخدام كائن
StorageProfile
نفسه بتشغيل الأوامر التالية:$myVM.StorageProfile.OsDisk.Caching = "ReadWrite"
هذا الأمر يعمل بسرعة، ويُفهم من ذلك أنه يجري شيئاً محلياً. يغيِّر الأمر الخاصية في كائن
myVM
فقط. إذا قمت بتحديث$myVM
المتغير عن طريق إعادة تعيينه باستخدامGet-AzVM
cmdlet، فلن تتغير قيمة التخزين المؤقت على الجهاز الظاهري.لإجراء التغيير على الجهاز الظاهري نفسه، اتصل بـ
Update-AzVM
بتشغيل الأمر التالي:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
لاحظ أن هذا الاستدعاء يستغرق بعض الوقت لإكماله لأننا نقوم بتحديث الجهاز الظاهري الفعلي، ويعيد Azure تشغيل الجهاز الظاهري لإجراء التغيير.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
إذا قمت بتحديث
$myVM
المتغير مرة أخرى عن طريق تشغيل الأمر التالي، فسترى التغيير على العنصر . إذا نظرت إلى القرص في المدخل، فسترى أيضا التغيير هناك.$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName $myVM.StorageProfile.OsDisk.Caching
ReadWrite
سرد معلومات قرص البيانات
لمعرفة أقراص البيانات الموجودة لدينا على الجهاز الظاهري، قم بتشغيل الأمر التالي:
$myVM.StorageProfile.DataDisks
Name : fotoshareVM-data
DiskSizeGB : 4
Lun : 0
Caching : ReadOnly
CreateOption : Attach
SourceImage :
VirtualHardDisk :
لدينا قرص بيانات واحد فقط حالياً. الحقل Lun
حقل مهم. وهو رقمالوحدةالمنطقي. عندما نضيف قرص بيانات آخر، نعطيه قيمة فريدة Lun
.
إضافة قرص بيانات جديد إلى الجهاز الظاهري
للراحة، دعنا نخزن اسم القرص الجديد عن طريق تشغيل الأمر التالي:
$newDiskName = "fotoshareVM-data2"
قم بتشغيل الأمر التالي
Add-AzVMDataDisk
لتعريف قرص بيانات فارغ جديد بسعة 1 غيغابايت:Add-AzVMDataDisk -VM $myVM -Name $newDiskName -LUN 1 -DiskSizeinGB 1 -CreateOption Empty
يمكنك الحصول على استجابة مثل:
ResourceGroupName : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxx/resourceGroups/<rgn>[sandbox resource group name]</rgn>/providers/Microsoft.Compute/virtualMachines/fotoshareVM VmId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Name : fotoshareVM Type : Microsoft.Compute/virtualMachines Location : eastus Tags : {} DiagnosticsProfile : {BootDiagnostics} HardwareProfile : {VmSize} NetworkProfile : {NetworkInterfaces} OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets} ProvisioningState : Succeeded StorageProfile : {ImageReference, OsDisk, DataDisks}
لقد أعطينا هذا القرص
Lun
قيمة1
لأنه لم يتم أخذه. لقد حددنا القرص الذي نريد إنشاءه، لذلك حان الوقت لتشغيل الأمرUpdate-AzVM
لإجراء تغييرات فعلية:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
لنُلقي نظرة إلى معلومات قرص البيانات لدينا مرة أخرى عن طريق تشغيل الأمر التالي:
$myVM.StorageProfile.DataDisks
Name : fotoshareVM-data DiskSizeGB : 4 Lun : 0 Caching : ReadOnly CreateOption : Attach SourceImage : VirtualHardDisk : Name : fotoshareVM-data2 DiskSizeGB : 1 Lun : 1 Caching : None CreateOption : Empty SourceImage : VirtualHardDisk :
لدينا الآن قرصان. لدينا قرص جديد يحتوي على Lun
من 1
والقيمة الافتراضية لـ Caching
هي None
. فلنقم بتغيير هذه القيمة.
تغيير إعدادات ذاكرة التخزين المؤقت لقرص البيانات الجديد
يمكننا تعديل خصائص قرص بيانات الجهاز الظاهري بتشغيل الأمر
Set-AzVMDataDisk
كما يلي:Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
كما هو الحال دائمًا، ثبّت التغييرات عن طريق تشغيل الأمر
Update-AzVM
:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
فيما يلي عرض من مدخل ما أنجزناه في هذا التمرين. يحتوي الجهاز الظاهري لدينا الآن على قرصين للبيانات، وقمنا بتعديل جميع إعدادات التخزين المؤقت للمضيف . لقد فعلنا كل ذلك مع عدد قليل من الأوامر باستخدام قوة Azure PowerShell.