پارتیشن‌ بندی دیسک

پارتیشن‌ بندی دیسک‌  Basic

تا قبل از ویندوز ۲۰۰۰ سیستم‌عامل‌های مایکروسافت فقط از دیسک‌های بیسیک پشتیبانی می‌کردند.
همین‌طور که از نام این نوع دیسک مشخص است این نوع دیسک ازPartition Table ( پارتیشن‌ بندی )
معمولی که در DOS و بیشتر سیستم‌عامل‌های مایکروسافت پشتیبانی می‌شود استفاده می‌کند.

دیسک‌های بیسیک می‌توانند دارای دو نوع  Volume (حجم و فضای قابل‌استفاده در دیسک‌ها،
معمولاً در دیسک‌های بیسیک بجای نام volume از partition (پارتیشن) استفاده می‌کنند) باشند: Primary و Extended

Partition Table (پارتیشن‌ بندی) یک دیسک بیسیک همراه با MBR در سکتور اول هارددیسک قرارگرفته است.
این دو قسمت مهم در یک بخش فیزیکی از هارددیسک قرار دارند، بنابراین اگر این قسمت از دیسک دچار مشکل شود و یا آسیب ببیند،
دیسک غیرقابل استفاده می‌شود،
تمامی اطلاعات از بین می‌رود و شما مجبور هستید دیسک را فرمت کرده و اطلاعات را از نسخه‌ی پشتیبان آن به دیسک انتقال دهید.

 

در سیستم پارتیشن‌ بندی هارد دیسک سه نوع پارتیشن پایه وجود دارند : Primary و Extended و Logical

پارتیشن‌ بندی های Extended می‌توانند به Logical قسمت شوند.

برای پارتیشن بندی هر هارددیسکی می‌تواند شامل چهار پارتیشن Primary باشد ،
یا می‌توان یک هارددیسک را به سه پارتیشن Primary و یک پارتیشن Extended تقسیم کرد.

تنها یکی از ۴ پارتیشن Primary می‌تواند به‌عنوان extended partition، در نظر گرفته شود.
به این معنی که کامپیوتر می‌تواند یا ۴ پارتیشن Primary داشته باشد و یا ۳ عدد primary partitions به‌اضافه یک عدد extended partition داشته باشد.

extended partition به‌تنهایی نمی‌تواند داده‌ها را در خود ذخیره کند.
در عوض extended partition، مانند یک container، یا محفظه ظرف است که مجموعه‌ای از پارتیشن‌ها را که در اصطلاح به آن logical partitions می‌گوییم را شامل می‌شود.

زمانی که شما در یک هارددیسک چند پارتیشن Primary داشته باشید تنها می‌توانید در هر زمان یکی از آن‌ها را Active نمایید و سایر پارتیشن‌ها مخفی می‌باشند .

این پارتیشن‌ بندی ها به‌صورت فیزیکی درون هارددیسک وجود دارند اما در سیستم‌عامل دیده نمی‌شوند.
دلیل این امر MBR  یا همان اولین سکتور فیزیکی هارددیسک می‌باشد.

 

 

برای سیستم یک میز پارتیشن یا partition table تعریف می‌شود که پارتیشن فعال
یا همان Active Partition را به سیستم‌عامل نشان می‌دهد و باعث می‌شود که قسمت پردازش بوت سیستم به آن Active Partition پرش نماید.

چند پارتیشن Primary : در یک هارددیسک همان‌طور که میدانید یکی از روش‌های ایجاد یک سیستم multi-boot می‌باشد.

یکی از ویژگی‌های درایوهای Primary که در دستگاه‌های multi-boot توصیه می‌شود از آن‌ها استفاده شود
این است که این درایوها کلاً از دسترس یکدیگر خارج می‌باشند و دقیقه به همین دلیل پیشنهاد می‌شود هر ویندوزی در یک درایو Primary نصب گردد
تا به‌این‌ترتیب اگر یکی از ویندوزها دچار آسیب و یا ویروس شد ویندوز دیگر بدون کوچک‌ترین مشکلی به کار خود ادامه دهد و ویروس و … نمی‌توانند هیچ دسترسی به آن داشته باشند.

