قم بتكوين التخزين لأجهزة SQL Server VMs

ينطبق على: Microsoft SQL Server على Azure VM

تعلمك هذه المقالة كيفية تكوين وحدة التخزين الخاصة بك لـSQL Server على Azure Virtual Machines (VMs).

تتبع SQL Server VMs التي تم نشرها من خلال صور الـmarketplace تلقائياً أفضل ممارسات التخزين الافتراضية التي يمكن تعديلها أثناء النشر. يمكن تغيير بعض إعدادات التكوين هذه بعد النشر.

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

لاستخدام إعدادات تكوين التخزين المؤتمتة، يتطلب جهازك الظاهري الخصائص التالية:

VMs جديدة

توضح الأقسام التالية كيفية تكوين وحدات التخزين للأجهزة الافتراضية الجديدة ل SQL Server.

مدخل Microsoft Azure

عند توفير Azure VM باستخدام صورة معرض SQL Server، حدد Change configuration ضمن Storage في علامة التبويب SQL Server Settings لفتح صفحة Configure storage. يمكنك إما ترك القيم في الوضع الافتراضي أو تعديل نوع تكوين القرص الذي يناسب احتياجاتك على أفضل نحو استناداً إلى حمل العمل لديك.

Screenshot that highlights the SQL Server settings tab and the Change configuration option.

اختر موقع محرك الأقراص لملفات البيانات وملفات السجل، مع تحديد نوع القرص وعدد الأقراص. استخدم قيم IOPS لتحديد أفضل تكوين تخزين لتلبية احتياجات عملك. يؤدي اختيار التخزين المتميز إلى تعيين التخزين المؤقت على ReadOnly لمحرك البيانات، وNone لمحرك أقراص السجل وفقاً لأفضل ممارسات أداء SQL Server VM.

SQL Server VM Storage Configuration During Provisioning

يعد تكوين القرص قابلاً للتخصيص بالكامل بحيث يمكنك تكوين مخطط وحدة التخزين ونوع القرص ونظام الإدخال والإخراج (IOP) التي تحتاجها لحمل عمل برنامج SQL Server VM. يمكنك أيضاً استخدام UltraSSD (معاينة) كخيار ل نوع القرص إذا كان SQL Server VM في إحدى المناطق المدعومة (شرق الولايات المتحدة 2، جنوب شرق آسيا وشمال أوروبا) وقد قمت بتمكين أقراص فائقة لاشتراكك.

قم بتكوين إعدادات قاعدة بيانات tempdb ضمن Tempdbstorage، مثل موقع ملفات قاعدة البيانات، بالإضافة إلى عدد الملفات والحجم الأولي وحجم النمو التلقائي بالميجابايت(MB). الحد الأقصى لعدد ملفات tempdb أثناء التوزيع في الوقت الحالي، هو 8، ولكن يمكن إضافة المزيد من الملفات بعد توزيع SQL Server VM.

Screenshot that shows where you can configure the tempdb storage for your SQL VM

بالإضافة إلى ذلك، يمكنك تعيين التخزين المؤقت للأقراص. تتوفر لدى Azure VMs تقنية تخزين مؤقت متعددة الطبقات تسمى ذاكرة تخزين مؤقت ثنائية المستوى (Blob Cache) عند استخدامها مع أقراص Premium. تستخدم ذاكرة التخزين المؤقت Blob Cache مزيجاً من ذاكرة الوصول العشوائي (RAM) للأجهزة الافتراضية ومحرك الأقراص الثابتة (SSD) المحلي للتخزين المؤقت.

