مجازی سازی در دیتا سنتر (بخش آخر)
مارس 14, 2017
پیاده سازی Encryptipn File System EFS و Recovery Agent در ویندوز سرور
آوریل 12, 2017

مدیریت هارد دیسک در ویندوز سرور

تقسیم بندی انواع هارد دیسک از لحاظ فیزیکی :

   – LFF یا Large Form Factor: دیسک هایی که در کامپیوترها میگذارند و اندازه بزرگ دارند.

   – SFF یا Small Form Factor: دیسک هایی که امروزه مورد استفاده قرار میگیرند و اندازه کوچکتر دارند. امروزه معمولا اکثر دیسک هایی که مثلا برای سرورها خرید میکنیم و روی سرورها قرار میگیرد از این نوع هستند. مزیتی هم که SFF به LFF دارد این است که چون کوچکتر است فضای بیشتری را در اختیار میگذارد و در نتیجه میتوان از دیسک های بیشتری روی سرورها استفاده کرد.

دیسک ها با استفاده ازController به MotherBoard یا BaseBoard متصل میشوند و در نهایت میتوانند تبادل Data کرد. از کنترلرهای دیسک که میتوانند سخت افزاری دیسک را به BaseBoard متصل بکنند میتوان به IDE (قدیمی)، SATA، از قدیم کنترلر اسکازی(SCSI) داشته ایم که ورژن جدید آن SAS شده است (امروزه سمت سرور مرسوم است) و … .

از یک نظر دیگر دیسک ها به صورت زیر تقسیم میشوند:

  • HDD یا Hard Disk Drive:

همان دیسک های مغناطیسی قدیمی که دارای موتور و سیلندر و هد Read/Write و .. است و موتور این هد را بین سیلندر ها میچرخاند و عملیات انجام میشود. در دیسک های HDD یک مفهومی وجود دارد به نام RPM یا Round Per Minutes. این RPM سرعت چرخش دیسک (موتور سیلندر را میچرخاند و عمل R/W انجام میشود) را مشخص میکند که طبیعتا با سرعت R/W رابطه مستقیم دارد. هرچقدر RPM دیسک بیشتر باشد میتواند Data بیشتری را بخواند و بنویسد. در حال حاضر RPM دیسک های HDD یا 5400 است یا 7200 است یا 10000 دور است که به آن میگویند 10k و یا 15000 دور است که 15k است.

  • SSD یا Solid State Drive:

نسل جدید سیستم های ذخیره سازی اطلاعات هستند و دیگر هیچکدام از مسائلی مثل هد و موتور و سیلندر و… در آن وجود ندارد و تمام عملیات ها روی چیپ الکترونیکی است. یک چیزی شبیه به فلش مموری است که به کامپیوتر وصل میکنیم ولی تکنولوژی آن چیپ فرق میکند. یعنی اون چیپی که روی این دیسک های SSD استفاده میکنیم با اون چیپی که در Cool Disk ها وجود دارد فرق میکند. مزیت دیسک های SSD هم سرعت بسیار بالای آن ها است (مثلا یک مدل معمولی SSD سامسونگ ثانیه ای 500 مگ میخواند و یا ثانیه 450 مگ مینویسد).

یک اصطلاحی داریم به نام IOPS (I/O Per Second) که سرعت فرآیند read و write دیسک است که مثلا میگه IOPS دیسک 500 مگ است یعنی ثانیه ای 500 مگ را میخواند. پس SSD، IOPS خیلی بالایی دارد. دوم اینکه مصرف انرژی خیلی کمی دارد چون موتور ندارد که بچرخونتش یا برق زیادی مصرف بکند. مهمترین بدی دیسک های SSD این است که یک Life Cycle برای Write کردن دارند. یعنی اینکه مثلا میگه شما تا 10000 ساعت روی این دیسک میتوانی Write انجام بدی.بعد از 10000 ساعت دیگر Write روی آن نمیتوانی انجام بدی و فقط میتوانی Read بکنی. چون سلول هایی که روی اون چیپ های الکترونیکی وجود دارند و قرار است که Data را نگه دارند تا مثلا M بار میتوانیم روی آنها Write کنیم و پاک کنیم. پس این مسئله میتواند یک نگرانی باشد مخصوصا سمت سرور. مثلا وقتی میخواهیم دیسک SSD بخریم باز این دیسک ها مثلا SSD ی Enterprise دارد یا SSD ی Home Base دارد که این زمان Life Cycle مثلا در Enterprise آن بیشتر از Home Base آن است که حالا دسته بندی ها زیاد مهم نیست مهم اینه که تفاوت بین این دسته بندی ها را متوجه بشوید.