در دو قسمت می‌توانم مهم‌ترین تفاوت یک درایو Primary و یک درایو Logical را به این شکل بیان کنم :

قابلیت bootable یا Active شدن درایو Primary که این قابلیت در درایو Logical وجود ندارد ( دقیقاً به دلیل MBR یا همان Master Boot Record که ذکر شد)

پارتیشن‌بندی دیسک Dynamic

دیسک‌های داینامیک بیشتر در سرورها و سیستم‌هایی بکار می‌روند که از چند هارددیسک استفاده می‌کنند،
مانند File Server   ها (سرورهایی مخصوص نگهداری فایل و اطلاعات کاربران) .
یکی از مهم‌ترین مزیت دیسک‌های داینامیک نسبت به دیسک‌های بیسیک همیشه در دسترس بودن و fault tolerance بودن آن‌ها
(قابلیتی در یک کامپیوتر و یا شبکه که بعد از آسیب دیدن بخشی از سیستم، کامپیوتر و یا شبکه به کار خود ادامه دهند) است.
دیسک‌های دینامیک یک بانک اطلاعاتی ۱ مگابایتی حاوی اطلاعاتی در رابطه با تمامی دیسک‌های موجود در سیستم،
در آخر هر دیسک نگهداری می‌کنند، با ذخیره کردن این اطلاعات در چند جای مختلف،
کمتر زمانی دیسک‌های داینامیک دچار مشکل می‌شوند و درصورتی‌که آسیب ببینند شانس  بیشتری برای رفع اشکال وجود دارد.
دیگر مزیت دیسک‌های داینامیک نسبت به بیسیک عدم نیاز به ریست کردن سیستم بعد از تغییرات و تنظیم دیسک است.

در ویندوز سرور ۲۰۰۳  استفاده از دیسک‌های داینامیک برای ساختن volume ها راحت‌تر و سریع‌تر شده.
قبلاً برای ساختن یک mirror set  نیاز بود که سرور ریست بشود و مسلماً تعداد ریست‌های زیاد برای سرور باعث تأخیر در انجام کارها و
یا تولید محصولات می‌شود اما در سیستم‌عامل‌های جدید مایکروسافت تغییرات در دیسک‌های داینامیک نیاز به ریست کردن سیستم ندارد .
دیسک داینامیک یک پارتیشن می‌سازد و به شما اجازه‌ی ساخت volume ها را در داخل این پارتیشن می‌دهد.
تصور کنید که دیسک داینامیک شبیه یک Extended Partition (پارتیشن‌ بندی تمدید شده)
است و شما می‌توانید آن را به قسمت‌های کوچک‌تری تقسیم کنید.

تعریف Raid و معرفی انواع آن

Raid مخفف کلمه‌ی Redundant Array of Inexpensive Disks به معنی آرایه کم‌هزینه از دیسک‌های ارزان‌قیمت می‌باشد
و به مجموعه‌ای از هاردها که با الگوریتم‌ها و روش‌های خاصی یک دیتا را ذخیره می‌کنند گفته می‌شود.
هدف از ساخت و ایجاد RAID را می‌توان به شرح زیر مطرح کرد :

  • امنیت دیتا یا همان تحمل خطا (Fault tolerance)
  • افزایش سرعت Read/Write و درنتیجه افزایش Performance

اضافه نمودن هارد درایو به کامپیوتر علاوه بر این‌که فضای ذخیره‌سازی شمارا افزایش می‌دهد،
موجب افزایش سرعت سیستم شده و در هنگام بروز مشکل در هارد درایو، به بازیابی آن کمک بسیاری می‌نماید.
درایوهایی که به‌صورت RAID پیکربندی می‌شوند، نتیجه بهتری نسبت به بقیه درایوها ارائه می‌دهند.
با قرار دادن چند هارد دیسک در کنار هم و پیاده‌سازی RAID  همه هارد دیسک‌های ما به یک هارد دیسک واحد تبدیل می‌شوند.
در هر نوع RAID ، آمادگی در برابر خطای سیستم به‌گونه‌ای متفاوت است.

انواع روش‌های ایجادRAID

نرم‌افزاری:

