| XFS_FSR(8) | دستورات مدیریت سیستم | XFS_FSR(8) |
نام (NAME)
xfs_fsr - سازماندهی مجدد و یکپارچهسازی فایلسیستم XFS (Defragmentation)
خلاصه دستور (SYNOPSIS)
xfs_fsr [-vdg] [-t seconds] [-p passes] [-f leftoff] [-m mtab] xfs_fsr [-vdg] [xfsdev | file] ... xfs_fsr -V
توضیحات (DESCRIPTION)
دستور xfs_fsr برای یکپارچهسازی دادهها و کاهش تکهتکه شدن (defragment) فایلها در سیستم پرونده XFS به کار میرود.
ابزار xfs_fsr سازماندهی سیستمهای پرونده مانتشده را بهبود میبخشد. الگوریتم سازماندهی مجدد در هر زمان روی یک فایل کار میکند و چیدمان اکستنتهای فایل (بلوکهای پیوسته دادههای فایل) را متراکم ساخته یا بهبود میدهد.
گزینههای زیر توسط xfs_fsr پذیرفته میشوند. گزینههای -m، -t و -f در صورتی که هرگونه سیستم پرونده یا فایلی در خط فرمان مشخص شده باشد، هیچ تاثیری نخواهند داشت.
- -m mtab
- استفاده از این فایل برای دریافت فهرست سیستمهای پرونده جهت سازماندهی مجدد. حالت پیشفرض استفاده از /etc/mtab است.
- -t seconds
- مدت زمانی که سازماندهی مجدد باید طول بکشد. مقدار پیشفرض ۷۲۰۰ ثانیه (۲ ساعت) است.
- -p passes
- تعداد دورها (passes) پیش از خاتمه سازماندهی مجدد سراسری. مقدار پیشفرض ۱۰ دور است.
- -f leftoff
- استفاده از این فایل به جای /var/tmp/.fsrlast برای خواندن وضعیت نقطه شروع و همچنین ذخیره وضعیتی که سازماندهی مجدد در آن متوقف شده است.
- -v
- حالت پرگو (Verbose). چاپ اطلاعات با جزئیات درباره هر فایلی که در حال سازماندهی مجدد است.
- -d
- اشکالزدایی (Debug). چاپ اطلاعات با جزئیات بیشتر.
- -g
- ارسال خروجی به syslog (در صورتی که خروجی استاندارد tty نباشد، پیشفرض است).
- -V
- نمایش شماره نسخه و خروج.
هنگامی که بدون آرگومان فراخوانی شود، xfs_fsr تمامی فایلهای عادی را در تمام سیستمهای پرونده مانتشده سازماندهی مجدد میکند. xfs_fsr چندین چرخه روی /etc/mtab انجام میدهد و هر بار یک دور روی هر سیستم پرونده XFS اجرا میکند. در هر دور، فایلهایی که بیشترین تعداد اکستنت را دارند انتخاب میشوند و تلاش میکند تا ۱۰٪ بالای این فایلها را در هر دور یکپارچهسازی کند.
این دستور تا دو ساعت اجرا میشود و پس از آن، سیستم پروندهای را که کار در آن متوقف شده ثبت میکند تا دفعه بعد بتواند از همانجا شروع کند. این اطلاعات در فایل /var/tmp/.fsrlast_xfs ذخیره میشود. اگر اطلاعات موجود در این فایل به نوعی متناقض یا قدیمی باشد، نادیده گرفته شده و سازماندهی مجدد از ابتدای نخستین سیستم پرونده موجود در /etc/mtab آغاز میشود.
دستور xfs_fsr میتواند با یک یا چند آرگومان فراخوانی شود که نام سیستمهای پرونده (نام دستگاه بلوکی) و فایلهای مورد نظر برای سازماندهی مجدد را مشخص میکنند. در این حالت، xfs_fsr فایل /var/tmp/.fsrlast_xfs را نمیخواند و در آن نمینویسد، و همچنین برای یک بازه زمانی ثابت اجرا نمیشود. بلکه یک دور روی هر فایل عادی مشخصشده و تمام فایلهای عادی در هر سیستم پرونده مشخصشده انجام میدهد. اگر نام مشخصشده در خط فرمان به یک پیوند نمادین (به جز دستگاه سیستم پرونده)، یک FIFO یا یک سوکت دامنه یونیکس اشاره کند، یک پیام هشدار تولید میشود اما در غیر این صورت نادیده گرفته خواهد شد. هنگام پیمایش سیستم پرونده، این نوع فایلها بدون پیام رد میشوند.
فایلها (FILES)
- /etc/mtab
- شامل فهرست پیشفرض سیستمهای پرونده جهت سازماندهی مجدد است.
- /var/tmp/.fsrlast_xfs
- وضعیت نقطهای که سازماندهی مجدد در آن متوقف شده را ثبت میکند.
همچنین ببینید (SEE ALSO)
نکات (NOTES)
ابزار xfs_fsr چیدمان اکستنتهای هر فایل را با کپی کردن کل فایل در یک مکان موقت و سپس تعویض اتمیک اکستنتهای داده فایل هدف و فایل موقت بهبود میبخشد. این روش نیازمند وجود فضای خالی کافی روی دیسک برای کپی کردن هر فایل مشخص و همچنین کمتر تکهتکه بودن فضای خالی نسبت به فایل اصلی است. همچنین نیاز است که مالک فایل در سیستمهای دارای سهمیهبندی دیسک (quotas)، سهمیه فضای باقیمانده کافی برای انجام کپی داشته باشد. در صورتی که فضا برای بهبود فایل هدف کافی نباشد، xfs_fsr یک پیام هشدار صادر میکند.
فایل موقتی که برای بهبود یک فایل مشخصشده در خط فرمان استفاده میشود، در همان دایرکتوری والد فایل هدف ایجاد شده و پیشوند دارد. فایلهای موقتی که برای بهبود یک دستگاه XFS کامل استفاده میشوند در دایرکتوری ریشه دستگاه هدف ذخیره شده و از همان شیوه نامگذاری استفاده میکنند. فایلهای موقت بلافاصله پس از ایجاد حذف پیوند (unlink) میشوند، بنابراین دادهها توسط هیچ فرآیند دیگری قابل خواندن نخواهند بود.
دستور xfs_fsr روی فایلهایی که در حال حاضر در حافظه نگاشت (memory-mapped) شدهاند عملیاتی انجام نمیدهد. در صورت فعال بودن فلگ پرگو (-v) برای این فایلها خطای 'file busy' مشاهده میشود.
فایلهایی که با عنوان no-defrag علامتگذاری شدهاند نادیده گرفته خواهند شد. از دستور chattr در xfs_io(8) با ویژگی f میتوان برای تنظیم یا پاک کردن این فلگ استفاده کرد. فایلها و دایرکتوریهای ایجاد شده در دایرکتوری دارای فلگ no-defrag این ویژگی را به ارث میبرند.
یک مدخل در /etc/mtab یا فایل مشخصشده با گزینه -m باید گزینه rw را برای دسترسی خواندن و نوشتن مشخص کرده باشد. اگر این گزینه وجود نداشته باشد، xfs_fsr سیستم پرونده توصیفشده در آن خط را رد میکند. برای جزئیات بیشتر به صفحه راهنمای fstab(5) مراجعه کنید.
به طور کلی نیاز به اجرای xfs_fsr روی پارتیشنهای سیستمی مانند /، /boot و /usr پیشبینی نمیشود، زیرا معمولاً این پارتیشنها از تکهتکه شدن رنج نمیبرند. همچنین مشکلاتی در یکپارچهسازی فایلهایی که lilo(8) برای بوت سیستم استفاده میکند وجود دارد. توصیه میشود این فایلها با دستور chattr در xfs_io(8) با فلگ no-defrag علامتگذاری شوند. اگر این فایلها توسط xfs_fsr جابهجا شوند، باید پیش از راهاندازی مجدد سیستم lilo را دوباره اجرا کنید، در غیر این صورت ممکن است سیستم غیرقابل بوت شود.
| مه ۲۰۲۵ | xfsprogs |