أفضل ممارسات أداء SMB لملفات Azure NetApp

تساعدك هذه المقالة على فهم أداء SMB وأفضل الممارسات لملفات Azure NetApp.

SMB Multichannel

يتم تمكين SMB Multichannel بشكل افتراضي في مشاركات SMB. تم تمكين الميزة لجميع مشاركات SMB التي تم إعدادها مسبقا لوحدات تخزين SMB الحالية؛ جميع وحدات التخزين التي تم إنشاؤها حديثا لديها أيضا الميزة ممكنة في وقت الإنشاء.

يجب إعادة تعيين أي اتصال SMB تم إنشاؤه قبل تمكين الميزة للاستفادة من وظيفة SMB Multichannel. لإعادة التعيين، يمكنك قطع اتصال مشاركة SMB وإعادة توصيلها.

يدعم Windows SMB Multichannel منذ Windows 2012 لتمكين أفضل أداء. راجع نشر SMB Multichannel وأساسيات SMB Multichannel للحصول على التفاصيل.

فوائد SMB Multichannel

تمكن ميزة SMB Multichannel عميل SMB3 من إنشاء مجموعة من الاتصالات عبر بطاقة واجهة شبكة واحدة (NIC) أو بطاقات NIC متعددة واستخدامها لإرسال طلبات لجلسة SMB واحدة. في المقابل، حسب التصميم، تتطلب SMB1 وSMB2 من العميل إنشاء اتصال واحد وإرسال جميع حركة مرور SMB لجلسة معينة عبر هذا الاتصال. يحد هذا الاتصال الفردي من أداء البروتوكول الإجمالي الذي يمكن تحقيقه من عميل واحد.

أداء SMB Multichannel

توضح الاختبارات والرسوم البيانية التالية قوة SMB Multichannel على أحمال العمل أحادية المثيل.

إدخال/إخراج عشوائي

مع تعطيل SMB Multichannel على العميل، تم إجراء اختبارات قراءة وكتابة 4 KiB فقط باستخدام FIO ومجموعة عمل 40 GiB. تم فصل مشاركة SMB بين كل اختبار، مع زيادات في عدد اتصال عميل SMB لكل إعدادات واجهة شبكة RSS من 1و4168set-SmbClientConfiguration -ConnectionCountPerRSSNetworkInterface <count>. تظهر الاختبارات أن الإعداد 4 الافتراضي كاف لأحمال العمل كثيفة الإدخال/الإخراج؛ زيادة إلى 8 وكان 16 لها تأثير ضئيل.

أثبت الأمر netstat -na | findstr 445 أنه تم إنشاء اتصالات إضافية بزيادات من 1 إلى 44 وإلى 8وإلى 8 16. تم استخدام أربعة ذاكرات أساسية لوحدة المعالجة المركزية بشكل كامل ل SMB أثناء كل اختبار، كما أكدته إحصائية perfmon Per Processor Network Activity Cycles (غير مضمنة في هذه المقالة.)

مخطط يعرض مقارنة الإدخال/الإخراج العشوائية ل SMB Multichannel.

لا يؤثر الجهاز الظاهري Azure (VM) على حدود الإدخال/الإخراج لتخزين SMB (ولا NFS). كما هو موضح في المخطط التالي، يحتوي نوع مثيل D32ds على معدل محدود يبلغ 308000 للتخزين المخزن مؤقتا IOPS و51200 ل IOPS التخزين غير المخزن مؤقتا. ومع ذلك، يظهر الرسم البياني أعلاه المزيد من الإدخال/الإخراج بشكل ملحوظ عبر SMB.

مخطط يعرض اختبار مقارنة الإدخال/إخراج العشوائي.

الإدخال/إخراج تسلسلي

تم إجراء اختبارات مشابهة لاختبارات الإدخال/الإخراج العشوائية الموضحة سابقا باستخدام الإدخال/الإخراج التسلسلي 64-KiB. على الرغم من أن الزيادات في عدد اتصالات العميل لكل واجهة شبكة RSS تتجاوز أربعة لم يكن لها تأثير ملحوظ على الإدخال/الإخراج العشوائي، فإن نفس الشيء لا ينطبق على الإدخال/الإخراج التسلسلي. كما يظهر الرسم البياني التالي، ترتبط كل زيادة بزيادة مقابلة في معدل نقل القراءة. ظل معدل نقل الكتابة ثابتا بسبب قيود النطاق الترددي للشبكة التي وضعتها Azure لكل نوع وحجم مثيل.

مخطط يوضح مقارنة اختبار معدل النقل.