تا اینجا این مباحث به عنوان پیش زمینه مطرح شده و از این قسمت به بعد وارد بخش اصلی درس میشویم.

در این بخش میخواهیم در مورد مدیریت دیسک ها صحبت کنیم. یعنی میخواهیم ببینیم در سیستم عامل ویندوز ما چطور میتوانیم مدیریت دیسک رو انجام دهیم.

لایه مدیریتی دیسک در ویندوز دو حالت دارد:

دیسک یا Basic مدیریت میشود یا Dynamic .

  • دیسک Basic :

دیسک basic میتواند کلا 4 تا پارتیشن داشته باشد. پس شما روی دیسک Basic بیشتر از چهارتا پارتیشن نمیتوانید داشته باشید. ما یک مفهومی داریم به نام Partition و یک مفهومی داریم به نام Drive . این دو مهفوم دوتا چیز مختلف اند.

Partition : برای مثال زمانی که شما یک هادر میخرید، هارده پیش فرض اصطلاحا RAW است. مفهوم RAW یعنی خام. برای مثال این مفهوم در عکاسی یعنی با یک فرمت RAW که اصطلاحا انگار خام هست تصویربرداری میکنیم و شما میتوانید این تصویر Save شده ی RAW را نگه دارید مثلا 100 سال دیگر و با تکنولوژی های Printing اون زمان پرینتش کنید و طبیعتا اون کیفیتی که اونموقع بیاد بیرون با این کیفیتی که الان بخواد پرینت بشه کلی فرق میکند. چون به صورت خام ذخیره اش کردیم با هر تکنولوژی بالاتری میتوانیم آن را پرینت کنیم. حالا مفهوم RAW در دیسک هم یعنی خام، یعنی هیچ پارتیشن بندی ای نشده، هیچ فرمت خاصی روی آن انجام نشده و خام هست. به بخش بندی یک دیسک که بعدا می میتوانیم با اختصاص Drive letter ها آن را ببینیم پارتیشن میگویند. حالا خود این پارتیشن خودش دو حالت دارد. یعنی ما دو مدل پارتیشن داریم. یکی Primary Partition و یکی هم Extended Partition.

Primary Partition: وقتی یک کامپیوتر را روشن میکنیم اولین مرحله ای که انجام میشود عمل POST یا Power On Self Test میباشد. در این مرحله Bios سیستم (اولین نرم افزاری که بعد از روشن شدن سیستم اجرا میشود) قطعات اصلی سخت افزاری سیستم مثل RAM و CPU و .. را detect میکند و از نظر سالم بودن آن ها را تست میکند. اگر همه چیز ok بود یه بوق میزند و به اون بوق سلامت میگن. حالا اگر هر مشکلی وجود داشته باشد بوق ممتد یا بوق های چندتایی میزند. حالا اگر همه چیز اوکی باشد وارد مرحله دوم میشود به این مرحله Loader گفته میشود. این مرحله مرحله ای است که سیستم عامل قرار است Boot بشود و بیاد بالا. شما در بایوس ست کردید که Boot Order از کجا باشد، از Hard Disk بوت شود یا DVD Drive یا Flash یا کارت شبکه . مثلا فرض کنید از روی Hard Disk بوت میشود و میاد بالا. حالا که این اتفاق میخواهد بیوفتد اولین اتفاقی که میوفتد این است که سیستم عامل باید اون Boot اولیه اش یا Start اولیه اش در پارتیشن Primary نصب شده باشد. یعنی سیستم عامل از پارتیشن primary بوت میشود. حالا اگر سیستم عامل را در پارتیشن Primary نصب نکرده باشیم در اون مرحله ی loader، بوت OS را نمیتوانیم انجام دهیم. پس پارتیشن Primary پارتیشنی است که OS از آنجا Boot میشود. حالا ما یک اصطلاحی داریم به نام MBR یا Master Boot Record . حالا MBR چیه؟ ما روی دیسک basic کامپیوترمان گفتیم میتوانیم چهارتا Partition داشته باشیم. بعد گفتیم Primary پارتیشنی است که OS از آنجا Boot میشود. فرض کنید ما کامپیوتر را روشن کردیم و POST هم تموم شده و وارد مرحله ی Loader شده. حالا Hard Disk ما چهارتا پارتیشن Primary دارد. از کجا بدوند که OS رو از کدوم پارتیشن Primary باید بخوند؟ اگر شما چهارتا پارتیشن Primary دارید باید بروید روی پارتیشنی که قرار است OS از آنجا Load شده بیاد بالا یک Label ای بچسبانید به نام Active. اصطلاحا باید پارتیشن شما Set as Active شود. مثلا میگوییم OS ما در پارتیشن Primary سوم است و آن را Active میکنیم. حالا دوباره مرحله ی Post تمام شده و وارد Loader شدیم. Bios از کجا بداند که کدوم یکی از این چهارتا پارتیشن primary ها Active است که برود OS را از آنجا بخواند و بیاورد بالا؟ اینجاست که میرود Sector (کوچکترین واحد فیزیکی ذخیره سازی اطلاعات روی دیسک است که پیش فرض حجم آن 512 byte است) صفر دیسک را میخواند. حالا اطلاعات MBR در سکتور صفر ذخیره میشود. حالا یک اصطلاح دیگری است به نام Boot Sector. آیا سکتور صفری که MBR در آن ذخیره شده است همان Boot Sector است؟ خیر. حالا در MBR چه اطلاعاتی هست؟ یک سری اطلاعات آماری دیسک در MBR نوشته شده است. مثلا این دیسک چند سکتور یا چند سیلندر دارد؟ یا این دیسکه کدوم پارتیشنش Primary یه Active است؟ پس یک سری اطلاعات آماری از این قبیل در آن ذخیره شده است. این اطلاعات آماری هم به درد Bios میخورد.