يمكن أن يكون التخزين المؤقت على القرص الخاص ب Premium SSD ReadOnly أو ReadWrite أو None.

  • يفيد التخزين المؤقت ReadOnly بشكل كبير ملفات بيانات SQL Server المخزنة على Premium Storage. توفر ذاكرة التخزين المؤقت ReadOnly زمن وصول أقل للقراءة، وعمليات إدخال وإخراج في الثانية (IOPS) فائقة القراءة، وسعة معالجة فائقة، حيث يتم إجراء عمليات القراءة من ذاكرة التخزين المؤقت، التي تقع ضمن ذاكرة VM ومحرك الأقراص في الحالة الصلبة (SSD) المحلي. تكون عمليات القراءة هذه أسرع بكثير من عمليات القراءة من قرص البيانات، والذي يأتي من مخزن Azure Blob. لا تعد وحدات التخزين الفائقة عدد مرات القراءة التي تتم خدمتها من ذاكرة التخزين المؤقت لعمليات الإدخال والإخراج في الثانية (IOPS) بالقرص وسعة المعالجة. وبالتالي، فإن تطبيقك قادر على تحقيق إجمالي أعلى لإجمالي عمليات الإدخال والإخراج في الثانية (IOPS) وسعة المعالجة.

  • لا يجب استخدام تكوين ذاكرة التخزين المؤقت للأقراص التي تستضيف ملف سجل SQL Server لأن ملف السجل مكتوب بالتتابع ولا يستفيد من التخزين المؤقت ReadOnly.

  • يجب عدم استخدام التخزين المؤقت ReadWrite لاستضافة ملفات SQL Server لأن SQL Server لا يدعم تناسق البيانات مع ذاكرة التخزين المؤقت ReadWrite. يكتب سعة المخلفات لذاكرة التخزين المؤقت ReadOnly blob وزمن الانتقال يزيدان قليلاً إذا مرت الكتابة عبر طبقات ذاكرة التخزين المؤقت ل ReadOnly blob.

    تلميح

    تأكد من أن تكوين وحدة التخزين يتوافق مع القيود المفروضة من حجم VM المحدد. سيؤدي اختيار معلمات التخزين التي تتجاوز الحد الأقصى للأداء الخاص بحجم VM إلى تحذير: The desired performance might not be reached due to the maximum virtual machine disk performance cap. إما أن تقوم بتقليل عمليات الإدخال والإخراج (IOPs) عن طريق تغيير نوع القرص أو زيادة حد الأداء عن طريق زيادة حجم VM. لن يؤدي هذا إلى إيقاف التوفير.

وفقاً للاختيارات التي تختارها، يقوم Azure بتنفيذ مهام تكوين التخزين التالية بعد إنشاء الجهاز الافتراضي VM:

  • إنشاء محركات أقراص صلبة (Premium SSDs) فائقة وإلحاقها بالجهاز الظاهري.
  • تكوين أقراص البيانات بحيث يمكن الوصول إليها من قِبل SQL Server.
  • تكوين أقراص البيانات في مجموعة تخزين استناداً إلى متطلبات الحجم والأداء المحددين (عمليات الإدخال والإخراج في الثانية (IOPS) وسعة المعالجة).
  • قم بإقران مجموعة موارد التخزين بمحرك أقراص جديد على الجهاز الظاهري.
  • يعمل على تحسين محرك الأقراص الجديد هذا استناداً إلى نوع حمل العمل المحدد (تخزين البيانات أو معالجة العمليات أو عام).

للحصول على مسار كامل لكيفية إنشاء SQL Server VM في مدخل Microsoft Azure، راجع البرنامج التعليمي للتوفير.

قوالب Azure Resource Manager

في حالة استخدام قوالب Resource Manager التالية، يتم إرفاق قرصي بيانات فائقين بشكل افتراضي، دون تكوين مجموعة موارد التخزين. ومع ذلك، يمكنك تخصيص هذه القوالب لتغيير عدد أقراص البيانات الفائقة المرفقة بالجهاز الظاهري.

Quickstart template

يمكنك استخدام قالب QuickStart التالي لنشر SQL Server VM باستخدام تحسين التخزين.

VMs الموجودة

بالنسبة SQL Server VMs الموجودة، يمكنك تعديل بعض إعدادات التخزين في مدخل Microsoft Azure. افتح موردSQL virtual machines ، وحدد نظرة عامة. تعرض صفحة Overview لـ SQL Server للتخزين الحالي المستخدم لجهاز VM الخاص بك. يتم عرض جميع محركات الأقراص الموجودة على VM خاصتك في هذا المخطط. بالنسبة لكل محرك أقراص، يتم عرض مساحة التخزين في أربعة أقسام:

  • بيانات SQL
  • سجل SQL
  • أخرى (تخزين non-SQL)
  • متوفر

لتعديل إعدادات التخزين، حدد Storage configuration ضمن Settings.

Screenshot that highlights the Configure option and the Storage Usage section.

يمكنك تعديل إعدادات القرص لمحركات الأقراص التي تم تكوينها أثناء عملية إنشاء SQL Server VM. يؤدي تحديد Configure إلى فتح صفحة تعديل محرك الأقراص، ما يسمح لك بتغيير نوع القرص، بالإضافة إلى إضافة أقراص إضافية.