يضع Azure حدود معدل الشبكة على كل نوع وحجم جهاز ظاهري. يتم فرض حد المعدل على حركة المرور الصادرة فقط. لا يؤثر عدد بطاقات NIC الموجودة على الجهاز الظاهري على إجمالي مقدار النطاق الترددي المتاح للجهاز. على سبيل المثال، يحتوي نوع مثيل D32ds على حد شبكة مفروض يبلغ 16000 ميغابت في الثانية (2000 ميجابايت/ثانية). كما يظهر الرسم البياني التسلسلي أعلاه، يؤثر الحد على نسبة استخدام الشبكة الصادرة (الكتابة) ولكن ليس على القراءات متعددة القنوات.

مخطط يعرض اختبار مقارنة الإدخال/إخراج التسلسلي.

توقيع SMB

يوفر بروتوكول SMB الأساس لمشاركة الملفات والطباعة وعمليات الشبكات الأخرى مثل إدارة Windows عن بعد. لمنع هجمات الدخيل التي تعدل حزم SMB أثناء النقل، يدعم بروتوكول SMB التوقيع الرقمي لحزم SMB.

يتم دعم توقيع SMB لجميع إصدارات بروتوكول SMB التي تدعمها Azure NetApp Files.

تأثير أداء توقيع SMB

توقيع SMB له تأثير محذوف على أداء SMB. من بين الأسباب المحتملة الأخرى لتدهور الأداء، يستهلك التوقيع الرقمي لكل حزمة وحدة معالجة مركزية إضافية من جانب العميل كما يظهر إخراج perfmon أدناه. في هذه الحالة، يظهر Core 0 مسؤولا عن SMB، بما في ذلك توقيع SMB. تظهر المقارنة مع أرقام معدل نقل القراءة المتتالية غير متعددة القنوات في القسم السابق أن توقيع SMB يقلل من الإنتاجية الإجمالية من 875 ميجابايت/ثانية إلى ما يقرب من 250 ميجابايت/ثانية.

مخطط يوضح تأثير أداء توقيع SMB.

أداء مثيل واحد مع مجموعة بيانات 1 تيرابايت

لتوفير نظرة أكثر تفصيلا حول أحمال العمل مع خلطات القراءة/الكتابة، يعرض المخططان التاليان أداء وحدة سحابية واحدة على مستوى الخدمة Ultra تبلغ 50 تيرابايت مع مجموعة بيانات 1 تيرابايت ومع عدة قنوات SMB من 4. تم استخدام أفضل IODepth 16؛ تم استخدام معلمات الإدخال/الإخراج المرنة (FIO) لضمان الاستخدام الكامل للنطاق الترددي للشبكة (numjobs=16).

يعرض المخطط التالي نتائج الإدخال/الإخراج العشوائي 4k، مع مثيل جهاز ظاهري واحد ومزيج قراءة/كتابة بفواصل زمنية بنسبة 10٪:

مخطط يعرض اختبار IO العشوائي لنظام التشغيل Windows 2019 _D32ds_v4 4K.

يعرض المخطط التالي نتائج الإدخال/الإخراج التسلسلي:

مخطط يعرض معدل النقل التسلسلي ل Windows 2019 _D32ds_v4 64K.

الأداء عند التوسع باستخدام 5 أجهزة ظاهرية مع مجموعة بيانات 1 تيرابايت

تستخدم هذه الاختبارات مع 5 أجهزة ظاهرية نفس بيئة الاختبار مثل الجهاز الظاهري الفردي، مع كتابة كل عملية إلى ملفها الخاص.

يعرض المخطط التالي نتائج الإدخال/الإخراج العشوائي:

مخطط يعرض اختبار Windows 2019 القياسي _D32ds_v4 4K 5 مثيل randio IO.

يعرض المخطط التالي نتائج الإدخال/الإخراج التسلسلي:

مخطط يعرض معدل النقل التسلسلي ل Windows 2019 _D32ds_v4 64K 5 مثيل.

كيفية مراقبة محولات إيثرنت Hyper-V

تتمثل إحدى الاستراتيجيات المستخدمة في الاختبار مع FIO في تعيين numjobs=16. يؤدي القيام بذلك إلى تشعب كل مهمة في 16 مثيلا محددا لزيادة محول شبكة Microsoft Hyper-V إلى أقصى حد.

يمكنك التحقق من وجود نشاط على كل محول من المحولات في Windows Performance Monitor عن طريق تحديد Performance Monitor > Add Counters > Network Interface > Microsoft Hyper-V Network Adapter.

لقطة شاشة تعرض واجهة إضافة عداد مراقبة الأداء.

بعد تشغيل نسبة استخدام الشبكة للبيانات في وحدات التخزين الخاصة بك، يمكنك مراقبة المحولات في Windows Performance Monitor. إذا لم تستخدم كل هذه المحولات الظاهرية ال 16، فقد لا تقوم بتكبير سعة النطاق الترددي للشبكة.

لقطة شاشة تعرض إخراج مراقبة الأداء.

تشفير SMB

يساعدك هذا القسم على فهم تشفير SMB (SMB 3.0 وSMB 3.1.1)