خب پس ما تا اینجا چهارتا پارتیشن primary داریم و یکی از این ها هم Active است. توی سکتور صفر که توش MBR است اطلاعاته لازمه نوشته شده. یک آدرسی که در آنجا نیز نوشته شده است آدرس Boot Sector است. آدرس Boot Sector اولین سکتور شروع کننده ی پارتیشن Primary ی Active نوشته شده است. پس در MBR این آدرسه نوشته شده است. حالا در این Sector چه Data ای نوشته شده است؟ OS Boot Files. یعنی فایل های بوت کننده ی OS اونجاست. حالا این فایل تا قبل از ویندوز ویستا فایلی بود به نام ntldr. در ویندوز ویستا یه بعد فایلی هست به نام bootmgr .

پس به طور خلاصه پارتیشن Primary پارتیشنی است که سیستم عامل از توش Boot میشود و این پارتیشن اگر Active باشد Boot Sector هم آنجاست. Boot Sector اولین سکتور شروع کننده ی آن پارتیشن Primary ی Active است که فایل های بوت اولیه OS اون تو نوشته شده است. تمامی این مفاهیم مخصوص پارتیشن primary است و Extended Partition نمیتواند Boot Sector داشته باشد. حالا چه دلیلی دارد که ما بخواهیم چهارتا پارتیشن Primary داشته باشیم؟ مثلا برای اینکه بخواهیم چندتا سیستم عامل داشته باشیم. در حال حاضر سیستم عامل ها هوشمند شدند و شما میتوانید یک پارتیشن Primary داشته باشید ولی چهارتا OS روی آن داشته باشید و وقتی سیستم را روشن میکنید یک Boot Menu باز شود و شما ویندوزی که میخواهید بوت شود را انتخاب کنید و برود فایل های اون ویندوز رو بردارد و در Boot Sector قرار دهد. این مفهوم پارتیشن بود.

Extended Partition: تا اینجا ما چهارتا پارتیشن Primary میتوانیم درست کنیم. اما ما میخواهیم دیسک سیستممان بخش بندی های بیشتری داشته باشد. یعنی اصطلاحا میخواهیم Drive داشته باشیم. یعنی مثلا یک درایو که موزیک هامون رو درآن ذخیره کنیم. یک درایو که پروژه هامون آنجا باشد و .. واین ها همه درایو هستند و پارتیشن نیستند. برای این کار به سراغ Extended ها میرویم. Extended Partition پارتیشنی است که به طور مستقیم قابل استفاده نیست.

1
همانطور که گفته شد از پارتیشن Extended به طور مستقیم قابلیت استفاده وجود ندارد. تا زمانی که Extended Partition را تبدیل به logical Drive نکنیم امکان استفاده از آن وجود ندارد. ما از یک دیسک Basic میتوانیم هر چهارتا را Primary کنیم یا سه تا را Primary و یکی را Extended. میتوانیم دوتا Primary و دوتا Extended داشته باشیم یا میتوانیم یک Primary داشته باشیم و ویندوز مان را روی آن بریزیم و یکی هم Extended کنیم و به هر چندتا Drive که میخواهیم تقسیم کنیم.دیسک Basic چهارتا پارتیشن Primary میتواند داشته باشد. اینجا اگر حجم دیسک 1TB باشد و پارتیشن آخر هم Primary باشد و 50GB فضا داشته باشد یعنی 700GB از فضای دیسک بدون استفاده خواهد ماند چون چهارتا پارتیشن را پر کردیم. حالا ما میتوانیم کل فضای باقی مانده یعنی پارتیشن چهارم را Extended Partition کنیم. این Extended Partition این امکان را میدهد که آنرا به چندین Logical Drive تقسیم بندی بکنیم. در حقیقت Logical Drive یعنی بخش بندی یک پارتیشن Extended. حالا این دیسک ما با توجه به شکل بالا چهارتا پارتیشن دارد. چند Drive دارد؟