درروش نرم‌افزاری از ابزارهای خود سیستم‌عامل برای ایجاد RAID استفاده می‌شود بنابراین به جهت بهره بردن از این قابلیت،  نیازمند یک سیستم‌عامل می‌باشیم.
هارد دیسک مورداستفاده در این روش همان دیسکی است که سیستم‌عامل روی آن قرار دارد.

مزایا : این روش به دلیل اینکه نیازی به سخت‌افزار مجزا ندارد ازلحاظ اقتصادی به‌صرفه‌تر است و برای محیط تست و تمرین و موارد آموزشی مناسب می‌باشد.

معایب : به دلیل اینکه در این روش خود سیستم‌عامل وظیفه اجرا و مدیریت RAID ها را بر عهده دارد، به دلیل استفاده از منابع سیستم،
باعث کندی و کاهش کارایی می‌شود که البته این کاهش کارایی تا حد زیادی به نوع RAID ای که استفاده می‌نماییم هم‌بستگی دارد.

سخت‌افزاری:

در این روش نیازمند تهیه یک قطعه سخت‌افزاری مجزا به نام RAID Controller می‌باشیم تا کار ایجاد و مدیریت RAID را برایمان انجام دهد.
البته این Controller های سخت‌افزاری معمولاً روی سرورهای سخت‌افزاری وجود دارد.

مزایا : RAID های سخت‌افزاری قابل‌اعتمادتر از RAID های نرم‌افزاری می‌باشند و به نرم‌افزار یا سیستم‌عامل وابسته نیستند.
درروش نرم‌افزاری ابتدا نیاز به نصب سیستم‌عامل و سپس راه‌اندازی RAID است ولی در سخت‌افزاری قبل از راه‌اندازی سیستم عامل می‌توان RAID ایجاد نمود.
در RAID سخت‌افزاری به دلیل اینکه خود  RAID Controllerامور مربوط به RAID و نحوه تقسیم دیتا را بر عهده دارد،
سیستم‌عامل و منابع سیستم را درگیر نمی‌کند و درنتیجه باعث کاهش کارایی سیستم نمی‌شود.

معایب: برخلاف RAID نرم‌افزاری، RAID سخت‌افزاری نیاز به سخت‌افزار خاص دارد که به همین علت، باعث افزایش هزینه می‌شود.

 

انواع RAID

RAID 0

این نوع بانام striped volume هم شناخته می‌شود. در اینجا حداقل به دو عدد دیسک نیاز داریم.
اگر تعداد دیسک‌ها را n در نظر بگیریم در این روش وقتی دیتایی به دست RAID Controller می‌رسد
آن را به n قسمت تقسیم می‌کند و هر قسمت را داخل یک دیسک ذخیره می‌کند.
بهتر است در انتخاب تعداد دیسک‌ها در RAID 0  طبق قاعده باینری عمل کنیم مثلاً ۲ , ۴ , ۸ ,۱۶ … این کار باعث افزایش کارایی خواهد شد.

مزایا: سرعت بسیار بالا (این RAID به Crazy raid معروف است)

معایب: درRAID0  اگر حتی یک دیسک از بین برود کل دیتا تحت تأثیر قرار می‌گیرد و قابل‌استفاده نمی‌باشد.

کاربرد: در Cache server ها و در محیط تست و لابراتوارهای آموزشی (جایی که به‌سرعت بالا نیاز داریم و مانایی دیتا برایمان اهمیتی ندارد)

 

RAID 1

در این نوع نیاز به دو عدد دیسک داریم و دیتا به‌صورتmirror  (درواقع هر بلوک آینه بلوک دیگر می‌باشد)
اطلاعات یکسان هم‌زمان دقیقاً روی هر دو دیسک نوشته می‌شوند.
در هنگام خواندن، بخش‌های مختلف اطلاعات از دیسک‌ها خوانده می‌شود.
اگر مشکلی برای دیسک‌های آرایه پیش بیاید، تا زمانی که فقط یکی از دیسک‌ها باقی است، خطری اطلاعات را تهدید نمی‌کند.

مزایا: امنیت بالای اطلاعات، سرعت خواندن بالا

معایب: از دست رفتن فضای زیاد در برابر امنیت