Configure Storage for Existing SQL Server VM

يمكنك أيضاً تكوين إعدادات tempdb مباشرة من المدخل. حدد Configure لفتح صفحة إعدادات tempdb، حيث يمكنك إضافة المزيد من ملفات البيانات:

Configure tempdb settings for Existing SQL Server VM

التغييرات التلقائية

يوفر هذا القسم مرجعاً لتغييرات تكوين التخزين التي يقوم Azure بتنفيذها تلقائياً أثناء توفير SQL Server VM أو تكوينه في مدخل Microsoft Azure.

  • يقوم Azure بتكوين مجموعة موارد التخزين من وحدة التخزين المحددة من VM. يوفر القسم التالي من هذا الموضوع تفاصيل حول تكوين مجموعة موارد التخزين.
  • يستخدم تكوين التخزين التلقائي دائماً محركات أقراص SSD ممتازة لـ أقراص بيانات P30. نتيجة لذلك، يوجد تخطيط 1:1 بين العدد المحدد للتيرابايت وعدد أقراص البيانات المرفقة بالجهاز الظاهري VM الخاص بك.

للحصول على معلومات الأسعار، راجع صفحة أسعار التخزين في علامة تبويب تخزين القرص.

إنشاء مجموعة موارد التخزين

يستخدم Azure الإعدادات التالية لإنشاء مجموعة موارد التخزين على SQL Server VMs.

الإعداد القيمة
حجم الشريط 256 كيلو بايت (تخزين البيانات)؛ 64 كيلوبايت (عمليات)
أحجام الأقراص 1 تيرابايت لكل منهما
ذاكرة التخزين المؤقت قراءة
حجم التخصيص 64 كيلو بايت NTFS حجم وحدة التخصيص
الاسترداد استرداد بسيط (لا توجد مرونة)
عدد الأعمدة عدد أقراص البيانات حتى 81

1 بعد إنشاء مجموعة موارد التخزين، لا يمكنك تغيير عدد الأعمدة في تجمع التخزين.

إعدادات تحسين حمل العمل

يوضح الجدول التالي خيارات أنواع حمل العمل الثلاثة المتوفرة وعمليات التحسين المقابلة لها:

نوع حِمل العمل الوصف تحسينات
عام الإعداد الافتراضي الذي يدعم معظم أحمال العمل بلا
معالجة العمليات تحسين التخزين لأحمال عمل OLTP لقاعدة البيانات التقليدية تتبع العلامة 1117
تتبع العلامة 1118
تخزين البيانات تحسين وحدات التخزين لأحمال عمل التحليلات والتقارير تتبع العلامة 610
تتبع العلامة 1117

ملاحظة

يمكنك تحديد نوع حمل العمل فقط عند توفير جهاز ظاهري SQL Server وذلك عن طريق تحديده في خطوة تكوين التخزين.

تمكين التخزين المؤقت

تغيير نهج التخزين المؤقت على مستوى القرص. يمكنك القيام بذلك باستخدام مدخل Microsoft Azure أو PowerShellأو Azure CLI.

لتغيير نهج التخزين المؤقت في المدخل Microsoft Azure اتبع الخطوات التالية:

  1. أوقف خدمة SQL Server الخاصة بك .

  2. «تسجيل الدخول» إلى ⁧⁩مدخل Azure⁧⁩.

  3. انتقل إلى جهازك الظاهري، وحدد الأقراص أسفل الإعدادات.

    Screenshot showing the VM disk configuration blade in the Azure portal.

  4. اختر نهج التخزين المؤقت المناسب للقرص من القائمة المنسدلة.

    Screenshot showing the disk caching policy configuration in the Azure portal.

  5. بعد أن يصبح التغيير نافذ المفعول، أعد تشغيل SQL Server VM وابدأ خدمة SQL Server.

تمكين Write Accelerator

Write Acceleration هي ميزة قرص متوفرة فقط للأجهزة الافتراضية (VM) من الفئة M. يتمثل الغرض منwrite acceleration في تحسين زمن وصول الإدخال/الإخراج للكتابة في الإصدار Azure Premium Storage عندما تحتاج إلى زمن وصول أحادي الرقم للإدخال/الإخراج بسبب أحمال عمل تطبيقات معالجة العمليات عبر الإنترنت (OLTP) ذات الكميات الكبيرة أو بيئات مخازن البيانات.