به تعداد مستطیل های نارنجی رنگ یعنی n تا. در حقیقت این یک غلط است که میگوییم Drive C یا Drive D . اینها درایو نیستند.

ورژن جدیدی از MBR به وجود آمده به نام GPT. در حقیقت GPT همان MBR است منتها ورژن جدید MBR است و نکته ای که وجود دارد این است که وقتی شما دارید برای دیسکتان Logical Management را انجام میدهید میتوانید بگویید به جای اینکه Sector 0 ، توش Data ی MBR ای نوشته بشود Data ی GPT ای نوشته شود. اگر دیسک شما شد GPT، دیسک Basic محدودیت چهار پارتیشنی اش برداشته میشود. نکته بعدی این است دیسک MBR میتواند تا 2TB فضا را پارتیشن بندی کند. برای مثال ما یک دیسک داریم که چهار ترابایت است. اگر MBR باشد 4 تا پارتیشن میتوانیم داشته باشیم، اما نمیتوانیم یک پارتیشن 4TB ای در آن درست کنیم. یعنی شما از اون 4TB فضایی که دارید میتوانید 2TB آن را استفاده کنید و بیشتر از دو ترابایت قابل استفاده نیست. پس به سراغ GPT میرویم. توجه هم بکنید وقتی فضای دیسک کمتر از 2TB است هیچ دلیلی ندارد که GPT باشد گرچه اگر هم باشد هیچ فرقی نمیکند. زیرا Drive مشکل تعداد Partition را حل میکند. تنها دلیل استفاده از دیسک GPT بالا بودن حجم از 2TB است.

نسخه ی جدید Bios یا Basic Input Output System ، UEFI است. حالا اگر میخواهید دیسکی داشته باشید که بیشتر از 2TB است و OS میخواهد از آن Boot شود و بالا بیاید به جای Bios باید GPT داشته باشید. حالا ویندوز که میخواهید نصب کنید آن سی دی ویندوز باید ساپورت Bios داشته باشد یا ساپورت UEFI. اگر ساپورت Bios را داشته باشد و سیستم شما UEFI داشته باشد آن ویندوز را نمیتوانید نصب بکنید. برعکس آن اگر سی دی ویندوز UEFI باشد و شما بخواهید آن را روی Bios نصب کنید به شما Error میدهد که باید بروید و پارتیشنتان را GPT کنید.

در سیستم عامل ویندوز یک Snap in داریم به نام Disk Management که میتوانیم یک دیسک را از اینجا مدیریت کنیم. ابتدا MMC را Run کنید و این Snap in را اضافه کنید.

2 3