کاربرد: سیستم‌عامل، پایگاه داده با تغییرات کم و در کل اطلاعات حساسی که سرعت خواندن و امنیت بالا در آن‌ها اولویت دارد و حجم نوشتن روی دیسک کم است.

 

RAID 5

 

RAID 5 به‌عنوان Disk Striping with Parity هم معروف است. بیشترین استفاده از این نوع Raid در سرورهای سازمانی و سخت‌افزارهای NAS Storage می‌باشد.
در این نوع RAID هنگامی‌که داده‌ها بر روی دیسک‌ها نوشته می‌شوند هم‌زمان نوعی داده به نام Parity  (به منظور بازیابی اطلاعات در صورت بروز مشکل)،
به‌صورت منظم بر روی دیسک‌های دیگر نوشته می‌شود که با استفاده از این قابلیت درصورتی‌که یکی از هارد دیسک‌های ما دچار مشکل و اختلال شود،
داده‌ها از سایر دیسک‌های موجود قابل بازیابی خواهد بود.
معمولاً این کار به‌صورت خودکار با اضافه شدن هارد دیسک جدید انجام می‌شود و مهم‌ترین نکته در خصوص RAID 5 این است
که در زمان خارج کردن هارد دیسک مشکل‌دار و جایگزینی آن، روند سرویس‌دهی سرور دچار اختلال نخواهد شد.

مزایا: خواندن سریع، بهینه بودن فضای حاصل نسبت به امنیت، امنیت خوب، تصحیح خطا، افزونگی خوب (توزیع parity بین دیسک‌ها)

معایب: سرعت نوشتن پایین‌تر از RAID1، سرعت ‌ترمیم و تصحیح پایین،‌ افت شدید کار آیی در هنگام تصحیح

کاربرد: سرور‌های پایگاه داده، وب سرور‌ها و عمده استفاده‌‌های حرف‌های و تجاری

 

RAID 10

 

RAID Level 10 ترکیبی از RAID Level 1 و RAID Level 0 می‌باشد و معمولاً به شکل RAID 1+0 نمایش داده می‌شود.

در اینجا قابلیت Mirror کردن RAID 1 باقابلیت Striping در RAID 0 ترکیب‌شده‌اند و بهترین حالت کارایی یا Performance را با استفاده از این RAID تجربه خواهید نمود.
برای پیاده‌سازی این نوع RAID به حداقل ۴ عدد هارد دیسک نیاز می‌باشد، بنابراین هزینه بیشتری را برای شما دربرمی گیرد.

Raid 10 را می‌توان هم به‌صورت نرم‌افزاری و هم به‌صورت سخت‌افزاری پیاده‌سازی کرد اما در صورت پیاده‌سازی به‌صورت نرم‌افزاری
بسیاری از قابلیت‌هایی که در این نوع RAID برای بالا بردن کارایی و سرعت پیاده‌سازی شده است
از بین خواهد رفت بنابراین بهترین گزینه برای پیاده‌سازی این نوع RAID با استفاده از RAID Controller سخت‌افزاری است.

مزایا : کارایی و افزونگی بسیار عالی

معایب : بسیار گران‌قیمت

کاربرد : سرورهای پایگاه داده‌ای که دارای فرآیندهای نوشتن و خواندن زیادی هستند و سیستم‌های بسیار حساس مانند بانک‌های اطلاعاتی

معرفی پارتیشن‌ بندی MBR و ساختار آن

این اصطلاح از سرواژه‌های کلمه‌های master boot record ساخته‌شده است و ساختار قالب‌بندی داده‌ها بر روی هارد است
و زمانی که هارد فرمت می‌شود این ساختار ساخته می‌شود. این سکتور ۵۱۲بایتی شامل یک سری کدهای اجرایی بسیار کوچک است
به همین دلیل به آن برنامه MBR هم گفته می‌شود. کدهای اجرایی را master boot code می‌گویند.
همچنین دارای مشخصه‌ای به نام signature disk که وظیفه‌ی شناساندن دیسک به
سیستم‌عامل را دارد و قسمت بعد جدول پارتیشن‌ بندی ها به نام partition table است.
برای مشخص شدن انتهای سکتور MBR از یک ساختار ۲بایتی به نام signature word استفاده می‌شود که همیشه به شکل ۰x55AA است.

