لینوکس دارای سیستم و ابزار های قدرتمندی برای مدیریت دیوایس های سخت افزاری از قبیل درایو های ذخیره سازی (Storage drives) دارد. در این مقاله که تلاش شده است در سطح بالا به چگونگی ارائه این دیوایس ها توسط لینوکس و اینکه چگونه یک ذخیره ساز خام به یک فضای قابل استفاده در سرور تبدیل می شود، بپردازیم.
پیشنهاد میکنم اگر دوست دارید اطلاعات پایه خود را درباره لینوکس بیشتر کنید، این 2 مقاله را مطالعه کنید:
Block Storage چیست؟
Block Storage یک نام دیگر برای آنچه که هسته لینوکس آن را یک Block device می نامد، می باشد. یک Block device بخشی از سخت افزار می باشد که می تواند برای ذخیره سازی اطلاعات استفاده شود، همانند هارد های قدیمی، HDD، SSD، فلش مموری و … . به این دلیل به آن یک block device گفته می شود که هسته لینوکس با این سخت افزار از طریق بلوک سایز های ثابت و مقدار فضای ثابت ارتباط بر قرار می کند.
پس به شکل رایج، Block storage همان چیزی است که شما به عنوان یک دیسک ذخیره ساز برروی کامپیوتر خود می بینید. زمانی که برروی کامپیوتر تنظیم شد، اساسا به عنوان یک افزونه در فایل سیستم فعلی نقش بازی میکند که شما می توانید اطلاعات را بروی آن ذخیره و یا از آن به صورت پیوسته بخوانید.
Disk Partitions چیست؟
دیسک پارتیشن ها یک راهی برای تقسیم یک ذخیره ساز به واحد های کوچکتر و قابل استفاده می باشند. یک پارتیشن بخشی از یک درایو ذخیره ساز است که می تواند همانند یک درایو مستقل برخورد شود.
پارتیشن ها به شما اجازه بخش بندی کردن فضای موجود را برای استفاده هر پارتیشن جهت اهداف مختلف می دهند. این به کاربر انعطاف پذیری زیادی می دهد که این امر به آنها اجازه بخش بندی برای نصب و ارتقای اسان چندین سیستم عامل، فضای swap و یا یک فایل سیستم خاص می دهد.
با اینکه دیسک ها می توانند فرمت شوند و بدون پارتیشن بندی مورد استفاده قرار گیرند، برخی سیستم عامل ها انتظار پیداکردن یک جدول پارتیشن را دارند، حتی اگر تنها یک پارتیشن برای نوشتن بروی دیسک وجود داشته باشد. به صورت کلی پیشنهاد می شود که درایو های جدید برای انعطاف پذیری بهتر در آینده، پارتیشن بندی شوند.
MBR در مقابل GPT
زمانی که یک دیسک را پارتیشن بندی می کنید، خیلی مهم است که بدانید چه نوعی از پارتیشن بندی استفاده خواهد شد. عموما دو نوع انتخاب برای این منظور وجود دارد: MBR (Master Boot Record) و GTP ( GUID Partition Table)
MBR سیستم قدیمی و رایح پارتیشن بندی سیستم می باشد که بیش از 30 سال مورد استفاده قرار گرفته است. به علت قدیمی بودن آن محدودیت های جدی دارد به عنوان مثال برای دیسک هایی بیشتر از 2 ترابایت نمی توان مورد استفاده قرار گیرد، البته امکان استفاده از آن وجود دارد اما تنها 2 ترابایت فضا در دسترس شما می باشد، و همچنین تنها می تواند 4 عدد پارتیشن اصلی داشته باشد، به همین دلیل پارتیشن چهارم به عنوان یک پارتیشن extended تنظیم و شناخته می شود که در این پارتیشن می توانید پارتیشن های logical ایجاد نمایید، این کار باعث می شود اخرین پارتیشن را به پارتیشن های مجزا تقسیم کنید و در نهایت پارتیشن بیشتری داشته باشید، که البته این کار مشکلات خاص خود را دارد.
GPT یک طرح پارتیشن بندی مدرن می باشد که در تلاش است مشکلاتی که از پارتیشن بندی MBR به ارث برده است را برطرف نماید. سیستم هایی که با پارتیشن بندی به صورت GPT در حال اجرا هستند قادرند که تعداد زیادی پارتیشن برای هر دیسک ایجاد نمایند، خوشبختانه در GPT محدودیت فضای دیسک بر خلاف MBR دیگر وجود ندارد، همچنین جدول پارتیشن ها در مکان های مختلفی (سکتور های مختلف) ذخیره میشود تا در مقابل خرابی آن سکتور محفوظ باشد. همچنین GPT میتواند قسمتی از پارتیشن را به صورت “Protective MBR” برای ابزار هایی که وابسته به MBR هستند، در نظر بگیرد.
با این حال GPT انتخاب بهتری است مادامی که سیستم عامل شما و ابزار های آن به MBR وابسته نباشند.
فرمت و فایل سیستم ها
در حالی که لینوکس می تواند یک دیسک خام را شناسایی کند اما قابل استفاده نخواهد بود. برای استفاده از ان لازم است که فرمت شود. فرمت کردن به فرایند نوشتن یک فایل سیستم بروی دیسک یا پارتیشن گفتن می شود که آنرا برای موارد که با فایل در ارتباط است اماده می کند.
فایل سیستم یک سیستمی می باشد که به داده ها ساختار می دهد و بررسی و کنترل می کند که اطلاعات چگونه بروی دیسک نوشته و خوانده شود. بدون فایل سیستم عملا شما قادر به هیچ کاری که مرتبط با فایل باشد نخواهید بود.
در حال حاضر نوع و تعداد مختلفی فایل سیستم موجود است که در جنبه ها مختلف با یکدیگر متفاوت می باشند که میتوان به پشتیبانی سیستم عامل از آن فایل سیستم اشاره کرد. به صورت ساده تمامی آنها یک تصویر مشابه از دیسک را به کاربر ارائه می دهند اما نحوه عملکرد آنها و قابلیت هایی که برای پشتیبانی و حفاظت از اطلاعات و داده ارائه می دهند متفاوت است.
برخی از فایل سیستم های معروف در لینوکس
Ext4 فایل سیستم
محبوبترین فایل سیستم پیشفرض ext4 می باشد که چهارمین نسخه از سری فایل سیستم extended می باشد که به ext معروف هستند. فایل سیستم Ext4 یک فایل سیستم با قابلیت پشتیبانی از ژورنال می باشد که با سیستم های قدیمی سازگار می باشد و بسیار پایدار است، این فایل سیستم گزینه بسیاری خوبی برای نیاز های عادی می باشد. ابزار های متعددی برای مدیریت این فایل سیستم ارائه شده است.
XFS فایل سیستم
تمرکز این فایل سیستم بروی بهبود سرعت و امکان استفاده از فایل هایی با حجم بالا می باشد. یکی از مزایای آن فرمت سریع و بازده بالا در هنگام کار بروی فایل های حجیم بخصوص در زمان استفاده از دیسک های بزرگ می باشد، همچنین دارای قابلیت snapshot گیری live است. XFS تنها از قابلیت ژورنال متادیتا (Journaling Metadata) پشتیبانی می کند که بر خلاف ژورنال متادیتا و دیتا می باشد که این امر باعث افزایش سرعت می شود اما ممکن است باعث خرابی اطلاعات در هنگام خاموشی ناگهانی سیستم شود.
Btrfs فایل سیستم
این فایل سیستم از جدیدترین ها می باشد که یکی از قابلیت های کلیدی آن Copy-On-Write است. این فایل سیستم اجازه یکپارچه سازی برخی قابلیت ها volume management را داخل فایل سیستم می دهد که شامل snapshot،cloning و volumes می باشد، همانند LVM.
در حال حاضر این فایل سیستم برخی مشکلات در هنگام مواجه با تمام دیسک دارد، بحث های زیادی پیرامون آمادگی این فایل سیستم برای حضور در سیستم هایی با لود کاری زیاد وجود دارد، و بسیاری از sysadmin ها منتظر تکمیل شدن آن می باشند.
ZFS فایل سیستم
یک فایل سیستم مشابه Btrfs می باشد که از قابلیت copy on write و volume manager پشتیبانی می کند که دارای امکانات قدرتمندی می باشد، این فایل سیستم دارای قابلیت بسیار خوبی برای پکپارچه سازی داده ها دارد که می تواند فایل های بزرگی را مدیریت کند و شامل امکانات مرسوم از قبیل snapshot و clone گیری دارد،همچنین میتواند volume ها را در ارایه هایی شبیه به RAID و یا خود RAID جهت افزونگی و سرعت بالا مدیریت کند. یکی از مباحث بحث بر انگیز آن در دنیای لینوکس که از قدیم پابرجا است، مساله لایسنس آن می باشد.
برگرفته از [digitalocean.com]