این شکل نشان میدهد که این سیستم سه تا پارتیشن دارد و هر سه تا هم با توجه به رنگ آبی آن Priamry هستند. اگر به پارتیشن System Reserved دقت کنید مشاهده میکنید که Active است. در صورتی که پارتیشن C ، Primary است ولی Active نیست. تا ویندوز XP درایو C شما همان پارتیشن Primary و Active تان بوده. از ویندوز ویستا به بعد یک پارتیشنی درست شده که 100MB است و از ویندوز 8 به بعد شده 350MB. این پارتیشن ها هم به این دلیل از هم جدا شده اند که اون پارتیشنی که Boot Sector در آن است این 350MB است. یعنی Boot Sector الان روی Drive C ما نیست. حالا چرا در این 350MB است؟ از ویندوز ویستا به بعد قابلیت BitLocker به سیستم عامل ویندوز اضافه شده است. که BitLocker یک قابلیت امنیتی است که میتواند دیسک شما را یا پارتیشن شما را رمزنگاری کند. اگر دیسک شما به سرقت رفت، اون تیکه اش که با BitLocker رمز نگاری شده است قابل خواندن نیست. یعنی میتواند آن را پاک کند اما به هیچ عنوان قابل رمزنگاری نیست. حالا تصور کنید که فایل های Boot کننده ی ویندوز در درایو C باشد و شما درایو C را با BitLocker رمز کنید. وقتی سیستمان را روشن کنید وقتی POST تمام شد میخواهد به دیسک برود و Boot Sector را بخواند و ویندوز را Boot کند. اما درایو C رمز شده است! در نتیجه بایوس به اون قسمت دسترسی ندارد. بنابراین Boot دیگر انجام نمیشود. برای اینکه این مشکل پیش نیاید اومدن یه پارتیشن جدید درست کردند (ابتدا 100MB و با نسل جدید ویندوز 350MB) و گفتن اون فایل های اول کار که قرار است سیستم را بوت کند و بالا بیاورد در این قسمت قرار گیرد. پس این پارتیشن حتما باید primary باشد و Active هم باشد. که اگر درایو C رمز شده بود Boot اولیه سیستم دچار مشکل نشود. الان اگر شما بخواهید از BitLocker استفاده بکنید باید روی مادربورد کامپیوترتان سخت افزاری یک Chip ای داشته باشید به نام TPM یا Trusted Platform Module. وقتی شما دیسکتان را رمز میکنید کلید های رمز نگاری در TPM ذخیره میشود. وقتی Mini Boot اولیه از طریق همان پارتیشن Primary انجام میشود میره به TPM دسترسی پیدا میکند و درایو C را unlock میکند و بقیه فایل های ویندوز جهت بوت را از آنجا میخواند و درایو C بوت میشود و بالا می آید. در صورتی که اگر همه ی این ها در درایو C بود کسی نبود برود و mini boot اولیه را انجام بدهد و درایو رو Unlock کند و سیستم را جلو ببرد به خاطر همین این قسمت را جدا کردند. اما از ویندوز XP به قبل چون BitLocker نداشتیم پارتیشن جدا هم نداشتیم.

اگر برای همین پارتیشن System Reserved یک Drive Letter اختصاص دهیم میتوانیم آن را در File Explorer مشاهده کنیم و فایل ها آن را ببینیم (پیش فرض فایل های آن Hidden شده هستند).Bootmgr هم فایلی است که با Assembly نوشته شده است.Assembly زبان سطح صفر است و همیشه برای ارتباط با سخت افزار باید باشد. مثل برنامه نویسی اندروید.

4

یک اصطلاحی (تکنولوژی) وجود دارد به نام RAID )Redundant Array Independent Disks).

Redundant یعنی از هرچیز مهمی بیشتر از یه دونه داشته باشیم که اگر یکیش قطع شد سرویس دهی قطع نشود. RAID در ترجمه فارسی یعنی آرایه ای از یک سری دیسک ها که از همدیگر مستقل هستند. تصور کنید که شما روی یک سیستمتان یک HDD دارید و روی این دیسک سیستم عامل و SQL و  خیلی نرم افزار های مهم وجود دارد و اگر این دیسک ازدست برود همه چیز ازدست رفته. شاید شما بک آپ داشته باشید اما واقعیت این است که Down Time توجیهی ندارد. یعنی اگر یک دیسک ازدست برود و شما بیاید دوباره یک دیسک راه اندازی کنید و ویندوز نصب کنید و بک آپ ها رو برگردونید خیلی سریع انجام دهید میشود یک روز قطعی. حالا برای اینکه این اتفاقات نیوفتد میان از Raid استفاده میکنند. برای مثال با raid کاری کنیم که همزمان هرچیزی که روی یک دیسک ثبت میشود روی یک دیسک دیگر هم ثبت شود. و اگر یک دیسک قطع شود هیچکس متوجه قطعی نمیشود. اگر هم که دیسک SSD باشد که هیچی خود ادمین باید سر یک تایم هایی حواسش باشد و دیسک را عوض کند چون دیسک های SSD یک Life Cycle ای دارند.

ما یک اصطلاحی داریم به نام SPF یا Single Point of Failure. یعنی در این بستر یک نقطه ای وجود دارد که اگر آن نقطه fail شود سیستم ما fail میشود. مثلا SPF ما میتواند این باشد که ما یک پاور داریم و اگر آن پاور fail شود سیستم میخوابد. یا میتواند SPF ما داشتن یک دیسک باشد یا مثلا اینکه UPS نداریم و هر اختلالی در برق به وجود بیاید سرورها میروند. یا مثلا این است که در server farm ممان یک کولر داریم.

خب ما با RAID میتوانیم SPF در سطح دیسک را برداریم. همچنین RAID کمک میکند که سرعت Read و Write ما در دیسک هم بالا برود.

حالا RAID خودش دو حالت دارد. ما یک RAID نرم افزاری داریم: Software Raid و Hardware Raid که یعنی یک raid نرم افزاری و یک raid سخت افزاری.