يوفر تشفير SMB تشفيرا من طرف إلى طرف لبيانات SMB ويحمي البيانات من تكرارات التنصت على الشبكات غير الموثوق بها. يتم دعم تشفير SMB على SMB 3.0 والإكبر.

عند إرسال طلب إلى التخزين، يقوم العميل بتشفير الطلب، والذي يقوم التخزين بعد ذلك بفك تشفيره. يتم تشفير الاستجابات بشكل مماثل بواسطة الخادم وفك تشفيرها من قبل العميل.

يدعم Windows 10 وWindows 2012 والإصدارات الأحدث تشفير SMB.

تشفير SMB وملفات Azure NetApp

يتم تمكين تشفير SMB على مستوى المشاركة لملفات Azure NetApp. يستخدم SMB 3.0 خوارزمية AES-CCM، بينما يستخدم SMB 3.1.1 خوارزمية AES-GCM.

تشفير SMB غير مطلوب. على هذا النحو، يتم تمكينه فقط لمشاركة معينة إذا طلب المستخدم تمكين Azure NetApp Files. لا تتعرض مشاركات Azure NetApp Files أبدا للإنترنت. لا يمكن الوصول إليها إلا من داخل شبكة ظاهرية معينة، عبر VPN أو مسار سريع، لذلك تكون مشاركات Azure NetApp Files آمنة بطبيعتها. اختيار تمكين تشفير SMB متروك تماما للمستخدم. كن على دراية بعقوبة الأداء المتوقعة قبل تمكين هذه الميزة.

تأثير تشفير SMB على أحمال عمل العميل

على الرغم من أن تشفير SMB له تأثير على كل من العميل (حمل وحدة المعالجة المركزية لتشفير الرسائل وفك تشفيرها) والتخزين (تخفيضات في معدل النقل)، فإن الجدول التالي يبرز تأثير التخزين فقط. يجب اختبار تأثير أداء التشفير مقابل التطبيقات الخاصة بك قبل نشر أحمال العمل في الإنتاج.

ملف تعريف الإدخال/إخراج تأثير
قراءة وكتابة أحمال العمل 10٪ إلى 15٪
بيانات التعريف المكثفة 5%

تسريع الشبكات

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

  • يتيح مدخل Microsoft Azure الشبكات المتسارعة بشكل افتراضي للأجهزة الظاهرية التي تدعم هذه الميزة. ومع ذلك، لا يمكن لأساليب النشر الأخرى مثل Ansible وأدوات التكوين المماثلة. يمكن أن يؤدي الفشل في تمكين الشبكات المتسارعة إلى تكديس أداء الجهاز.
  • إذا لم يتم تمكين الشبكات المتسارعة على واجهة الشبكة لجهاز ظاهري بسبب عدم دعمه لنوع المثيل أو حجمه، فإنه يظل معطلا مع أنواع مثيلات أكبر. تحتاج إلى تدخل يدوي في تلك الحالات.
  • ليست هناك حاجة لتعيين الشبكات المتسارعة لNIC في الشبكة الفرعية المخصصة لملفات Azure NetApp. الشبكات المسرعة هي قدرة تنطبق فقط على أجهزة Azure الظاهرية. تم تحسين AZURE NetApp Files NICs حسب التصميم.

تلقي التحجيم الجانبي

تدعم Azure NetApp Files التحجيم الجانبي (RSS).

مع تمكين SMB Multichannel، ينشئ عميل SMB3 اتصالات TCP متعددة بخادم Azure NetApp Files SMB عبر بطاقة واجهة شبكة (NIC) قادرة على RSS واحد.

لمعرفة ما إذا كانت AZURE VM NICs تدعم RSS، قم بتشغيل الأمر Get-SmbClientNetworkInterface كما يلي وتحقق من الحقل RSS Capable:

لقطة شاشة تعرض إخراج RSS لجهاز Azure الظاهري.

بطاقات NIC متعددة على عملاء SMB

يجب ألا تقوم بتكوين عدة بطاقات NIC على عميلك ل SMB. لا يتطابق عميل SMB مع عدد NIC الذي تم إرجاعه بواسطة خادم SMB. يمكن الوصول إلى كل وحدة تخزين من نقطة نهاية تخزين واحدة فقط، ما يعني أنه يتم استخدام NIC واحد فقط لأي علاقة SMB معينة.

كما يظهر إخراج Get-SmbClientNetworkInterace أدناه، يحتوي الجهاز الظاهري على واجهتين للشبكة: 15 و12. كما هو موضح تحت الأمر Get-SmbMultichannelConnectionالتالي ، على الرغم من وجود اثنين من بطاقات NIC الممكنة ل RSS، يتم استخدام الواجهة 12 فقط فيما يتعلق بمشاركة SMB؛ الواجهة 15 غير مستخدمة.

لقطة شاشة تعرض الإخراج لNIC التي تعتمد على RSS.

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