پارتیشن بندی لینوکس – سیستم فایل لینوکس

سیستم های عامل لینوکس به همه عناصر سخت افزاری موجود در سیستم به چشم یک فایل نگاه می کند از این رو تمامی قطعات سیستم مانند چاپگر، مودم، فلاپی درایو و پارتیشن های دیسک سخت دارای یک فایل منحصر به فرد در مسیر /dev سیستم هستند. دیسک های سخت IDL در توزیع های لینوکسی با نماد hdX نمایش داده می شوند که X یکی از حروف کوچک الفبای انگلیسی است. به طور نمونه اولین دیسک سخت IDE به نام hda و دومین دیسک به نام hdb شناخته می شود. در مورد دیسک های SCSI و SATA به جای نماد hdX از sdX استفاده می شود. همچنین حافظه های قابل حمل flash در این زمره قرار می گیرند. شکل زیر خروجی فرمان fdisk را در یک توزیع لینوکسی نشان می دهد که نام سایر دیسک ها و پارتیشن های سیستم به همراه اندازه آنها در آن مشخص شده است.

در سیستم فوق دو دیسک سخت (hda) IDE و SATA (sda) وجود داردکه دیسک اول (hda) شامل 7 پارتیشن و دیسک دوم (sda) دازای یک پارتیشن است. نکته ای که در مورد پارتیشن های لینوکسی باید در نظر داشته باشید این است که 4 پارتیشن اول از همه دیسک های سیستم به عنوان Primary Partitions در نظر گرفته می شوند. در شکل فوق پارتیشن های hda1 تا hda4 به عنوان پارتیشن های پایه یا Primary سیستم در نظر گرفته شده اند که جهت ساخت پارتیشن های منطقی در سیستم یکی از آنها را به عنوان Extended Partition در نظر گرفته و در داخل آن اقدام به ساخت دیگر پارتیشن های سیستم می کنیم. مشابه چنین ساختاری را در ویندوز بدین صورت داشتید که در آن پس از ساخت پارتیشن C به شکل Primary و ایجاد یک Extended Partition، سایر پارتیشن های سیستم مانند D و E در آن قرا می گرفتند. در شکل فوق پارتیشن hda4 به عنوان Extended Partition سیستم تعریف شده استکه دیگر پارتیشن های منطقی سیستم شامل hda6، hda5 و hda7 در آن قرار گرفته اند. برای هر یک از پارتیشن های موجود در سیستم فایل منحصر به فردی به نام خودش در مسیر /dev قرار دارد (مانند /dev/hda1).

نکته : درایوهای CD و DVD در سیستم عامل های گنو / لینوکسی نیز با نماد hdX نمایش داده شده و در /dev دارای فایل مختص به خود هستند. فلاپی دارایو نیز در سایر توزیع های لینوکسی به نام ƒd0 شناخته می شود(/dev/ƒd0).

ساختار فایل سیستم های لینوکسی

فایل سیستم ساختاری است که توسط آن امکان دسترسی به اطلاعات ذخیره شده در حافظه جانبی سیستم امکان پذیر بوده و می توان داده های مورد نظرمان را به وسیله آن در حافظه های موجود ذخیره و بازیابی کنیم. اجزای اصلی فایل سیستم ها در سیستم عامل های گنو / لینوکسی عبارتند از :

  • Inode : فایل اطلاعات پایه مربوط به هر فایل را در هنگام ذخیره شدن در دیسک سخت در Inode مربوط به آن ذخیره می کند. مجموعه Inodeهای موجود بر روی دیسک فضایی از دیسک به نام Inode list را به خود تخصیص می دهند.
  • Mete Data : زمانی که یک فایل ایجاد می کنید یک ساختمان داده برای فایل ایجاد می شود که همان Mete Data است. به عبارت دیگر Mete Data داده ای است که برای دسترسی به مجموعه ای از داده ها مورد استفاده قرار می گیرد. Mete Data دو بخش از داده ها را نگهداری می کند :

الف) نوع فایل                           ب) Inode

  • Journal : این جزء از فایل سیستم نیز یک نوع داده است که تغییراتی را که درMete Dataهای فایل اعمال می شود ذخیره می کند. به عبارت دیگر کوچکترین وقایع رخ داده شده در سیستم به کمک این روش ثبت می شود. اگر سیستمی مبتنی بر فایل سیستم Jornaling باشد در بازیابی سیستم های آسیب دیده، خیلی سریع عمل می کند.

 

انواع فایل سیستم های لینوکسی

لینوکس فایل پشتیبانی از اکثر فایل سیستم ها را داراست. در اینجا تعدادی از این فایل سیستم ها را به صورت لیست شده مشاهده می کنید که در ادامه به توضیح برخی از آنها که بیشتر مورد استفاده هستند می پردازیم.

 

 

