رفتن به نوشته‌ها

ایجاد swap در فایل سیستم BTRFS

من علاقه زیادی به swap ندارم چون با نوشتن اطلاعات (که موقتا سیستم بهشون احتیاج نداره) روی دیسک باعث کند شدن سیستم می شوند. اگر شما به اندازه کافی رم دارید، نیازی به swap ندارید! من هم همین فکر رو می کردم. چند مدت پبش یه PC گرفتم و کل root و پارتیشن boot رو آوردم روی فایل سیستم btrfs. ماه عسل من با سیستم مدت زیادی طول نکشید و زمانی که تب‌های فایرفاکس و کرومیوم‌ام زیاد می‌شد یا ۸ تا چیز رو با هم باز می‌کردم، دچار مشکل شدم. این امر مرا بر آن داشت تا بشینم و یه swap فایل 2GB بسازم.

فایل swap از فایل سیستم btrfs پشتیبانی می کند.

از شانس خوب‌مون مایی که از نسخه 5.0 به بعد کرنل استفاده می کنیم swap فایل به صورت پیش‌فرض از btrfs پشتیبانی میکنه و ما فقط باید خصوصیات لازم رو به فایل بدهیم.

کارهایی که در این مطلب انجام می‌دهیم:

  • ایجاد یک فایل بزرگ ۲ گیگی.
  • ساختن فایل به عنوان swap فایل سیستم btrfs.
  • فعال و پایدار کردن swap.

روش ایجاد فایل بزرگ ۲ گیگی.
ما نیاز داریم که یک فایل با خصوصیت NOCOW (بدون کپی هنگام نوشتن) ایجاد کنیم.

sudo touch /swap.img
sudo chattr +C /swap.img

حالا که فایل مون ایجاد شد مقدار فضای مد نظرمان رو با دستور fallocate به آن می دهیم.

sudo fallocate -l 2G /swap.img

اگر یک ls -l بگیریم فایل باید در مسیر روت با حجمی برابر ۲ گیگ باشه.

ls -l /swap.img

همان طور که مشاهده می کنید این فایل متعلق به کاربر root است و از همین رو فقط می بایست root در آن بنویسد و بخواند وگرنه امکان نشت اطلاعات وجود دارد (بله حتی اگر روی PC خودمان باشد!).

 sudo chmod 0600 /swap.img

حتالا با دستور mkswap فایل swap.img رو به عنوان فضای swap به سیستم می شناسونیم و در نهایت آن رو با دستور swapon فعال می کنیم.

حالا اگر htop بگیرید و یا free -h بزنید مشاهده می کنید که فایلی با حجم ۲ گیگ به شما اضافه شده.

sudo mkswap /swap.img
sudo swapon /swap.img
free -h

برای پایدار کردن swap (یعنی با ری‌استارت/بوت شدن سیستم همچنان swap را داشته باشیم) UUID آن را به جدول فایل سیستم‌ها واقع در مسیر /etc/fstab اضافه می کنیم.

نکته توجه داشته باشید هنگامی که mkswap می کنید UUID آن نیز به ما نمایش می دهند اگر مثل من یادتون رفت یادداشت کنید می تونید با دستور sudo blkid /swap.img آن رو مجدد بردارید و به fstab اضافه کنید.

UUID=xxxxxxxxswapxxxxxxxxuuidxxxxxxxx  none swap sw 0 0

بن‌مایه: unixtutorial

منتشر شده در بلاگ

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

6 × 1 =