الخلاصة

  • يربط RFC 9561 تخطيط pNFS SCSI بهوية namespace ومفاتيح الحجز وتسييج العميل وتفريغ ذاكرة NVMe المتطايرة.
  • يسمّي NGUID الهدف، ويطلب Preempt تغيير الحالة، ويدعم Flush ادعاءً محدوداً عن التخزين المستقر؛ ولا واحد منها يثبت حالة الملف لدى التطبيق.
  • تحتاج الحجة التشغيلية إلى ربط Host Identifier بكل مسارات المتحكم والحجز ورفض الإدخال والإخراج بعد التسييج وLAYOUTCOMMIT والقراءة اللاحقة.

عاد LAYOUTCOMMIT بنجاح، فتحولت العملية في اللوحة إلى اللون الأخضر. لكن ذلك لا يخبرنا إن كان العميل القديم فقد كل المسارات، أو إن غادرت البايتات الذاكرة المتطايرة، أو إن قرأ التطبيق الحالة المقصودة. يحدد RFC 9561 العمليات؛ ولا يدمج الأدلة.

نُشر RFC 9561 في أبريل 2024 ضمن Standards Track لدى IETF. لا يعدل تخطيط RFC 8154، بل يقابل مفاهيم SCSI ببنى NVMe، بصرف النظر عن استخدام PCIe أو RDMA أو TCP أو Fibre Channel.

المعرّف يحدد الهدف ولا يقرأه

يجب أن يوفر namespace قيمة EUI64 أو NGUID. يحمل designator الثنائي إحداهما، ويميّز طول XDR بين ثمانية وستة عشر octet. يحل ذلك غموض التمثيل، لا حداثة المحتوى ولا اتفاق المسارات.

تشمل مفاتيح حجز NVMe جميع المتحكمات المرتبطة بـHost Identifier نفسه. لذلك لا يمكن فهم نطاق الحجز من اسم الملف وحده؛ يلزم جرد المتحكمات وهوية المضيف الفعلية.

التسييج نتيجة رفض لا مجرد أمر

قبل إعادة المجلد، يسجل MDS مفتاحه ويأخذ حجز Exclusive Access – Registrants Only. ولتسييج عميل لا يستجيب يرسل Preempt أو Preempt and Abort مع مفتاحيهما. يستطيع العميل التعرف إلى الحالة عبر Reservation Conflict.

لكن RFC 8154 يطلب نتيجة أقوى: رفض كل إدخال وإخراج صادر عن العميل المسيّج. لذا يجب حفظ حالة الحجز قبل الأمر وبعده وتجربة المفتاح القديم على كل مسار. نجاح Preempt أمام قائمة ناقصة ليس عزلًا كاملاً.

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

الالتزام يعتمد على حالة الذاكرة

إذا فعّل VWC وWCE ذاكرة كتابة متطايرة، يجب على MDS إتمام NVMe Flush قبل عودة LAYOUTCOMMIT. يقابل ذلك SCSI SYNCHRONIZE CACHE. يثبت النجاح نطاقاً محدداً للـnamespace والترتيب المراقب، لا النسخ ولا قابلية القراءة اللاحقة ولا معاملة التطبيق.

كما لا تنتقل حماية NFSv4/RPC تلقائياً إلى مسار NVMe الأدنى. قد يستخدم NVMe/TCP بروتوكول TLS، بينما قد لا يضيف PCIe حماية مماثلة. NFS يمنح صلاحيات للمستخدم والملف، وNVMe للمبادر والمجلد؛ وعلى العميل حفظ المقابلة.

وفق منهج طبقات الواقع لدى لو هينغ، المعرّف والتهيئة والأمر المنفذ وحالة الجهاز ومشاهدة التطبيق حقائق مختلفة لا تتبادل الصلاحية.