در این پست با مفهوم و کاربرد فضای swap و چگونگی ایجاد یک swap file بعنوان یک فضای swap اضافی آشنا شدید. همانطور که گفته شده، در هنگام نصب هر توزیع لینوکسی (یا هر سیستم عامل یونیکسی دیگر) ایجاد یک swap partition الزامی و اجباری است. به هر حال پس از نصب توزیع لینوکسی و به به دلیل پر شدن swap partition، می توانید یک فضای swap دیگر بصورت یک swap partition یا swap file ایجاد کنید. در این پست چگونگی ایجاد یک swap partition جدید را در لینوکس گفته می شود.برای ایجاد یک پارتیشن در لینوکس می توانید از ابزار های (دستور های)، fdisk و parted در محیط خط فرمان استفاده کنید. من از دستور fdisk در این پست برای ایجاد یک swap partition استفاده می کنم. فرض کنید می خواهیم یک پارتیشن به اندازه 512 مگابایت ایجاد کنیم. باید پارتیشن را از نوع swap ایجاد کنیم و در هنگام اجرای دستور fdisk با استفاده از کلید l خواهید دید که Partition ID مربوط به پارتیشن نوع swap با مقدار 82 خواهد بود. فرض دیگر اینکه یک هارد بر روی سیستم داریم که sda نامگذاری شده است. پس برای پارتیشن بندی آن لازم است دستور زیر را اجرا کنید.
نخست می بایست دستور زیر را اجرا کنید :
با توجه به شکل بالا، برای ایجاد یک پارتیشن جدید باید کلید (دستور) n را اجرا کنید. اگر هارد دیسک فضای خالی داشته باشد، fdisk بصورت نرمال پارتیشن جدید را از نخستین سکتور یا سیلند در دسترس ایجاد می کند. مطابق با شکل زیر نخستین سیلند در دسترس (default یا پیشفرض)، سیلندر 6442 است. برای انتخاب آن Enter را بزنید (یا عدد معادل آن یعنی 6442 را وارد کنید). در شکل زیر پارتیشنی به اندازه 512 مگابایت ایجاد کردیم. (M یعنی مگابایت، و گزینه های دیگر K یعنی کلیلو بایت و Gیعنی گیگابات).
پس از ایجاد یک پارتشین، برای استفاده آن بعنوان Additional swap partition باید آنرا نوع آنرا به سیستم فایل از نوع swap تغییر دهیم. برای این کار باید Partition ID معادل با سیستم فایل از نوع swap را داشته باشیم. برای انکه ID معادل با پارتیشن swap را بدانیم (یا هر نوع سیستم فایل دیگر)، از دستور (کلید) l در دستور fdisk استفاده کنید. همانطور که در شکل زیر می بینید شناسه سیستم فایل swap مقدار 82 است.
برای تغییر شناسه پارتیشن باید از دستور (کلید) t در دستور fdisk استفاده کنید. پس از اجرای دستور (کلید) t، نخست باید شماره پارتیشن را وارد کنید. برای نمایش لیستی از پارتیشن ها، از دستور (کلید) p در دستور fdisk استفاده کنید. مطابق با شکل زیر، پارتیشن جدیدی که ایجاد کرده بودیم، دهمین پارتیشن است.
مطابق با شکل بالا، نوع سیستم فایل بر روی دهمین پارتیشن از نوع ext4 و با شناسه 83 است که می بایست آنرا توسط دستور (کلید) t به 82 تغییر دهیم. مانند شکل زیر انجام دهید.
پس از انجام تمامی گام های بالا، با دستور (کلید) w تمامی تغییرات اعمال شده بر روی دیسک را تثبیت کنید. در صورتی که مطابق با شکل زیر خطای 16 (error 16) نشان داده شد، از دستور reboot -f سیستم را، راه اندازی مجدد کنید. علت این خطا به این خاطر است که کرنل نتوانسته پارتیشن را به جدول پارتیشن( partition table) اضافه کند.
برای اینکه مطمئن شوید که آیا پارتیشن ایجاد شده است یا نه، می توانید دوباره دستور (کلید) p را در محیط fdisk اجرا کنید تا فهرستی از پارتیشن ها را ببینید. توجه کنید تا زمانی که یک سیستم فایل بر روی پارتیشن ایجاد نکرده باشید نمی توانید آن پارتیشن را در زیر دایرکتوری dev/ مشاهده کنید.
پس از ایجاد پارتیشین می بایست با دستور mkswap بر روی آن پارتیشن، سیستم فایل swap را ایجاد کنید. در دستور زیر چون دهمین پارتیشن را برای فضای swap ایجاد کردیم، پس از sda10 استفاده نمودیم.
سپس با دستور swapon پارتیشن ایجاد شده از نوع swap را به لیست فضا های swap موجود در سیستم اضافه کنید.
برای مشاهده فهرستی از فضا های swap موجود بر روی سیستم، دستور زیر را اجرا کنید.
برای اعمال دائمی فضای جدید، ایجاد شده در سیستم، باید خطی معادل زیر در فایل etc/fstab/ اضافه کنید.
نویسنده نامی امیر
نخست می بایست دستور زیر را اجرا کنید :
کد PHP:
fdisk /dev/sda
با توجه به شکل بالا، برای ایجاد یک پارتیشن جدید باید کلید (دستور) n را اجرا کنید. اگر هارد دیسک فضای خالی داشته باشد، fdisk بصورت نرمال پارتیشن جدید را از نخستین سکتور یا سیلند در دسترس ایجاد می کند. مطابق با شکل زیر نخستین سیلند در دسترس (default یا پیشفرض)، سیلندر 6442 است. برای انتخاب آن Enter را بزنید (یا عدد معادل آن یعنی 6442 را وارد کنید). در شکل زیر پارتیشنی به اندازه 512 مگابایت ایجاد کردیم. (M یعنی مگابایت، و گزینه های دیگر K یعنی کلیلو بایت و Gیعنی گیگابات).
پس از ایجاد یک پارتشین، برای استفاده آن بعنوان Additional swap partition باید آنرا نوع آنرا به سیستم فایل از نوع swap تغییر دهیم. برای این کار باید Partition ID معادل با سیستم فایل از نوع swap را داشته باشیم. برای انکه ID معادل با پارتیشن swap را بدانیم (یا هر نوع سیستم فایل دیگر)، از دستور (کلید) l در دستور fdisk استفاده کنید. همانطور که در شکل زیر می بینید شناسه سیستم فایل swap مقدار 82 است.
برای تغییر شناسه پارتیشن باید از دستور (کلید) t در دستور fdisk استفاده کنید. پس از اجرای دستور (کلید) t، نخست باید شماره پارتیشن را وارد کنید. برای نمایش لیستی از پارتیشن ها، از دستور (کلید) p در دستور fdisk استفاده کنید. مطابق با شکل زیر، پارتیشن جدیدی که ایجاد کرده بودیم، دهمین پارتیشن است.
مطابق با شکل بالا، نوع سیستم فایل بر روی دهمین پارتیشن از نوع ext4 و با شناسه 83 است که می بایست آنرا توسط دستور (کلید) t به 82 تغییر دهیم. مانند شکل زیر انجام دهید.
پس از انجام تمامی گام های بالا، با دستور (کلید) w تمامی تغییرات اعمال شده بر روی دیسک را تثبیت کنید. در صورتی که مطابق با شکل زیر خطای 16 (error 16) نشان داده شد، از دستور reboot -f سیستم را، راه اندازی مجدد کنید. علت این خطا به این خاطر است که کرنل نتوانسته پارتیشن را به جدول پارتیشن( partition table) اضافه کند.
برای اینکه مطمئن شوید که آیا پارتیشن ایجاد شده است یا نه، می توانید دوباره دستور (کلید) p را در محیط fdisk اجرا کنید تا فهرستی از پارتیشن ها را ببینید. توجه کنید تا زمانی که یک سیستم فایل بر روی پارتیشن ایجاد نکرده باشید نمی توانید آن پارتیشن را در زیر دایرکتوری dev/ مشاهده کنید.
پس از ایجاد پارتیشین می بایست با دستور mkswap بر روی آن پارتیشن، سیستم فایل swap را ایجاد کنید. در دستور زیر چون دهمین پارتیشن را برای فضای swap ایجاد کردیم، پس از sda10 استفاده نمودیم.
کد PHP:
mkswap /dev/sda10
سپس با دستور swapon پارتیشن ایجاد شده از نوع swap را به لیست فضا های swap موجود در سیستم اضافه کنید.
کد PHP:
swapon /dev/sda10
کد PHP:
cat /proc/swaps
برای اعمال دائمی فضای جدید، ایجاد شده در سیستم، باید خطی معادل زیر در فایل etc/fstab/ اضافه کنید.
کد PHP:
dev/sda10 swap swap defaults 0 0/
نویسنده نامی امیر