قم بإيقاف نشاط SQL Server وأوقف تشغيل خدمة SQL Server قبل إجراء تغييرات على نهج write acceleration.

إذا تم تقسيم الأقراص إلى شرائط، فقم بتمكينWrite Acceleration لكل قرص على حدة، ويجب إيقاف تشغيل "جهاز Azure VM" قبل إجراء أي تغييرات.

لتمكين Write Acceleration باستخدام المدخل Microsoft Azure اتبع الخطوات التالية:

  1. أوقف خدمة SQL Server الخاصة بك . إذا كانت الأقراص مخططة، فقم بإيقاف تشغيل الجهاز الظاهري.

  2. «تسجيل الدخول» إلى ⁧⁩مدخل Azure⁧⁩.

  3. انتقل إلى جهازك الظاهري، وحدد الأقراص أسفل الإعدادات.

    Screenshot showing the VM disk configuration blade in the Azure portal.

  4. اختر خيار ذاكرة التخزين المؤقت باستخدام Write Accelerator للقرص الخاص بك من القائمة المنسدلة.

    Screenshot showing the write accelerator cache policy.

  5. بعد أن يصبح التغيير نافذ المفعول، ابدأ تشغيل الجهاز الظاهري وخدمة SQL Server.

تقسيم الأقراص

لمزيد من سعة المعالجة، يمكنك إضافة أقراص بيانات إضافية واستخدام تقسيم الأقراص. لتحديد عدد أقراص البيانات، قم بتحليل سعة المعالجة وعرض النطاق المطلوب لملفات بيانات SQL Server، بما في ذلك السجل وtempdb. تختلف حدود سعة المعالجة والنطاق الترددي العريض باختلاف حجم الأجهزة الافتراضية VM. لمعرفة المزيد، راجع حجم الجهاز الظاهري VM

  • بالنسبة لنظام التشغيل Windows 8/Windows Server 2012 أو الإصدارات الأحدث، استخدم مساحات التخزين مع الإرشادات التالية:

    1. قم بتعيين المسافة الداخلية (حجم الشريط) إلى 64 كيلوبايت (65536 بايت) لتجنب تأثير الأداء بسبب عدم محاذاة القسم. يجب تعيين هذا مع PowerShell.

    2. تعيين عدد الأعمدة = عدد الأقراص الفعلية. استخدام PowerShell عند تكوين أكثر من 8 أقراص (وليس واجهة مستخدم Server Manager).

على سبيل المثال، يقوم PowerShell التالي بإنشاء مجموعة تخزين جديدة بحجم تقاطع يبلغ 64 كيلوبايت وعدد الأعمدة يساوي مقدار القرص الفعلي في مجموعة موارد التخزين:

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

في Windows Server 2016 والإصدارات الأحدث، القيمة الافتراضية ل -StorageSubsystemFriendlyName هي Windows Storage on <VM Name>

  • بالنسبة لنظام التشغيل Windows 2008 R2 أو الإصدارات السابقة، يمكنك استخدام الأقراص الديناميكية (وحدات التخزين المخططة لنظام التشغيل) وحجم الشريط دائماً يبلغ 64 كيلوبايت. تم إهمال هذا الخيار اعتباراً من Windows 8/Windows Server 2012. لمزيد من المعلومات، راجع بيان الدعم في تقوم "خدمة القرص الظاهري" بالانتقال إلى Windows Storage Management API.

  • إذا كنت تستخدم Storage Spaces Direct (S2D) مع مثيلات مجموعة تجاوز الفشل ل SQL Server، فيجب تكوين مجموعة واحدة. وعلى الرغم من إمكانية إنشاء وحدات تخزين مختلفة في مجموعة واحدة، إلا أنها ستتمتع جميعاً بنفس الخصائص، مثل نفس نهج التخزين المؤقت.

  • حدد عدد الأقراص المقترنة بمجموعة موارد التخزين لديك استناداً إلى توقعات الحمل. ضع في اعتبارك أن أحجام VM المختلفة تسمح بأعداد مختلفة من أقراص البيانات المرفقة. لمزيد من المعلومات، راجع أحجام للأجهزة الظاهرية.

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

بالنسبة للموضوعات الأخرى المتعلقة بتشغيل SQL Server في Azure VM، راجع SQL Server على Azure Virtual Machine.