تمرين - إدارة إعدادات ذاكرة التخزين المؤقت باستخدام PowerShell

مكتمل

في التمرين السابق، نفذنا المهام التالية باستخدام مدخل Azure:

  • عرض حالة ذاكرة التخزين المؤقت لقرص نظام التشغيل.
  • تغيير إعدادات ذاكرة التخزين المؤقت لقرص نظام التشغيل.
  • إضافة قرص بيانات إلى الجهاز الظاهري.
  • تغيير نوع التخزين المؤقت على قرص بيانات جديد.

فلنمارس هذه العمليات باستخدام Azure PowerShell.

إشعار

سنستخدم Azure PowerShell؛ لكن يمكنك أيضاً استخدام Azure CLI التي توفر وظائف مشابهة كأداة مستندة إلى وحدة تحكم. وهي تعمل على macOS وLinux وWindows. إذا كنت مهتماً بتعلم المزيد عن Azure CLI، راجع الوحدة إدارة الأجهزة الظاهرية باستخدام Azure CLI.

سنستخدم الجهاز الظاهري الذي أنشأناه في التمرين السابق. تفترض العمليات في هذا التمرين المعملي ما يلي:

  • يُوجد الجهاز الظاهري باسم fotoshareVM.
  • يوجد الجهاز الظاهري في مجموعة موارد تسمى [sandbox resource group name].

إذا استخدمت مجموعة مختلفة من الأسماء، فاستبدل هذه القيم باسمك.

فيما يلي الحالة الحالية لأقراص الجهاز الظاهري من التمرين الأخير:

Screenshot of our OS and data disks, both set to Read-only caching.

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

إعداد بعض المتغيرات

أولاً، فلنخزن بعض أسماء الموارد حتى نتمكن من استخدامها لاحقاً.

قم بتشغيل الأوامر التالية في Azure Cloud Shell على اليمين:

إشعار

قم بتبديل جلسة عمل Cloud Shell إلى PowerShell قبل تجربة هذه الأوامر، في حالة عدم التبديل بالفعل.

$myRgName = "<rgn>[sandbox resource group name]</rgn>"
$myVMName = "fotoshareVM"

تلميح

يجب عليك تعيين هذه المتغيرات مرة أخرى إذا انتهت مهلة جلسة Cloud Shell الخاصة بك، لذلك إذا كان ذلك ممكنا، فاعمل من خلال هذا المختبر بأكمله في جلسة واحدة.

الحصول على معلومات حول الجهاز الظاهري

  1. قم بتشغيل الأمر التالي للحصول على خصائص الجهاز الظاهري:

    $myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
    
  2. دعونا نخزن الاستجابة في متغيرنا $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.

تغيير إعدادات ذاكرة التخزين المؤقت بقرص نظام التشغيل

  1. يمكننا تعيين قيمة لنوع ذاكرة التخزين المؤقت باستخدام كائن StorageProfile نفسه بتشغيل الأوامر التالية:

    $myVM.StorageProfile.OsDisk.Caching = "ReadWrite"
    

    هذا الأمر يعمل بسرعة، ويُفهم من ذلك أنه يجري شيئاً محلياً. يغيِّر الأمر الخاصية في كائن myVMفقط. إذا قمت بتحديث $myVM المتغير عن طريق إعادة تعيينه باستخدام Get-AzVM cmdlet، فلن تتغير قيمة التخزين المؤقت على الجهاز الظاهري.

  2. لإجراء التغيير على الجهاز الظاهري نفسه، اتصل بـ Update-AzVM بتشغيل الأمر التالي:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

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

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  3. إذا قمت بتحديث $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 .

إضافة قرص بيانات جديد إلى الجهاز الظاهري

  1. للراحة، دعنا نخزن اسم القرص الجديد عن طريق تشغيل الأمر التالي:

    $newDiskName = "fotoshareVM-data2"
    
  2. قم بتشغيل الأمر التالي 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}
    
  3. لقد أعطينا هذا القرص Lun قيمة 1 لأنه لم يتم أخذه. لقد حددنا القرص الذي نريد إنشاءه، لذلك حان الوقت لتشغيل الأمر Update-AzVM لإجراء تغييرات فعلية:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    
  4. لنُلقي نظرة إلى معلومات قرص البيانات لدينا مرة أخرى عن طريق تشغيل الأمر التالي:

    $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. فلنقم بتغيير هذه القيمة.

تغيير إعدادات ذاكرة التخزين المؤقت لقرص البيانات الجديد

  1. يمكننا تعديل خصائص قرص بيانات الجهاز الظاهري بتشغيل الأمر Set-AzVMDataDisk كما يلي:

    Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
    
  2. كما هو الحال دائمًا، ثبّت التغييرات عن طريق تشغيل الأمر Update-AzVM:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

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

Screenshot of the Azure portal showing the Disks section of our VM pane with two data disks.