لماذا يمكن للسمات الموسعة أن تبطئ نقل ملفات NAS؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

يمكن أن تبطئ السمات الموسعة ترحيل ملفات NAS عندما يضيف الحفاظ عليها عمل بيانات وصفية متكرر لكل ملف. السمات عادة صغيرة، لكن أداة الترحيل قد تحتاج مع ذلك إلى اكتشافها، وقراءتها، ورسمها، ونقلها، وإعادة إنشائها، وأحيانًا التحقق منها. عبر شجرة دليل تحتوي على آلاف الملفات، يمكن أن يصبح هذا العمل لكل كائن مرئيًا حتى عندما تعبر بيانات السمات القليلة الشبكة.

التباطؤ مشروط. أعداد كبيرة من الملفات الصغيرة مكلفة بالفعل في الإنشاء والفهرسة، سواء مع أو بدون xattrs. يمكن أن تنتج الكمون في البروتوكول، وتحديثات الدليل، والأذونات، والفهرسة، ومدخلات/مخرجات التخزين، وسلوك التطبيق نفس العرض. لذلك يجب قياس السمات الموسعة كتكلفة ترحيل إضافية، وليس افتراض أنها السبب الوحيد في بطء نسخ NAS.

ماذا تضيف السمة الموسعة إلى نسخ الملف؟

عادةً ما يحمل نسخ الملف بيانات الحمولة بالإضافة إلى البيانات الوصفية الأساسية مثل الحجم، والطوابع الزمنية، والملكية، والأذونات. السمات الموسعة، المعروفة عادةً باسم xattrs، تضيف بيانات وصفية إضافية باسم وقيمة إلى ملف أو دليل. يستخدم لينكس مساحات أسماء منفصلة لبيانات المستخدم، وتسميات الأمان، والسمات الموثوقة، والكائنات النظامية مثل قوائم التحكم في الوصول. نموذج السمات الموسعة في لينكس يشير أيضًا إلى أن حدود نظام الملفات قد تختلف.

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

التكلفة العملية تعتمد على التنفيذ. قد يقوم العميل بالتخزين المؤقت، أو التوصيل المتسلسل، أو الدمج، أو تخطي العمليات، بينما قد يخزن الخادم السمة ضمنيًا أو في هيكل بيانات وصفية آخر. التمييز المفيد هو بين البايتات والكائنات: يمكن أن تحتوي السمة على بضعة بايتات فقط ومع ذلك تتطلب قرارًا آخر لكل ملف يحملها.

لماذا يهم عدد الملفات أكثر من حجم السمة؟

ملف واحد بحجم 50 جيجابايت هو في الأساس كائن واحد مع تدفق حمولة طويل. نفس السعة مقسمة بين الصور، المستندات، ملفات المصدر، وأشجار الحزم قد تشمل مئات الآلاف من الكائنات. يجب إنشاء كل كائن وجهة وإدخاله في دليل قبل النظر في الحفاظ الاختياري على البيانات الوصفية.

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

لا يوجد مضاعف طلب عالمي ناتج عن تلك الآلية. يتطلب ادعاء مثل "أربعة طلبات لكل سمة" تتبع حزم من العميل الدقيق، وإصدار البروتوكول، وأداة النقل، وتكوين الخادم. لذلك، فإن عدد الملفات المكتملة في الثانية وزمن استجابة عمليات البيانات الوصفية أكثر فائدة من تقدير النتيجة بناءً على حجم السمة فقط.

متى تضيف اختلافات البروتوكول ونظام الملفات عمل الترجمة؟

لا تمتلك السمات الموسعة تمثيلًا عالميًا موحدًا عبر الأنظمة. تعرض أنظمة ملفات Linux مساحات أسماء xattr، وقد تعرض أنظمة ملفات Windows تدفقات بيانات بديلة مسماة، وتحدد بروتوكولات الشبكة مرافق اختيارية خاصة بها. توثق Microsoft دعم تدفقات البيانات البديلة كميزة لنظام الملفات، بينما يعرف NFSv4 السمات الموسعة من خلال امتداد xattr اختياري.

يجب على أداة الترحيل أن تختار ما يجب فعله عندما لا تتطابق تلك التمثيلات. قد تقوم بتحويل تدفق مسمى إلى xattr في الوجهة، أو تحتفظ فقط بمساحات الأسماء المدعومة، أو تستخدم ترميزًا خاصًا، أو تنشئ كائنًا آخر، أو تحذف البيانات الوصفية وتبلغ عن خطأ. على سبيل المثال، يمكن لوحدة streams xattr في Samba تخزين تدفقات البيانات البديلة لـ SMB في POSIX xattrs، لكن هذا سلوك خادم مهيأ وليس قاعدة لكل مشاركة SMB.

يمكن أن تؤثر أعمال التوافق على الدقة حتى عندما تكون تكلفة الأداء صغيرة. قد لا تبقى الملكية، قوائم التحكم في الوصول (ACLs)، تسميات الأمان، أو بيانات وصف التطبيق بعد الترحيل الذي ينسخ فقط بيانات الحمولة. عندما تكون المشكلة فقدان الوصول بدلاً من انخفاض معدل النقل، يوفر مسار العمل المنفصل فشل أذونات ترحيل NAS مسار استكشاف الأخطاء المناسب؛ ولا يعد دليلاً على أن xattrs تسبب البطء.

متى ينشئ AppleDouble كائنات بيانات وصفية إضافية؟

يمكن أن تتضمن ملفات ماك شوكة بيانات، شوكة موارد، معلومات Finder، وبيانات وصفية أخرى. عندما لا يمكن للوجهة تمثيل الكائن الكامل أصليًا، يقدم AppleDouble تنسيقًا مكونًا من كائنين. تعريف تنسيق AppleDouble يفصل شوكة البيانات العادية عن ملف رأس يمكنه حمل شوكة الموارد والسمات.