Raid سخت افزاری به این شکل است که شما میروید یک Raid Controller خریداری میکنید (یک board الکترونیکی که روی یکی از اسلات های مادربورد سرور شما مینشیند) و بعد دیسک هاتون رو (HDD) وصل میکنید به این Raid Controller. این Raid Controller بایوس دارد، RAM دارد، CPU دارد و… که Process ای که این Raid Controller میخواهد انجام دهد کاملا Independent از CPU و RAM سیستم باشد. مثلا شما وارد بایوس آن میشوید و میگید که این دیسک ها را باهم اینجوری raid کن و این یکی دیسک ها هم با هم اینجوری raid کن. این میشود RAID سخت افزاری.

اما RAID نرم افزاری اینجوریه که ما Raid Controller نداریم. چندتا دیسک گذاشتیم روی یک سیستم. حالا نرم افزاری میایم میگیم اینارو raid کن (یعنی تو OS). یعنی Handling این کارو سیستم عاملت داره انجام میده و سیستم عامل هم داره از resource ئه CPU و RAM سیستم استفاده میکند. قطعا RIAD سخت افزاری بهتر است.

شما برای اینکه در ویندوز RAID نرم افزاری داشته باشید باید دیسک هاتون رو Dynamic کنید. بزرگترین تفاوت دیسک Dynamic با دیسک Basic در همین است. یعنی شما در دیسک Dynamic میتوانید از قابلیت Raid نرم افزاری استفاده کنید ولی در دیسک Basic نمیتوانید. یعنی شما دیسک تان را Dynamic میکنید چون raid سخت افزاری نداشتید و حالا میخواهید از این قابلیت استفاده کنید. حالا این RAID ای که تا اینجا در مورد آن صحبت کردیم تکنولوژی های مختلف دارد که هرکدامشان یک شماره ی تکنولوژی دارند. مثل RAID 0 ، RAID 1 ،  RAID 5 ، RAID 6، RAID 10 ، RAID 50. هرکدام از این RAID ها عملکرد و کارکردهای متفاوتی دارند. توجه داشته باشید که تکنولوژی های RAID های 2 و 3 و 4 وجود دارد اما ارزش افزوده ی خاصی به ما نمیدهند.

  • RAID 0 یا Striped (راه راه):

شما برای راه اندازی raid 0 حداقل به دوتا هارد دیسک و در ویندوز حداکثر 32  هارد دیسک نیاز دارید (اصلا با یکی که raid ای راه اندازی نمیشود و Array ای به وجود نمیاد).

5

دو دیسک داریم که فضاهاشون 500GB است. وقتی میایم اینارو RAID 0 میکنیم به این شکل عمل میشود که فضاهای این دوتا دیسک باهم جمع میشود و در یک Volume را تشکیل میدهد. یک Volume ای که فضای آن از این دو (تا حداکثر 32) دیسک تشکیل شده است. بعد Data ای که میخواهیم روی این فضای 1TB ای ذخیره کنیم تقسیم میشود به Block های 64kb ای و 64kb اش روی یک دیسک نوشته میشود و 64kb بعدی روی دیسک دیگر نوشته میشود. یه جورایی Data را خورد میکنیم و یک قسمت اش را این طرف مینویسیم و یک قسمتش را در طرف دیگر. حالا اگر 10 تا دیسک داشته باشیم Data ای که داریم مینویسیم هر 64kb اش روی یک دیسک نوشته میشود. فرض کنید شما یک دیسک دارید با یک هد و یک کنترلر و یک فایل 10MB ای قرار است روی آن نوشته شود، حالا اون فایل 10MB را به 10 قسمت تقسیم کنیم و همزمان 10 تا دیسک آن را بنویسند. بدیهی است که سرعت بالا میرود. یعنی 10 تا دیسک داشته باشیم سرعتمان حدودا 10 برابر یک دیسک معمولی است. ضمنا نکته ی مهم آن است که در RAID 0 برای Volume فضاهای مساوی از دیسک ها برداشته میشود. یعنی اگر دیسک اول 500GB باشد و دیسک دوم 1TB ، از دیسک دوم فقط 500 تای آن را برمیدارد و raid 0 میکند. یعنی اگر از یکی 500 تا برداشتید از دیگری ماکزیمم 500 تا بیشتر نمیتوانید بردارید. و اون نیم ترابایت خالی از دیسک دوم میتواند یک پارتیشن معمولی باشد اما اون پارتیشن یک بخشی از RAID نیست. بزرگترین مزیت RAID 0 این است که سرعت Read و Write مان را بالا میبرد. ضمنا RAID 0 هیچ Redundancy ای به ما نمیدهد. ما از RAID 0 زمانی استفاده میکنیم که میخواهیم اطلاعاتمان از بین برود! زیرا هرکدام از دیسک ها که بسوزد کل اطلاعاتش از بین رفته است. RAID 0 اصطلاحا I/O Per Second یا IOPS شما را بالا میبرد.

  • RAID 1 یا Mirror:

