NDCTL-DISABLE-NAMESPACE(1) ndctl Manual NDCTL-DISABLE-NAMESPACE(1)

ndctl-disable-namespace - غیرفعال‌سازی فضای نام مشخص در حافظه NVDIMM

ndctl disable-namespace <namespace> [<options>]

ظرفیت یک ناحیه حافظه پایدار یا REGION (گستره پیوسته‌ای از حافظه پایدار NVDIMM) از طریق یک یا چند دستگاه فضای نام (NAMESPACE) قابل دسترسی است. کلمه REGION اصطلاح لینوکسی برای مفهومی است که استانداردهای ACPI و UEFI به آن مجموعه درهم‌تنیده DIMM (DIMM-interleave-set) یا محدوده آدرس فیزیکی سیستم که (توسط کنترلر حافظه) روی یک یا چند ماژول حافظه توزیع (stripe) شده است می‌گویند.

مشخصات UEFI مفهوم پروتکل برچسب NVDIMM (NVDIMM Label Protocol) را به عنوان ترکیبی از روش‌های دسترسی به ناحیه برچسب و قالبی از داده‌ها برای تخصیص یک یا چند شیء NAMESPACE از یک REGION تعریف می‌کند. توجه داشته باشید که پشتیبانی از برچسب اختیاری است و اگر لینوکس قابلیت برچسب را شناسایی نکند، به طور خودکار یک فضای نام «بدون برچسب» (label-less) به ازای هر ناحیه ایجاد می‌نماید. نمونه‌هایی از فضاهای نام بدون برچسب مواردی هستند که توسط گزینه خط فرمان memmap=ss!nn در هسته لینوکس ایجاد می‌شوند (به ویکی nvdimm در kernel.org مراجعه کنید)، یا حافظه‌های NVDIMM که فاقد نمایه فضای نام (namespace index) معتبر در ناحیه برچسب خود هستند.


نکته

فضاهای نام بدون برچسب فاقد بسیاری از ویژگی‌های فضاهای نام دارای برچسب هستند. به عنوان مثال، اندازه آن‌ها قابل تغییر نیست یا نمی‌توان آن‌ها را به طور کامل نابود کرد (یعنی فضای آن‌ها بازپس‌گیری نمی‌شود). یک عملیات نابودسازی (destroy) تنها فراداده‌های اختصاصی حالت را صفر می‌کند. در نهایت، برای عملیات create-namespace روی فضاهای نام بدون برچسب، ndctl بررسی‌های مربوط به در دسترس بودن ظرفیت ناحیه را نادیده می‌گیرد و همیشه درخواست را با استفاده از تمام ظرفیت ناحیه برآورده می‌کند. تنها عملیات پیکربندی مجدد پشتیبانی‌شده روی یک فضای نام بدون برچسب، تغییر حالت (mode) آن است.

یک فضای نام می‌تواند طوری پیکربندی شود که در یکی از ۴ حالت fsdax، devdax، sector و raw عمل کند. الگوهای کاربردی مورد انتظار برای این حالت‌ها به شرح زیر است:

•fsdax: حالت Filesystem-DAX حالت پیش‌فرض یک فضای نام هنگام اجرای ndctl create-namespace بدون هیچ گزینه‌ای است. این حالت یک دستگاه بلوکی (/dev/pmemX[.Y]) ایجاد می‌کند که از قابلیت‌های DAX در سیستم‌فایل‌های لینوکس (تاکنون xfs و ext4) پشتیبانی می‌نماید. قابلیت DAX حافظه نهان صفحه (page cache) را از مسیر ورودی/خروجی (I/O) حذف کرده و به تابع mmap(2) اجازه می‌دهد تا نگاشت‌های مستقیمی به رسانه حافظه پایدار برقرار کند. قابلیت DAX به بارهای کاری / مجموعه‌های کاری که ظرفیت آن‌ها فراتر از حافظه نهان صفحه می‌رود اجازه می‌دهد تا به اندازه ظرفیت حافظه پایدار مقیاس‌پذیر شوند. بارهای کاری که در حافظه نهان صفحه جا می‌گیرند یا انتقال داده‌های حجیم انجام می‌دهند ممکن است مزیت چندانی از DAX نبرند. در صورت تردید، این حالت را انتخاب کنید.
•devdax: حالت Device-DAX قابلیت‌های نگاشت DAX مشابهی را از طریق mmap(2) همانند Filesystem-DAX فراهم می‌کند. با این حال، به جای یک دستگاه بلوکی که از سیستم‌فایل مجهز به DAX پشتیبانی کند، این حالت یک فایل دستگاه کاراکتری واحد (/dev/daxX.Y) تولید می‌نماید. از این حالت برای تخصیص حافظه پایدار به ماشین‌های مجازی، ثبت حافظه پایدار برای RDMA، یا در مواردی که نگاشت‌های بسیار بزرگ (gigantic) مورد نیاز است استفاده کنید.
•sector: از این حالت برای میزبانی سیستم‌فایل‌های سنتی و قدیمی که فراداده‌ها را چکسام (checksum) نمی‌کنند یا برنامه‌هایی که پس از خرابی سیستم برای بخش‌های ناقص (torn sectors) آماده نیستند، استفاده کنید. کاربرد مورد انتظار برای این حالت، حجم‌های ذخیره‌سازی کوچک برای بوت (boot volumes) است. این حالت با سایر سیستم‌های عامل نیز سازگار است.
•raw: حالت خام (Raw) عملاً فقط یک دیسک حافظه‌ای است که از DAX پشتیبانی نمی‌کند. معمولاً این حالت نشان‌دهنده فضای نامی است که توسط ابزارها یا سیستم‌عامل دیگری ایجاد شده است که نحوه ایجاد فضای نام در حالت fsdax یا devdax لینوکس را نمی‌دانستند. این حالت با سایر سیستم‌های عامل سازگار است، اما همان‌طور که گفته شد، از عملیات DAX پشتیبانی نمی‌کند.

<namespace>

نام دستگاه به‌صورت namespaceX.Y. کلمه کلیدی all می‌تواند برای اجرای عملیات روی تمام فضاهای نام موجود در سیستم، با امکان فیلتر اختیاری بر اساس ناحیه (گزینه --region= را ببینید) مشخص شود.

-r, --region=

نام دستگاه regionX یا شماره شناسه ناحیه. عملیات را به ناحیه(های) مشخص‌شده محدود می‌کند. کلمه کلیدی all می‌تواند برای نشان دادن عدم وجود هرگونه محدودیت مشخص شود، هرچند این کار معادل تعیین نکردن گزینه --region است.

-b, --bus=

شماره شناسه گذرگاه، یا رشته ارائه‌دهنده (مانند "ACPI.NFIT"). عملیات را به گذرگاه(های) مشخص‌شده محدود می‌کند. کلمه کلیدی all می‌تواند برای نشان دادن عدم وجود هرگونه محدودیت مشخص شود، هرچند این کار معادل تعیین نکردن گزینه --bus است.

-v, --verbose

انتشار پیام‌های اشکال‌زدایی (دیباگ) برای عملیات فضای نام.

حق نشر © 2016 - 2022، شرکت اینتل (Intel Corporation). مجوز GPLv2: گنو GPL نسخه ۲ http://gnu.org/licenses/gpl.html. این نرم‌افزار آزاد است: شما مجاز به تغییر و بازتوزیع آن هستید. هیچ‌گونه ضمانتی، تا حدی که قانون اجازه می‌دهد، وجود ندارد.

ndctl-enable-namespace(1)

2026-06-30 ndctl