هذا يفسر لماذا قد ينشئ النقل اسمًا مرافقًا مثل ملف نقطة-تسطير، لكنه لا يعني أن كل ملف ماك ينتج واحدًا. يكون الكائن الإضافي ذا صلة فقط عندما تحتاج البيانات الوصفية إلى ذلك التمثيل ويختار مسار البرنامج AppleDouble. يمكن لخوادم Samba الحديثة أيضًا استخدام وحدات بيانات SMB لماك وxattrs أو التيارات الداعمة، لذا تعتمد النتيجة الدقيقة على سلوك العميل، تكوين الخادم، وقدرة نظام الملفات.

يمكن للكائنات المرافقة إضافة عمل إنشاء الملفات، الدليل، البحث، الفهرسة، والنسخ الاحتياطي. لا تضمن مضاعفة إجمالي عدد الملفات أو انخفاض الإنتاجية إلى النصف. فشل الاتصال والوصول عبر الأنظمة المختلفة هو أيضًا مسألة منفصلة؛ يمكن استخدام تدفق عمل توافق SMB بين Windows و macOS بعد فهم آلية البيانات الوصفية.

تمثيل البيانات الوصفية عمل إضافي محتمل متى يظهر حد تشخيصي
xattr لنظام الملفات الأصلي تعداد، قراءة، تعيين، وإعادة إنشاء السمات يعرض المصدر والوجهة دعم xattr متوافق قد تختلف حدود نظام الملفات ومساحات الأسماء
تيار مسمى SMB فتح والحفاظ على تمثيل تيار إضافي تعرض بيانات العميل الوصفية كتيار مسمى التخزين الخلفي يعتمد على تكوين الخادم
AppleDouble إنشاء وفهرسة كائن بيانات وصفية مرافق تتطلب بيانات ماك وصفية تمثيلاً منفصلاً ملف نقطة-تسطير لا يثبت أن عنق الزجاجة الرئيسي
بيانات وصفية غير مدعومة ترجمة، حذف، تحذير، إعادة محاولة، أو فشل لا توجد خريطة مقبولة للمعنى المصدر إلى الوجهة إتمام أسرع قد يخفي فقدان البيانات الوصفية

لماذا ليست كل عمليات النقل البطيئة مشكلة في xattr؟

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

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

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

ما الذي يجب أن تقيسه قبل تغيير سياسة البيانات الوصفية؟

ابدأ بمجموعة البيانات. عد الملفات والمجلدات، افحص توزيع الأحجام، حدد عدد الكائنات التي تحمل xattrs فعليًا، وسجل أي مساحات أسماء أو أنواع تدفقات تظهر. يحتوي الترحيل الذي يحتوي على عدد قليل من الملفات المنسوبة على ملف تعريف مخاطرة مختلف عن شجرة المصدر التي يتم فيها إرفاق بيانات وصفية للتطبيق، أو ACLs، أو تسميات الأمان على نطاق واسع.

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

لا تقم بإزالة البيانات الوصفية فقط لأن الاختبار أصبح أسرع. يتيح rsync الأصلي الحفاظ على xattr باستخدام --xattrs أو -X، بينما قد تستخدم المنصات الأخرى والإصدارات القديمة المجمعة معايير خيارات مختلفة. يجب التحقق من خيارات rsync الخاصة بـ xattr مقابل النسخة المثبتة. يجب موازنة أي مكسب في الأداء مقابل فقدان ACLs، وسياق الأمان، ومعلومات Finder، أو حالة التطبيق.

الأسئلة الشائعة

هل كل ملف NAS يحتوي على سمات موسعة؟

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

لماذا تكون الملفات الصغيرة بطيئة عندما لا تحتوي على سمات موسعة؟

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

هل تثبت ملفات dot-underscore أن AppleDouble تسبب في الإبطاء؟

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

هل يحفظ rsync السمات الموسعة بشكل افتراضي؟

ليس في السلوك العام الرئيسي. يتطلب حفظ السمات الموسعة الخيار المناسب، وتعتمد مساحات الأسماء المدعومة على الامتيازات ونظام الملفات الوجهة. نظرًا لأن أنظمة التشغيل قد تأتي بإصدارات مختلفة من rsync، تحقق من الدليل المحلي قبل تفسير -X, -E، أو سلوك وضع الأرشيف.

هل سيؤدي التبديل من SMB إلى NFS تلقائيًا إلى حل المشكلة؟

لا. كلا البروتوكولين لهما سلوك بيانات وصفية خاص بالتنفيذ، ودعم NFSv4 للسمات الموسعة اختياري. كما أن اختيار البروتوكول يشمل الأذونات، وتوافق العميل، والقفل، وملاءمة عبء العمل. تلك المقايضات الأوسع تنتمي إلى المقارنة المنفصلة SMB مقابل NFS، وليس في استنتاج أداء خاص بالسمات الموسعة فقط.

النتيجة النهائية

يمكن أن تؤدي السمات الموسعة إلى إبطاء نقل ملفات NAS عندما تضيف الحفظ عددًا كافيًا من عمليات القراءة، والتعيين، والكتابة، أو الكائنات المصاحبة لكل ملف لتصبح ذات تأثير كبير على نطاق واسع. تحقق من التكلفة التزايدية من خلال قياسات مضبوطة قبل تغيير سياسة البيانات الوصفية، واحتفظ بالتشخيص الذي يشمل الحمل الزائد للملفات الصغيرة العادية، وسلوك البروتوكول، والفهرسة، والأذونات، وزمن تأخر التخزين.

مركز التكنولوجيا والذكاء الاصطناعي

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.