برای راه اندازی RAID ئه Mirror به حداقل 2 Disks و حداکثر 2Disks احتیاج دارید و بیشتر از 2 دیسک را پشتیبانی نمیکند. در اینجا نیز فضاهای مساوی از دیسک ها برداشته میشود. در مثال زیر 1TB فضا گذاشتیم اما فقط از 500GB آن استفاده میکنیم. کار Mirror به این شکل است که Data که میخواهد ذخیره شود همش روی یک دیسک ذخیره میشود و پشت صحنه ی آن هر دیتا ایی که روی آن دیسک ریختیم سکتور به سکتور روی دیسک دیگر کپی میشود.

6

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

  • RAID 5 یا Striped Set with Parity:

Parity بیت Error Checking است. برای راه اندازی RAID 5 شما به حداقل 3 Disks و حداکثر 32 Disks نیاز دارید.

7

فضای volume ای که در اختیار شما قرار میدهد N-1 است. N تعداد دیسک ها است. وقتی در این مثال سه دیسک داریم یعنی دو سوم فضا را میتوانیم استفاده کنیم. روش کارش هم به این صورت است که دیتا وقتی میخواهد ذخیره شود مثل RAID 0 دیتا را به Block ها 64kb ای ذخیره میکند و هر 64kb را روی یک دیسک مینویسد. تا اینجا میشود Striped. منتها یک تکنیکی دارد که اگر یکی از دیسکها Down شد اطلاعات از دست نرود. برای مثال از از XOR بیت های دو دیسک اطلاعات دیسک سوم را میفهمد. در این Raid نیز فضاهای مساوی از دیسک ها برداشته میشود.

8

حالا در حالت اول مثلا اگر Data ی Disk1 را ازدست بدهیم از Data ی دیسک دوم و Parity ی دیسک سوم اطلاعاتش را به دست می آوریم. پس در این حالت سرعتمان بالا میرود چون روشش مثل RAID 0 است چون دیتا را به بلاک های 64kb ای تقسیم میکند و هر 64kb را روی یک دیسک مینویسد با این تفاوت که مانند شکل بالا کار میکند و افزونگی هم به ما میدهد. در حقیقت RAID 5، SPF را برمیدارد و سرعت خوب هم میدهد. یه جورایی ترکیب RAID 0 و RAID 1 است.  

پیشنهاد میشود سیستم عامل ها را روی RAID 1 نصب کنیم و مثلا اگر روی سیستم داریم SQL نصب میکنیم SQL رو روی دیسکی نصب کنیم که RAID 5 شده است.

در سیستم عامل ویندوز به لحاظ نرم افزاری فقط سه RAID 0,1,5 پشتیبانی میشوند. 

یک اصطلاحی وجود دارد به نام Hot Spair (تو فوتبال یک بازیکن داره خودشو گرم میکنه و آماده است بیاد تو زمین. این گرم کردنه میشه Hot Spair). یعنی منتظره که سریع جایگزین شود. قضیه اش هم اینجوریه که برای RAID 5 مثلا سه تا دیسک گذاشتیم اما میایم یک دیسک چهارمی را میگذاریم و آن را Hot Spair میکنیم. حالا اینجوری میشه که یکی از دیسک ها میسوزد. RAID 5 است و مشکلی پیش نمی آید. اما نگرانیم که دیسک دوم بسوزد و اطلاعات از بین برود. در اینجا Hot Spair سریع جایگزین دیسکی میشود که سوخته است و حالا دوباره سه تا دیسک داریم.

  • RAID 6:

Fault Tolerance یا تحمل خطای RAID 5 در برابر یک دیسک است. یعنی fail شدن یک دیسک را میتواند تحمل کند و بپذیرد و به واسطه ی Parity دیتای شما lost نشه. ولی اگر دیسک دوم هم بسوزد اطلاعاتمان ازبین رفته است. حالا RAID 6 عین RAID 5 عمل میکند با این تفاوت که Fault Tolerance آن در برابر دوتا دیسک است (Dual Parity است). برای راه اندازی RAID 6 شما حداقل به 7 Disks احتیاج دارید. معمولا از RAID 6 استفاده نمیشود به علت اینکه Process آن بالاست.

  • RAID 10:

