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

ndctl-enable-namespace - فعال‌سازی فضای نام (یا فضاهای نام) مشخص‌شده

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

ظرفیت یک NVDIMM REGION (محدوده پیوسته‌ای از حافظه پایدار) از طریق یک یا چند دستگاه NAMESPACE در دسترس قرار می‌گیرد. REGION اصطلاح لینوکسی برای چیزی است که در ACPI و UEFI با عنوان DIMM-interleave-set یا یک system-physical-address-range شناخته می‌شود که (توسط کنترل‌کننده حافظه) بین یک یا چند ماژول حافظه تقسیم (striped) شده است.

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


نکته

فضاهای نام بدون برچسب فاقد بسیاری از ویژگی‌های همتایان برچسب‌دار خود هستند. برای مثال، اندازه آن‌ها قابل تغییر نیست، یا نمی‌توان آن‌ها را به طور کامل تخریب کرد (destroy، یعنی بازپس‌گیری فضا). یک عملیات 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 به بارهای کاری / مجموعه‌های کاری (working-sets) که فراتر از ظرفیت page cache هستند اجازه می‌دهد تا به اندازه ظرفیت حافظه پایدار مقیاس‌پذیر شوند. بارهای کاری که در page cache جا می‌شوند یا انتقال داده حجیم انجام می‌دهند ممکن است نفعی از DAX نبرند. در صورت تردید، این حالت را انتخاب کنید.
•devdax: حالت Device-DAX قابلیت‌های نگاشت DAX مشابهی را از طریق mmap(2) مانند Filesystem-DAX فراهم می‌کند. با این حال، به جای یک دستگاه بلوکی که بتواند از یک فایل‌سیستم دارای قابلیت DAX پشتیبانی کند، این حالت یک فایل دستگاه نویسه‌ای (character device) واحد به شکل (/dev/daxX.Y) ارائه می‌دهد. از این حالت برای اختصاص حافظه پایدار به یک ماشین مجازی، ثبت حافظه پایدار برای RDMA، یا در مواردی که نگاشت‌های بسیار عظیم نیاز است استفاده کنید.
•sector: از این حالت برای میزبانی فایل‌سیستم‌های قدیمی که فاقد چک‌سام فراداده هستند، یا برنامه‌هایی که پس از فروپاشی سیستم آمادگی مواجهه با سکتورهای ناقص (torn sectors) را ندارند، استفاده کنید. کاربرد مورد انتظار برای این حالت، درایوهای راه‌اندازی (boot volumes) کوچک است. این حالت با سیستم‌عامل‌های دیگر سازگار است.
•raw: حالت خام (Raw) عملاً تنها یک دیسک حافظه‌ای است که از DAX پشتیبانی نمی‌کند. این حالت معمولاً نشان‌دهنده یک فضای نام است که توسط ابزارها یا سیستم‌عامل دیگری ایجاد شده که نحوه ساخت فضای نام لینوکسی در حالت fsdax یا devdax را نمی‌دانسته است. این حالت با دیگر سیستم‌عامل‌ها سازگار است، اما بار دیگر تأکید می‌شود که از عملکرد DAX پشتیبانی نمی‌کند.

<namespace>

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

-r, --region=

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

-b, --bus=

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

-v, --verbose

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

Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL version 2 http://gnu.org/licenses/gpl.html. این یک نرم‌افزار آزاد است: شما مجاز به تغییر و بازتوزیع آن هستید. هیچ‌گونه ضمانتی وجود ندارد، تا حدی که قانون اجازه می‌دهد.

ndctl-disable-namespace(1)

2026-06-30 ndctl