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

ndctl-destroy-namespace - نابودسازی فضای نام (یا فضاهای نام) مشخص‌شده

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

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

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


نکته

فضاهای نام بدون برچسب فاقد بسیاری از ویژگی‌های همتایان دارای برچسب (label-rich) خود هستند. برای نمونه، اندازه آن‌ها قابل تغییر نیست، یا نمی‌توان آن‌ها را به‌طور کامل destroy کرد (یعنی فضای آن‌ها بازپس گرفته نمی‌شود). یک عملیات destroy هرگونه فراداده مختص حالت (mode-specific) را صفر می‌کند. در نهایت، برای عملیات create-namespace روی فضاهای نام بدون برچسب، ndctl بررسی‌های دردسترس‌بودن ظرفیت region را نادیده می‌گیرد و همیشه درخواست را با استفاده از تمام ظرفیت region پاسخ می‌دهد. تنها عملیات بازپیکربندی پشتیبانی‌شده روی یک فضای نام بدون برچسب، تغییر 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 پشتیبانی کند، این حالت یک فایل دستگاه نویسه‌ای منفرد (/dev/daxX.Y) ارائه می‌دهد. از این حالت برای اختصاص حافظه پایدار به یک ماشین مجازی، ثبت حافظه پایدار برای RDMA، یا در مواردی که نگاشت‌های بسیار عظیم مورد نیاز است استفاده کنید.
•sector: از این حالت برای میزبانی سیستم‌فایل‌های قدیمی که از فراداده جمع‌آزمایی (checksum) نمی‌گیرند یا برنامه‌هایی که پس از خرابی ناگهانی برای سکتورهای ناقص (torn sectors) آماده نیستند استفاده کنید. کاربرد مورد انتظار برای این حالت، درایوهای راه‌اندازی (boot) کوچک است. این حالت با سایر سیستم‌عامل‌ها سازگار است.
•raw: حالت Raw در عمل صرفاً یک دیسک حافظه است که از DAX پشتیبانی نمی‌کند. معمولاً این وضعیت نشان‌دهنده فضای نامی است که توسط ابزارها یا یک سیستم‌عامل دیگر ایجاد شده که نحوه ساخت فضای نام در حالت‌های fsdax یا devdax لینوکس را نمی‌دانسته است. این حالت با سایر سیستم‌عامل‌ها سازگار است، اما مجدداً از عملیات DAX پشتیبانی نمی‌کند.

<namespace>

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

-r, --region=

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

-b, --bus=

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

-v, --verbose

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

-f, --force

مگر اینکه این گزینه مشخص شود، در صورتی که فضای نام در حال حاضر فعال باشد، عملیات destroy namespace با شکست مواجه خواهد شد. تعیین --force باعث می‌شود فضای نام پیش از تلاش برای انجام عملیات غیرفعال گردد. با این حال، اگر فضای نام سوار (mount) شده باشد، عملیات‌های disable namespace و destroy namespace لغو خواهند شد. فضای نام پیش از نابودسازی باید پیاده (unmount) شود.

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

ndctl-create-namespace(1)

2026-06-30 ndctl