یک RAID ترکیبی است. RAID 10 ترکیب RAID 1 + RAID 0 است.

برای راه اندازی RAID 10 به حداقل 4 Disks احتیاج دارید.

برای مثال تصور کنید ما چهارتا دیسک داریم. اینا دو به دو با هم RAID 0 میشوند. و بعد این دوتا باهم RAID 1 میشوند. RAID 10 هم مانند RAID 1 نصف فضا را به ما میدهد.

9

در مثال بالا که 4TB فضا گذاشتیم فقط 2TB آن را به ما میدهد. بدی raid 10 این است که گرونه. 4 تا دیسک میخری ولی از دوتاش میتونی استفاده کنی.

  • Hot spair را برای همه ی raid ها داریم.

بنابراین در دیسک Dynamic چیزی به اسم درایو و پارتیشن نداریم و این اصطلاحات برای دیسک داینامیک است. دیسک شما اگر Basic بود Drive دارد و Partition دارد و اگر دیسک شما Dynamic بود Volume دارد.

دیسک Dynamic، Volume هایی که پشتیبانی میکند:

  1. RAID 0 یا Striped
  2. RAID 1 یا Mirror
  3. RAID 5 یا Striped with parity
  4. Simple
  5. Spanned

این در حالی است که در دیسک Basic پارتیشن ها و درایو زیر پشتیبانی میشوند:

  1. Primary Partition
  2. Extended Partition
  3. Logical Drive

شما میتوانید دیسک ها را به هم convert کنید. یعنی اگر دیسک شما Basic است آنرا Dynamic کنید ولی توجه کنید که دیسک Dynamic را نمیتوانید به دیسک Basic ، Convert کنید. اگر میخواهید Dynamic را به Basic تبدیل کنید، کاری که میکنید این است که Volume های آن را پاک کنید و دوباره از اول Basic درست کنید. حالا اگر ما یک دیسک Basic داریم و پارتیشن و درایو داریم و آن را به دیسک داینامیک تبدیل کنیم، پارتیشن هایش همه میشوند Simple Volume.

تا اینجای کار برای راه اندازی تمامی RAID ها لازمه اش این هست که فضاهای مساوی از دیسک ها را بدهید. اما نکته ای که به وجود می آید این است که ما آمدیم فضاهای مساوی دیسک ها را برداشتیم و با هم RAID درست کردیم و در نتیجه از هر دیسک یک سری فضاهای باقی مانده ی خورد به وجود آمده است. مثلا از دیسک اول یک 5 گیگ جا داریم، از دیسک دوم 7 گیگ جا داریم و … و اینا همگی خورده همینجوری به درد ما نمیخورد. Spanned Volume، RAID نیست ولی میتواند بیاد فضاهای غیر مساوی دیسک ها رو باهم جمع کند و همه رو یک کاسه کند و فضای بزرگتری را به ما بدهد. مثلا همه ی فضاهای خورده را جمع کند و یک فضای 10 گیگی به ما بدهد.

  • برای رفتن به Disk Management:

10

  • شما میتوانید دیسک مجازی درست کنید:

12

در Location بهش میگیم که در کجا برایمان یک فایل درست کنه با حجمی که ما بهش میگوییم. توجه کنید که حتما Dynamically expanding رو انتخاب کنید، زیرا اگر Fixed size رو بزنیم، اگر فضا را برایش 1TB مشخص کنیم درجا میره یک فایل 1TB ای میسازد. اما وقتی Dynamically expanding باشد این شکل نیست و اولش مثلا یک فایل میسازد با 5MB ولی یک دیسک 1TB ای را نشان میدهد و کم کم فضا تخصیص میدهد تا سقف مثلا 1TB .  ضمنا VHDX ورژن جدید VHD است. بعد از اینکه ساخته شد آنرا Initialize میکنیم و Partition Style آن را که یا MBR است یا GPT مشخص میکنیم را انتخاب میکنیم و دیسک Online میشود.

13

برای مثال وقتی روی سه تا دیسک RAID 5 راه اندازی میکنیم به صورت زیر سه تایی که مشخص شده با هم دیگر یک Volume را تشکیل میدهند:

برای مثال به طور کامل تر خواهیم داشت:

فقط توجه داشته باشید که رنگ های بنفش که Spanned Volume هستند همانطور که قبلا گفته شد جزء RAID ها محسوب نمیشود.

نویسنده : مهندس محمد آجورلو

برگرفته از وب سایت تخصصی ادمین پرو   https://www.adminpro.ir

لینک مستقیم مقاله     https://goo.gl/c5jYgs