1 Reiserfs 8 RAMFS
2 Ext2 9 MSDOS
3 Ext3 10 Minix
4 swap 11 XFS
5 JFS 12 NFS
6 NTFS `13 VFAT
7 ISO 9660 14 SMBFS

 

 

 

  1. Reiserfs

این فایل سیستم به صورت یک patch بر روی هسته 2.2 ارائه شده شد و سپس به شکل رسمی در هسته 4.2 معرفی شده و بعد از آن مورد استفاده قرار گرفت. خصوصیات شاخص این سیستم فایل عبارتند از :

  • استفاده بهتر از فضای دیسک : این نوع فایل سیستم دارای ساختار B* – Balanced Tree است. به بیان ساده، این ساخار فایل ها را به صورت برگ هایی از یک درخت در نظر می گیرد و جهت دسترسی و ذخیره سازی آنها از این ساختار درختی استفاده می کند.
  • افزایش بازدهی دسترسی به دیسک : این ویزگی از آنجایی نشأت می گیرد که این فایل سیستم برای خواندن فایل هایی که اندازۀ آنها کوچک استکافی است تنها یکبار Inode و datablock آنها را بخواند.اصولا جهت خواندن داده باید ابتدا Inode و سپس datablock آن خوانده شود که به کمک این متد این کار با سرعت بیشتری صورت می گیرد.
  • ترمیم سریع تر System Crash : سیستم فایل Reiserfs این قابلیت را دارد که در صورتی که سیستم به هر دلیلی Crash کند، سیستم فایل را recover کند. به این ترتیب که این فایل سیستم از طریق logfileها و سیستم Journaling قادر است فایل هایی را که آسیب دیده اند بازسازی کند.
  • قابلیت اطمینان به واسطه data journaling : همانطور که اشاره شد فایل سیستم هایی که از نوع Journaling هستند همۀ تغییراتی را که روی Mete Dataها اعمال می شود ذخیره می کنند. به طور کلی برای دو بخش Data و Mete Data می توان Journaling در نظر گرفت. اما فایل سیستم Reiserfs فقط از Mete Data Journaling بهره می گیرد.

 

  1. EXT2

اولین فایل سیستمی که در سیستم عامل گنو/ لینوکس استفاده شد، EXT2 بود. این فایل سیستم دارای قابلیت Journaling نبوده و خصوصیات کلیدی آن به شرح ذیل هستند :

  • پایداری داده ها : در این نوع فایل سیستم امکان از بین رفتن داده ها بسیار کم است.
  • قابلیت به روز رسانی آسان : این نوع قابلیت سیستم به راحتی قابل تبدیل به فایل سیستم های دیگر است.

 

  1. EXT3

این فایل سیستم مشابه فیل سیستم EXT2است با این تفاوت که EXT3 دارای قابلیت Journaling است و بر خلاف فایل سیستم Reiserfs از هر دو قابلیت data journaling و Mete Data Journaling بهره می گیرد، که به این روش ordered data

گفته می شود. در این فایل سیستم ابتدا تغییرات روی Mete Data و سپس روی داده ها اعمال می شود.

 

  1. Jfs

این فایل سیستم در پارتیشن هایی با اندازه های بزرگ مورد استفاده قرار می گیرد و نخستین بار توسط IBM ارائه شد. از این نوع فایل سیستم، در معماری های پیچیدۀ کامپیوتری استفاده می شود. این فایل سیستم نیز مانند فایل سیستم Reiserfs تنها از روش Mete Data Journaling بهره می گیرد و اطلاعات را نیز تحت ساختار B* – Balanced Tree ذخیره می کند. از این فایل سیستم اغلب در سرویس دهنده های لینوکسی استفاده می شود.

 

  1. XFS

این فایل سیستم که دارای یک ساختار 64 بیتی است، عضو خانواده IRIX OS است و بیشتر در Main Frame استفاده می شود، که قابلیت استفاده از Journaling را داراست.

 

  1. ISO 9660

این فایل سیستم مختص دیسک های فشرده (CD) است که در گنو/ لینوکس به طور کامل پشتیبانی می شود.

 

  1. UFS

این فایل سیستم در سیستم های عامل SUN, BSD, Free BSD استفاده شده است و جزء منسجم ترین فایل سیستم ها است.

 

  1. NFS

فایل سیستمی است تحت شبکه های مبتنی بر Unix از آن جهت به اشتراک گذاشتن فایل ها و اطلاعات استفاده می شود.

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

جدول 1-1

ردیف نوع فایل سیستم میزان فضای آدرس دهی
1 Ext2 2TB
2 Ext3 8TB
3 Reiser 32TB
4 XFS 8EB
5 JFS 4PB

 

ایجاد فایل سیستم

به طور کلی برای کار کردن با یک پارتیشن ابتدا باید آن را با یک فایل سیستم مشخص Format کنیم. در گنو/ لینوکس برای Format کردن پارتیشن های مورد نظرمان از دستور mkfs به شکل زیر استفاده می شود:

mkfs  -t  fs_type  device_name #

مثال:

mkfs  -t  ext3  /dev/hda3 #

داده های پارتیشنی که Format می شود، از بین خواهد رفت. همچنین قبل از اجرای دستور mkfs باید پارتیشن مورد نظر را umount کنید تا از دسترسی دیگر فرایند ها و کاربران خارج شود و تنها سستم عامل با آن در ارتباط باشد. همچنین در نظر داشته باشید در زمان کار با سیستم عامل تمام پارتیشن ها به جز پارتیشن ریشه (/) را می توان umount کرد، زیرا اجزای اصلی سیستم عامل بر روی پارتیشن ریشه نصب شده اند. به عنوان برخی از سوئیچ های مفید این فرمان می توان به –f جهت الزام تغییر فایل سیستم پارتیشن مقصد و –c جهت پیدا کردن Bad Block ها اشاره کرد.

از جمله موارد پر کاربرد استفادۀ فرمان mkfs قالب بندی یک فلاپی دیسک است که بدین شکل صورت می گیرد:

umount  /dev/fd0 #

fdformat  /dev/fd0 #

mkfs  -t  msdos  /dev/fd0 #

mount   /dev/fd0  /media/floppy#

 

این مثال نحوه Format کردن یک دیسکت را نشان می دهد. ابتدا فلاپی درایو را umount کرده و سپس توسط فرمان fdformat آن را Format می کنیم. در انتها فایل سیستم آن را توسط فرمان mkfs و از نوع msdos تعریف کرده و در نهایت دیسکت را روی آن mount می کنیم. فرمان mkfs را می توان به صورت تلفیقی با اسامی سایر فایل سیستم ها به صورت زیر نیز به کار برد:

mkfs .reiserfs  /dev/had1 #                  معادل     mkfs   -t  reiserfs  /dev/hda1 #

mkfs .ext2  /dev/had1 #                  معادل      mkfs  -t  ext2  /dev/hda1 #

نکته 1 : فایل سیستم reiserfs به دلیل اینکه فایل ها را به همان اندازه خودشان فراخوانی می کند در cache server هایی مانند squid استفاده می شود که بهترین کارایی را برای این سیستم ها به همراه دارد.

 

نکته 2 : تخصیص فضا در reiserfs به صورت dynamic allocation است. در dynamic allocation این قابلیت وجود داردکه برای هر فایل بر حسب نیاز یک Inode اختصاص داده می شود، اما در static allocation برای هر فایل یک فضای ثابت در نظر گرفته می شود و تعدادinode ها ثابت است.

نکته 3 : توصیه می شود از فایل سیستم EXT2 در سرویس دهنده هایی که به طور همزمان چندین برنامه را بارگذاری می کنند، استفاده شود.

 

نکته 4 : هیچ فایل سیستمی به عنوان بهترین فایل سیستم از تمام وجوه نیست. هر فایل سیستمی دارای معایب و مزایای خاص خود است.

مدیریت پارتیشن های گنو/ لینوکسی

جهت اعمال سایر تغییرات بر ساختار پارتیشن های موجود در دیسک سخت، ابزارهای متنوعی در توزیع های گنو/ لینوکسی وجود دارند که معروف ترین آنها ابزار fdisk است. توسط فرمان fdisk شما می توانید اطلاعات کاملی از وضعیت پارتیشن های کنونی سیستم کسب کرده و تغییرات مورد نظر خود را بر پارتیشن های دیسک سخت اعم از حذف پارتیشن های موجود، ساخت پارتیشن های جدید و در موارد تخصصی تر تغییر پارامترهایی چون تعداد سکتورهای موجود در هر track و تعداد سیلندرها می توان از آن استفاده کرد. این فرمان عموماً به شکل زیر مورد استفاده قرار می گیرد :

fdisk  device_name #                   مانند                     fdisk  /dev/had #

 

همچنین از سوئیچ 1- این فرمان می توان جهت مشاهده جدول پارتیشن (Partition table) دیسک های سخت سیستم نیز استفاده کرد که خروجی آن شامل پارتیشن های موجود سیستم به همراه حجم وشناسه هر یک از آنها است که در جدول زیر شناسه برخی از پارتیشن های سیستم نمایش داده شده است :

جدول 2-1

Partition ID Partition
83 Linux
82 Swap
5 Extended

 

از جمله نرم افزارهایی که با استفاده از یک واسط گرافیکی در توزیع های گنو/ لینوکسی امکان مدیریت پارتیشن ها را برای سایر کاربران فراهم می سازند می توان به Qtparted و Gparted اشاره کرد.
پارتیشن بندی لینوکس – سیستم فایل لینوکس

So, what do you think ?

بالا
نماد الکترونیک دوستاره شرکت هاستینگ ابر سرور