فعالیت‌های MBR

  • اسکن جدول پارتیشن برای یافتن پارتیشن فعال
  • یافتن سکتور شروع پارتیشن فعال
  • قراردادن یک کپی از سکتور بوت از داخل پارتیشن فعال به حافظه سیستم
  • انتقال دستورات کنترلی به کدهای اجرایی موجود در سکتور بوت

اگر به دلایلی MBR قادر به انجام یکی از فعالیت های بالا نشود و به درستی انجام ندهد سیستم یکی از خطاهای زیر را ارسال می کند:

Invalid Partition Table

Error Loading Operating System

Missing Operating System

 

معرفی پارتیشن‌ بندی GPT و ساختار آن

GPT قسمتی از پروژه میان‌افزار UEFI است این کلمه مخفف GUID Partition Table است.
پروژه UEFI همان گرافیکی است که به‌جای BIOS سیستم استفاده می‌شود و همه‌ی سخت‌افزارهای جدید از آن استفاده می‌کنند.
GPT نسبت به MBR برای پارتیشن‌بندی مکانیزم انعطاف‌پذیرتری دارد.
برای تعریف پارتیشن باید این‌طور بگوییم که یک فضای ذخیره‌سازی ادامه‌دار است
که بر روی دیسک فیزیکی یا منطقی قرارگرفته است و یک دیسک مجزا به نظر می‌رسد.
پارتیشن‌ها هم برای کاربران و هم برای firmware سیستم قابل‌مشاهده است.
دسترسی به پارتیشن‌ها قبل از بوت شدن سیستم‌عامل به‌وسیله میان‌افزار سیستم کنترل می‌شود.

دیسک‌های GPT توانایی این را دارند که ظرفیت بالایی داشته باشند.
در GPT داده‌های هر پارتیشن بر روی خود پارتیشن قرار می‌گیرد اما در MBR این داده‌ها در سکتورهای مخفی ذخیره می‌شود.
GPT اطلاعات جدول‌های پارتیشن‌ها را به‌صورت پشتیبان در پارتیشن‌های مختلف قرار می‌دهد که این کار برای کارهای پشتیبان گیری و درستی آزمایی داده‌ها مهم است.

 

هر پارتیشن در GPT یک شناسه منحصربه‌فرد دارد که GUID نامیده می‌شود و همچنین برای هر پارتیشن یک نوع محتوا تعریف شده است.
همین امر باعث می‌شود در شناسایی پارتیشن‌ها تداخلی ایجاد نشود. در ضمن در GPT هر پارتیشن نامی ۳۶ کاراکتری به‌صورت یونیکد دارد.
این یعنی هر نرم‌افزار امکان این را دارد که برای خود بر روی پارتیشن یک نام قرار دهد که فقط کاربر
بتواند آن را مشاهده کند و در اصل مطلب پارتیشن‌ها در GPT تداخلی ایجاد نکند.

تفاوت GPT و MBR

تفاوت‌های اصلی این دو عبارت است از:

  • تفاوت اول این دو در تعداد ساپورت پارتیشن‌های پرایمری است که این تعداد در MBR حداکثر ۴ و درGPT  حداکثر ۱۲۸ تاست.
  • در MBR حداکثر حجمی که ساپورت می‌کند ۲ترابایت و درGPT نوزده میلیون ترابایت است.
  • MBR توانایی پشتیبان گیری از پارتیشن‌بندی شمارا ندارد ولی در GPT پشتیبان گیری وجود دارد.
    MBR اطلاعات مربوط به پارتیشن‌بندی و بوت را در یک موقعیت ذخیره می‌کنند و
    اگر این اطلاعات بازنویسی شوند و یا آسیب ببینند دردسر بزرگی ایجاد خواهد شد.
    اما در GPT نسخه‌های زیادی از این اطلاعات روی دیسک ذخیره می‌شود به
    همین دلیل قابل‌اطمینان‌تر است و در صورت مشکل و آسیب می‌توان آن را بازیابی کرد.