تفضل المؤسسات التي تنشئ VMware vSphere في مركز بيانات كبير باستخدام Fibre Channel (FC) أو Fibre Channel over Ethernet (FCoE)، والتي تكلف الكثير من المال. ومع ذلك، يعتبر NFS و iSCSI جذابين لمراكز البيانات الصغيرة والمتوسطة التي تستخدم لبنية تحتية لـ VMware vSphere لأن الأجهزة اللازمة لتكوين مشاركة الملفات باستخدام هذه البروتوكولات أكثر تكلفة. يقارن هذا المقال بين NFS و iSCSI مع التركيز على استخدامهما في بنية تحتية افتراضية لـ VMware vSphere.
ما هو NFS؟
نظام الملفات عبر الشبكة (NFS) هو بروتوكول شبكي يسمح لك بمشاركة الملفات المخزنة على قرص أو مجموعة أقراص من الخادم مع أجهزة الكمبيوتر الأخرى في الشبكة. تم تطوير NFS من قبل شركة SUN Microsystems وتم تقديم الإصدار الأول منه في عام 1984. حتى كتابة هذا المنشور، أحدث تنفيذ لـ NFS هو الإصدار 4.1. الإصدار 4.2 قيد التطوير ولم يتم تقديمه للاستخدام في الإنتاج حتى الآن.
تمت إضافة ميزات جديدة وتحسينات مع كل إصدار جديد من NFS بما في ذلك ميزات مفيدة لتخزين الظاهرة. يوفر NFS v4.1 آلية للسماح لعدة مستخدمين بمشاركة نفس الملف وضمان تماسك البيانات (الوصول المتزامن). يتم دعم عمليات متعددة للمواضيع.
NFS هو البروتوكول الذي يعمل في طبقة التطبيق في نموذج الأنظمة المفتوحة للتواصل (OSI). يستوعب العملاء الملفات عن طريق إرسال طلبات الدالة النصية البعيدة (RPC) إلى خادم NFS لإجراء عمليات مع الملفات والدلائل على خادم NFS.
تُرسل طلبات RPC إلى بروتوكول XDR (eXternal Data Representation) الذي يعمل في طبقة العرض وهو المعيار القياسي لتجريد البيانات بين المنصات. يصف XDR الشكل الموحد والقياسي لتمثيل البيانات الذي لا يعتمد على بنية نظام الحوسبة. عندما يرسل العميل البيانات، يقوم عميل RPC بتحويل البيانات المحلية إلى شكل قياسي، ويقوم الخادم بالعملية العكسية.
بمجرد الانتهاء من توحيد البيانات، يضمن خدمة RPC على جانب العميل طلب الإجراءات البعيدة وتنفيذها على الخادم (مما يوفر ميزات طبقة الجلسة). في هذه المرحلة، ينتهي شرح طبقات NFS المحددة. بعد ذلك، يتم تضمين البيانات في وحدات بيانات TCP أو UDP القياسية وتنتقل إلى الطبقات الأسفل من نموذج OSI.
طبقات OSI | البروتوكولات |
التطبيق | NFS |
العرض | XDR |
الجلسة | RPC |
النقل | TCP |
الشبكة | IP |
Data Link | Ethernet |
المادية | – |
يشارك NFS البيانات على مستوى الملفات. يمكن استخدام محولات الشبكة القياسية مع واجهة إيثرنت ومنفذ RJ-45 لتنفيذ تخزين NFS المشترك.
تعمل أقدم إصدارات NFS عبر UDP عبر شبكة IP، ويمكن للإصدارات الأحدث (NFS v2 و v3) العمل عبر TCP و UDP. يستخدم NFS 4.0 و 4.1 TCP عبر IPv4 كمعيار. يعمل NFS v4 من خلال جدران الحماية وعبر الإنترنت.
تدعم VMware vSphere ESXi 6.0 وإصدارات ESXi الأحدث NFS 3.0 و NFS 4.1. يحتوي ESXi على عميل NFS مدمج يتصل بخادم NFS عبر TCP/IP. يتم استخدام عميلي NFS مختلفين للاتصال عبر إصدارات NFS 3.0 و 4.1. يمكنك اختيار إصدار NFS المراد استخدامه عند إنشاء مستودع بيانات NFS جديد. لا تدعم VMware الميزات التالية عند استخدام NFS v.4.1:
- إدارة الموارد التخزينية DRS
- التحكم في مراقبة الإدخال والإخراج
- مدير استعادة الموقع
يعد استخدام مستودعات بيانات NFS مريحًا عند تخزين قوالب الآلات الظاهرية وصور ISO لتثبيت أنظمة التشغيل على الأجهزة الظاهرية.
ما هو iSCSI؟
واجهة الحاسوب الصغيرة عبر الإنترنت (iSCSI) هو بروتوكول شبكي يضمن تفاعل الكائنات (المبادرين والأهداف) في الشبكة لمشاركة البيانات. يتم تكوين مبادر iSCSI على الجانب العميل ويتم تكوين الهدف iSCSI على الجانب الخادم.
يمكن أن تكون مبادرات iSCSI مبنية على البرمجيات والأجهزة. يساعد الأجهزة القائمة على الأجهزة في تخفيف وحدة المعالجة المركزية (CPU أو المعالج) على جهاز العميل وتتطلب تثبيت محول الحافلة المضيفة (HBA) الأجهزة. HBA iSCSI القائمة على الأجهزة هي وحدة تحكم واجهة الشبكة (NIC) مع واجهة إيثرنت. في مقارنة iSCSI مقابل NFS هذه، أنظر إلى استخدام مبادرات iSCSI قائمة على البرمجيات. تم تقديم iSCSI في عام 2003 ووصف في RFC 3720.
iSCSI هو بروتوكول طبقة الجلسة (يعمل على طبقة 5 من نموذج OSI) الذي يعمل فوق كومة TCP/IP. يتم مشاركة البيانات على مستوى الكتلة، على عكس NFS ولكن بشكل مماثل لـ FC. هذه نقطة مهمة في مقارنة iSCSI مع NFS. تُغلف الأوامر SCSI في وحدات بيانات TCP/IP ويتم نقلها باستخدام شبكات إيثرنت القياسية. نتيجة لذلك، يمكن لحاسوب واحد إرسال أوامر SCSI إلى أجهزة تخزين الكتل الموجودة على حاسوب آخر باستخدام شبكة.
الطبقات | الوصف |
التطبيق | نظام الملفات، قاعدة البيانات، إلخ |
SCSI | بيانات SCSI، أوامر SCSI، حالات SCSI |
iSCSI | خدمات بروتوكول iSCSI، الاسم المؤهل لـ iSCSI (IQN)، خدمة اسم التخزين على الإنترنت (iSNS)، المصادقة CHAP، إلخ |
TCP | بروتوكول يتضمن آلية تحكم بالأخطاء (عادة ما يعمل في مكدس TCP/IP) |
IP | بروتوكول للتواصل والتوجيه عبر الشبكة |
الإيثرنت | مفاتيح، كابلات، منافذ (موصلات)، بروتوكولات |
ملاحظة: هناك حقيقة مثيرة حول كيفية استخدام iSCSI لاستعادة آلة افتراضية VMware. عند استخدام الاسترداد الفوري للآلة الافتراضية في NAKIVO Backup & Replication، على سبيل المثال، لتشغيل آلة افتراضية على مضيف ESXi مباشرةً من نسخة احتياطية، يتم إنشاء الآلة الافتراضية على المضيف ESXi المحدد وتُركب الأقراص الافتراضية على الآلة الافتراضية باستخدام بروتوكول iSCSI كأقراص RDM بوضع التوافق الافتراضي الافتراضي.
الفروقات الرئيسية بين NFS و iSCSI لـ VMware
يمكن لكل من NFS و iSCSI العمل في شبكات إيثرنت بسرعة 1 جيجابت و 10 جيجابت (1GbE و 10GbE) المنتشرة باستخدام أسلاك نحاسية. السرعة الشبكية الأعلى أفضل. اقرأ المزيد حول توبولوجيا الشبكة. عند استخدام مخزن بيانات مشترك في VMware vSphere لتخزين ملفات الآلات الظاهرية، يمكن استخدام كل من التنفيذين (NFS و iSCSI) للهجرة الحية للآلات الظاهرية، وتوازن الحمل، وهجرة الآلات الظاهرية بين مخازن البيانات. كل من بروتوكولات المشاركة لديها عبء كبير ناجم عن آلية التغليف متعدد الطبقات على شبكات TCP/IP.
يتم دعم NFS على أجهزة NAS لمعظم البائعين، على سبيل المثال، سينولوجي و QNAP. ومع ذلك، ليس من الصعب اختيار NAS مع دعم iSCSI في الوقت الحالي.
لنلق نظرة على هذه المقارنة بين VMware NFS و iSCSI بالتفصيل أكثر.
توازن الحمل
عند فشل مسار الشبكة أو إرباكه، يوفر التعدد المساري القدرة على توزيع الحمل بين خادم وتخزين إذا كانت هناك مسارات متعددة.
يدعم NFS 4.1 التعدد المساري إذا كان التجزئة متاحة على الخوادم (ولكن ليس التجزئة لهوية العميل). نتيجة لذلك، يمكنك الوصول إلى حجم NFS واحد من عناوين IP متعددة. إذا كنت تستخدم NFS v3، استخدم DNS روبين روبن لتوازن الحمل الشبكي.
في VMware vSphere، يعمل التعدد المساري لـ iSCSI على مستوى محول شبكة VMkernel. لتوازن الحمل في vSphere، يمكنك استخدام ربط المنفذ.
التخزين المؤقت
عند استخدام NFS، يوجد نظام ملفات بمكبر الذاكرة المؤقت للنظام الفولتية الموجود على خادم NFS ويجب على جهاز العميل التحقق باستمرار من بيانات التعريف على خادم NFS. تدعم الكتابة المتعاقبة للبيانات بواسطة NFS v3 و v4 ولكن تحديثات بيانات التعريف يتم بشكل متزامن.
عند استخدام iSCSI، يتم إنشاء النظام الفولتي بواسطة الجهاز العميل بعد الوصول إلى التخزين المشترك على مستوى الكتلة (كما هو الحال في VMware vSphere، ينشئ مضيف ESXi النظام الفولتي VMFS على أقراص iSCSI LUN). يتم تحديد سياسة التخزين المؤقت بواسطة النظام الفولتي للتخزين المشترك iSCSI ويوجد مكبر الذاكرة المؤقت على جانب العميل. على سبيل المثال، إذا كنت تستخدم iSCSI كبروتوكول المشاركة و ext3 كنظام الملفات، فإن لديك الكتابة الكاملة المتعاقبة للبيانات وتحديثات بيانات التعريف.
يستخدم أحدث الأنظمة الفولتية تحديث بيانات التعريف بشكل متعاقب ويتم استخدام التصوير المقلوب للتصحيح لإعادة البيانات. بشكل عام، يعتبر تحديث البيانات المتعاقب (المستخدم في iSCSI) أقل موثوقية من حيث استمرارية البيانات وبيانات التعريف مقارنة بالتحديث المتزامن، مثل المستخدم في NFS.
الموثوقية
NFS. يمكن استخدام تواجد NIC لحماية ضد فشل الشبكة. إذا فشل NIC واحد، يمكن لـ NIC الآخر الاستمرار في العمل.
iSCSI. يستخدم VMware Pluggable Storage Architecture (PSA) مكبر الذاكرة المخصص للمجمعات لتنفيذ إجراءات الاستغناء عند العمل مع مجمعات iSCSI. يتطلب ربط iSCSI ربط العديد من الهدف iSCSI على مجموعات أبعاد مختلفة لمستقبل iSCSI.
كل من iSCSI وNFS يستخدمان TCP للتضمين، يتم التحقق من تسليم البيانات على مستوى الشبكة.
VMFS على التخزين iSCSI يمكن أن يكون هشًّا إذا قمت بتخزين أقراص افتراضية رفيعة للآلات الافتراضية. قد يؤدي فشل الطاقة إلى جعل الحجم غير قابل للاسترداد. سلوك مستودعات بيانات NFS في مثل هذه الحالات أكثر موثوقية قليلاً. يمكنك التخفيف من هذه المشاكل إذا قمت بإجراء نسخ احتياطية لـ VMware بانتظام.
الأمان
لمرور iSCSI غير مشفر بشكل عام، ولكن هذا لا يعني أنه لا يمكنك حماية مرور iSCSI. يدعم استخدام اسم وكلمة مرور للمصادقة على حصص iSCSI. يسمح بروتوكول المصادقة بالتحقق من الهوية بالتحدي (CHAP) للخادم والعميل بالتأكد من ثقتهم ببعضهما البعض.
يستخدم NFS المصادقة بناءً على المضيف. التكوين الافتراضي لـ NFS لا يوفر التشفير (sys=system)، ولكن عند استخدام NFSv4 مع تمكين Kerberos (sec=krb5p)، فإن الاتصال آمن. في تكوين خادم NFS، عليك تعريف عنوان IP للمضيف المسموح له بالوصول إلى حصة NFS. يمكنك أيضًا تعريف عدة مضيفين أو الشبكة الفرعية بأكملها. على سبيل المثال، يعتمد بروتوكول المشاركة المعروف عالميًا SMB المستند إلى الملفات على المصادقة بناءً على المستخدم.
تكوين VLAN مخصصة أو استخدام شبكة فيزيائية منفصلة (خاصة) هو الممارسة الموصى بها لاستخدام التخزين المشترك iSCSI و NFS في VMware vSphere. يتيح لك هذا النهج عزل حركة المرور للتخزين عن أنواع المرور الأخرى. لا تحتوي NFS v3 على ميزات أمان مماثلة لتلك الموجودة في NFS v4.1. يقوم خادم ESXi بتوصيل مشاركة NFS بصلاحيات root (عندما لا يتم استخدام Kerberos). لذا، احرص على ذلك عند إجراء التكوين الآمن. اقرأ أيضًا عن VLAN و VXLAN.
تدعم NFS v.4.1 المصادقة بواسطة Kerberos مع آليات التشفير بالإضافة إلى معيار التشفير القياسي (DES). تمنع الخوارزميات التشفيرية في Kerberos المستخدمين غير المرخص لهم من الوصول إلى حركة المرور على NFS. يدعم ESXi تنفيذات krb5 و krb5i لـ Kerberos. يدعم ESXi 7.0 تشفير Kerberos لـ NFS 4.1 وآلية الأمان AUTH_SYS (لكن ليس في نفس الوقت).
مقارنة VMware NFS مع iSCSI – تعيين الجهاز الأساسي
عند استخدام iSCSI كتخزين مشترك، يمكنك تكوين تعيين الجهاز الخام لآلة افتراضية. التعيين الجهاز الخام (RDM) هو ميزة تتيح لك ربط القرص الفيزيائي بالكامل أو LUN iSCSI بآلة افتراضية كجهاز مباشرة (بدلاً من ربط قرص افتراضي في تكوين VM). يختلف نهج التعيين الجهاز الخام عن النهج التقليدي عند إنشاء مستودع بيانات على LUN (رقم الوحدة المنطقية)، وإنشاء نظام ملفات VMFS، وتخزين الأقراص الافتراضية المستخدمة بواسطة الآلات الافتراضية على هذا المستودع. يكون التعيين الجهاز الخام ممكنًا عند استخدام iSCSI لأن حصة iSCSI تعمل على مستوى الكتلة، ويمكن لآلة افتراضية تهيئة قرص RDM الذي تم ربطه بالكتلة بنظام ملفات مخصص يستخدمه نظام التشغيل الضيف المثبت على الآلة الافتراضية.
أما بالنسبة لـ NFS، فإن استخدام حصة NFS لربطها كقرص RDM غير مدعوم لأن حصص NFS تعمل على مستوى الملف، ويتطلب RDM توصيل أجهزة الكتلة بالآلات الافتراضية. يمكنك إنشاء مستودعات بيانات NFS فقط مع حصص NFS وتخزين ملفات الأقراص الافتراضية VMDK على المستودعات. يمكنك تثبيت حصة NFS وحصة iSCSI على مستوى نظام التشغيل الضيف إذا كان لديه عميل NFS أو بادئ iSCSI. وبالتالي، في فئة تعيين الجهاز الخام في مقارنة VMware iSCSI مقابل NFS يكون الفائز هو iSCSI.
أداء iSCSI مقابل NFS
في تنفيذ iSCSI البرمجي، يكون الأداء أعلى قليلاً، ولكن الحمل على وحدة المعالجة المركزية في مضيف العميل أعلى أيضًا. يضع iSCSI أيضًا حملًا أعلى على الشبكة. يولد iSCSI مزيدًا من حركة المرور عبر الشبكة وحمل الشبكة، بينما استخدام NFS أكثر سلاسة وأكثر قابلية للتنبؤ. عند تنفيذ عمليات كتابة كبيرة الحجم، قد تلاحظ تدهورًا في الأداء مع حصة NFS.
عند استخدام NFS في vSphere، من الأفضل استخدام NFS مع دعم لـ vStorage API لتكامل الـ Array (VAAI) على جانب التخزين. يسمح VAAI لك بإنشاء أقراص افتراضية معروضة بسمك على متجر بيانات NFS. تُنشأ أقراص معروضة بسمك على متاجر بيانات NFS بشكل افتراضي. كلاً من NFS و iSCSI يدعمان الإطارات الجامبو لتحسين أداء الشبكة.
في نهاية مقارنة سرعة iSCSI مقابل NFS، يجب أن يُذكر أيضًا أن الأداء يعتمد أيضًا على بائع جهاز التخزين.
الوصول المتزامن
iSCSI لا يدعم الوصول المتزامن أو التوازي للبيانات إلى جهاز كتلة. يجب مشاركة البيانات بين نقطتين. ومع ذلك، يُسمح بالوصول المتزامن على مستوى نظام الملفات الذي يدعم الوصول المتزامن إلى الملفات، على سبيل المثال VMFS أو GFS. عند استخدام حصص iSCSI في VMware vSphere، يتم ضمان الوصول المتزامن إلى الحصص على مستوى VMFS.
يدعم NFS الوصول المتزامن إلى الملفات المشتركة باستخدام آلية قفل وآلية توافق متقارب لتجنب التعارضات وللحفاظ على توافق البيانات. تستخدم NFS v3 و NFS v4.1 آليات مختلفة. يمكن لـ NFS v3 استخدام بروتوكول مدير القفل الشبكي (NLM)، ويستخدم NFS v4.1 قفل المحدد بواسطة البروتوكول الأصلي. إذا تم استخدام NFS v3 على VMware ESXi للوصول إلى حصص الملفات، فإن ESXi لا يستخدم بروتوكول NLM لأن VMware يوفر بروتوكول قفله الخاص في هذه الحالة. يتم إنشاء ملفات قفل تسمى بـ .lck-file_id على حصة ملف عند استخدام حصص NFS v3 في VMware vSphere.
يستخدم NFS v4.1 حجوزات لقفل الملفات للوصول المتزامن. إذا قمت بإنشاء مشاركة ملف NFS ، يجب على جميع العملاء استخدام نفس إصدار بروتوكول NFS (يتصل جميع مضيفي ESXi بالمشاركة عبر NFS v.4.1 ، على سبيل المثال). إذا استخدم عميلان غير متوافقين إصدارات NFS المختلفة للوصول إلى الملفات على خادم NFS ، قد يحدث سلوك غير متسق وتلف البيانات.
صعوبة التكوين
عند استخدام NFS ، من الأسهل تكوين خادم وعميل. استخدام iSCSI لتكوين تخزين مشترك أكثر صعوبة. تحتاج إلى تكوين IQNs للتخزين والمضيفين؛ إجراء تكوين لخدمة iSCSI ووحدات LUN والتمويه؛ وتكوين عدة VLANs لأسباب أمان (عزل شرائح الشبكة المستخدمة للاتصال iSCSI لتوفير مستوى أمان أعلى).
اقرأ عن أجسام VMware الافتراضية التي يمكن استخدامها لتخزين بيانات الآلة الافتراضية.
NFS مقابل iSCSI في VMware vSphere – جدول ملخص
لنسلط الضوء على الميزات الرئيسية لكل بروتوكول لمشاركة البيانات في هذه المقارنة بين iSCSI و NFS في VMware في جدول الملخص.
iSCSI | NFS | |
مشاركة البيانات | مستوى الكتلة | مستوى الملف |
التصويت على الجهاز الظاهري | نعم | لا |
صعوبة التكوين | متوسطة | سهلة |
التمهيد من التخزين المجمع | نعم | لا |
فحص الأخطاء | نعم | نعم |
ميزات الأمان | CHAP | كيربروس |
تحريك التخزين | نعم | نعم |
توزيع التخزين الذكي | نعم | نعم |
الاستنتاج
كلا بروتوكولات المشاركة ناضجة بما فيه الكفاية للاستخدام في VMware vSphere. الفارق الرئيسي بين iSCSI و NFS هو أن iSCSI يشارك البيانات على مستوى الكتلة، و NFS يشارك البيانات على مستوى الملف. الأداء تقريبًا متماثل، ولكن في بعض الحالات، يمكن أن يوفر iSCSI نتائج أفضل. يمكن استخدام أقراص RDM للأجهزة الظاهرية مع iSCSI ولكن ليس مع NFS.
كلاً من بروتوكولات مشاركة الشبكة موثوق بها. ومع ذلك، تحتاج لاستخدام حلاً لحماية البيانات من طرف ثالث لتجنب فقدان البيانات وتوقف الخدمة. تجنب فشل التيار الكهربائي والأعطال الأخرى في الأجهزة لتجنب فقدان البيانات على التخزين المشترك الخاص بك. استخدم وحدات تزويد الطاقة غير المنقطعة وقم بإنشاء نسخ احتياطية بانتظام.
Source:
https://www.nakivo.com/blog/nfs-vs-iscsi-for-accessing-vm-data/