Virtual SCSI Layer
وظیفه اصلی لایه SCSI مجازی مدیریت دستورات SCSI و برقراری ارتباط میان لایه VMM، لایه VMFS و زیر لایه SCSI در زیر خودش می باشد. همه دستورات SCSI صادر شده از طرف ماشین های مجازی باید از این لایه عبور نماید. همچنین ناتمام ماندن عملیات ورودی/ خروجی و تنظیم و اجرای مجدد عملیات در این لایه مورد بررسی قرار می گیرد. از این محل، دستورات ورودی/ خروجی و دستورات SCSI از طرف ماشین های مجازی به لایه های پایینتر ابلاغ می شود. این ابلاغ دستور توسط VMFS و یا RDM صورت می گیرد که اولی برای دسترسی از طریق فایل سیستم VMware و دومی برای دسترسی مستقیم ماشین مجازی به دیسک است. همچنین درخواست عملیات دیسک از طریق RDM به دو صورت pass-through و non-pass-through انجام می شود که در حالت اول دستورات SCSI بدون ایجاد trap به دیسک ابلاغ می شود.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
VMware File System
VMFS به طور اختصاصی برای VMware ESX ساخته شده و برای ذخیره و بازیابی فایل های بزرگ بهینه شده است. در این فایل سیستم، با بهره گرفتن از بلاک های بزرگ، کارایی دیسک در ماشین های مجازی نزدیک به کارایی آنها در کار با دیسک فیزیکی نگه داشته می شود.
VMFS برای سیستم های SAN بسیار مناسب است زیرا از یک منطق داخلی برای اسکن مجدد استفاده می کند که باعث می شود تغییر در LUN ها را به طور خودکار کشف نماید. مزیت کلیدی دیگر این فایل سیستم این است که پیچیدگی سیستم ذخیره سازی فیزیکی را با پنهان نگه داشتن خطاهای SAN از ماشین های مجازی کاملا پوشیده می سازد.
منحصر به فرد ترین خصوصیت VMFS این است که به عنوان یک فایل سیستم کلاستر، منابع ذخیره سازی مشترک را به نحوی مدیریت می کند که به طور همزمان به چندین سرور فیزیکی اجازه نوشتن و خواندن از یک دیسک واحد را می دهد. VMFS از یک قفل توزیع شده بر روی دیسک استفاه می کند تا مطمئن شود که یک ماشین مجازی همزمان توسط بیش از یک سرور فیزیکی اجرا نمی شود. امکان این قفل توسط SCSI-2 فراهم می شود. در صورتی که سرور فیزیکی از کار بیفتد، قفل دیسک برای فایل های همه ماشین های مجازی آن سرور آزاد شده و این ماشین ها می توانند بر روی سرورهای دیگری اجرا شوند. همچنین VMFS امکاناتی برای مقابله با اختلال و بازیابی اطلاعات در سطح کلان ارائه می دهد که از آن جمله می توان به ژورنالینگ توزیع شده، مسیر ورودی/ خروجی مجازی مقاوم در برابر اختلال[۱۹۵] و تصویر برداری از وضعیت ماشین اشاره کرد. این ابزار می تواند در بررسی سریع و بازیابی اطلاعات روی ماشین های مجازی، سرورهای فیزیکی و زیر سیستم های ذخیره سازی کمک نماید.
SCSI Mid-Layer
این لایه در واقع مهمترین لایه در معماری ذخیره سازی VMkernel است و وظایفی از جمله نگاشت HBAهای فیزیکی به میزبانان ESX، مدیریت صف درخواست ها و رسیدگی به خطاهای SCSI را انجام می دهد. همچنین این لایه دارای یک مکانیزم منطقی داخلی برای اسکن کردن LUNهای نگاشته شده به یک ESX و یافتن تغییرات آنها است. مدیریت کانال[۱۹۶] از جمله انتخاب اتوماتیک کانال، حذف کانال و رفع ایراد یک بخش از دیسک[۱۹۷] در این لایه انجام می شود.
لایه SCSI اطلاعات را از HBAها، سوئیچ ها و پردازنده های ذخیره سازی جمع آوری کرده و به کمک آنها کانال لازم را بین میزبان ESX و ولوم فیزیکی بر روی آرایه ذخیره سازی ایجاد می کند. در طول اسکن، ESX به دنبال اطلاعاتی مانند شناسه NAA[198] و شماره سریال می گردد. ESX تمام کانال های موجود را بررسی کرده و در نهایت بدون توجه به تعداد آنها، یکی را انتخاب می کند. همه کانال های انتخاب نشده به عنوان کانال جانشین در نظر گرفته می شوند.
ارائه یک مدل فرمال از نحوه کار سیستم ذخیره سازی در ESX
در این بخش با تکیه بر جزئیات فنی گفته شده در بخش قبل به ارائه یک مدل فرمال با زبان شبکه های پتری می پردازیم.
شکل ۴٫۲۲ مدل طراحی شده را نشان می دهد.
شکل ۴٫۲۴٫ مدل پتری ارائه شده از نحوه کار سیستم ذخیره سازی در ESX
در زیر شرح گزارهای سیستم آورده شده است.
T0: طرح درخواست دسترسی به دیسک از طرف ماشین مجازی
T1: فراخوانی راه انداز مجازی SCSI توسط لایه VMM
T2: فراخوانی ماژول RDM برای دسترسی مستقیم ماشین مجازی به یک LUN
T3: فراخوانی VMF برای دستیابی به دیسک
T4: بروز خطا در ورودی/ خروجی راه انداز SCSI مجازی و فراخوانی تابع reset
T5: فرایند نگاشت فایل توسط RDM برای ارائه سروی خواندن و یا نوشتن
T6: بررسی و رفع ایراد LUN در صورت بروز خطا
T7: قفل نمودن فایل مورد نظر بر روی دیسک توسط VMFS
T8: فرایند باز کردن فایل توسط VMFS
T9: بررسی خودکار برای یافتن تغییرات ایجاد شده در LUN
T10: مدیریت کانال ارتباطی بین VMkernel و ولوم فیزیکی دیسک
T11: فراخوانی راه انداز دیسک فیزیکی
T12: برگرداندن جواب مثبت و ارائه داده ها در صورت خواندن از فایل
T13: ارسال درخواست توسط راه انداز فیزیکی به دیسک
T14: قرار دادن درخواست در صف
T15: کشف خطا در فرایند خواندن و نوشتن از دیسک فیزیکی در مرحله برقراری ارتباط با دیسک فیزیکی
T16: کشف خطا در فرایند خواندن و نوشتن از دیسک فیزیکی در مرحله دریافت پاسخ از دیسک فیزیکی
T17: ارائه بازخورد به ماشین مجازی در مورد اجرای درست دستور
T18: کشف خطا در فرایند خواندن و نوشتن از دیسک فیزیکی در مرحله ارسال درخواست به دیسک فیزیکی
T19: رسیدگی به خطای دیسک فیزیکی
T20: بازخورد به ماشین مجازی در مورد بروز خطا
در بررسی این مدل باید توجه داشت که هر بخشی از کار توسط یکی از لایه ها انجام می شود. با توجه به اینکه درخواست عملیات دیسک از سوی ماشین مجازی صادر شده است، انتظار می رود که این وظایف از لایه های بالا شروع شده و به ترتیب به پایین ختم شود. همچنین انجام بعضی از فرایندها، آنطور که در این مدل در گزارهای مشخص خلاصه شده است، لزوما بر عهده یک لایه مشخص نمی باشد بلکه ممکن است توسط دولایه به صورت مشترک انجام گیرد.
نکته مهم دیگر که باید در بررسی فرایند عملیات دیسک در محیط مجازی مد نظر داشت، ماهیت خطاپذیر بودن سیستم است. با توجه به اینکه بخشی از عملیات در خارج از ESX و در همکاری با شبکه و سیستم های ذخیره سازی انجام می شود، احتمال بروز اختلال و استثنا به خصوص در خارج از سرور فیزیکی زیاد است. بنابراین باید در بررسی روند تغییر کنترل در سیستم به بروز خطاها توجه داشت و مکانیزم ها و نقاطی را برای رسیدگی به آنها در نظر گرفت. در غیر این صورت سیستم ناپایدار و غیر قابل اطمینان خواهد بود.
همانطور که در مدل دیده می شود، پس از طرح درخواست ماشین مجازی برای دستیابی به دیسک، بلافاصله راه انداز مجازی SCSI توسط لایه VMM فراخوانی می شود. با رجوع به توضیحات مدل لایه ای سیستم ذخیره سازی خواهیم دید که این راه انداز تنها نقطه دسترسی ماشین مجازی به دیسک است که می تواند از دو تکنولوژی BusLogic یا LSI استفاده کند. در مرحله ای که درخواست ماشین مجازی توسط راه انداز مجازی دریافت شده است سیستم در وضعیت P2 قرار دارد. اگر در این مرحله به هر دلیل راه انداز نتواند درخواست را به لایه های پایینتر منتقل کند، گزار T4 رخ داده و سیستم پس از گزارش خطا و reset کردن راه انداز به وضعیت اول باز می گردد. لازم به ذکر است که این بررسی خطا و ارائه بازخورد به ماشین مجازی در لایه virtual SCSI انجام شده و به لایه VMM منتقل می شود. این حالت می تواند در صورت عدم انتخاب درست راه انداز یا موجود نبودن دیسک SCSI به صورت فیزیکی و غیره رخ دهد.
در صورت تحلیل درست درخواست در لایه VMM، این درخواست به صورت یک فراخوانی به لایه پایینتر یعنی virtual SCSI ارائه می شود. در این لایه که از مهمترین بخش های سیستم است، باید در ابتدا تشخیص داده شود که دیسک مورد فراخوانی به چه شکلی در اختیار ماشین مجازی قرار خواهد گرفت. طبق توضیحات قسمت قبل، با توجه به تنظیمات مدیر سیستم، ماشین مجازی می تواند به دیسک مجازی خود از طریق فایل سیستم VMware (VMFS) دسترسی داشته باشد و یا می تواند به طور مستقیم از طریق سرویس RDM به بخش نگاشت یافته ای از دیسک فیزیکی دسترسی داشته باشد. در حالت اول سیستم با اجرای گزار T3 در وضعیت P4 قرار می گیرد به این معنی که درخواستی به VMFS برای بازیابی فایل مورد نظر بر روی LUN مشخص ارسال می شود. در واقع این درخواست به لایه پایینتر یعنی لایه VMFS ارسال خواهد شد. در حالت دوم، سیستم با اجرای گزار T2 در وضعیت P3 قرار می گیرد. به عبارت دیگر سرویس RDM فراخوانی می گردد.
در صورتی که ماشین مجازی به طور مستقیم به بخشی از دیسک دسترسی داشته باشد و درخواست به ماژول RDM ابلاغ شود، این ماژول با نگاشت مستقیم، فایل را باز کرده و آماده اجرای عملیات خواندن/ نوشتن می شود. به عبارت دیگر با اجرای گزار T5 مستقیما سیستم را در وضعیت P6 قرار می دهد. در غیر اینصورت درخواست به لایه VMFS ابلاغ شده و وی می تواند دو عمل مجزا را انجام دهد. در حالت طبیعی این لایه باید قفل دیسک را برای فایل مورد نظر فعال کند تا ماشین مجازی یا ESX دیگری نتواند به طور همزمان با آن کار کند. ولی در صورتی که اختلال و مشکلی در کار با فایل یا آن بخش از دیسک که فایل بر روی آن قرار دارد پیش آمده باشد، VMFS باید ابتدا به آن رسیدگی کرده و آن را رفع نماید. در حالت اول گزار T7 و در حالت دوم گزار T6 اجرا می شود تا سیستم را به وضعیت P5 ببرد. در این حالت VMFS آماده است که فایل را برای عملیات خواندن/ نوشتن باز نماید.
از مرحله P6 کنترل در اختیار لایه پایینتر یعنی SCSI mid-layer قرار می گیرد که بخش بسیار مهمی از عملیات را به عهده خواهد داشت. با توجه به یک مکانیزم منطقی در داخل این لایه، LUNهای دیسک به طور مداوم اسکن می شوند تا تغییرات آنها ثبت شود. بنابراین با اجرای گزار T9 عملیات اسکن انجام شده و سیستم در وضعیت P8 قرار می گیرد. در صورت موفقیت آمیز بودن عملیات اسکن، با اجرای گزار T12 وضعیت کنترل سیستم دوباره در حالت P6 قرار گرفته و برای اجرای دیگر توابع این لایه آماده می شود.
با توجه به اینکه ایجاد و نگهداری از کانال ارتباطی بین ESX و راه انداز دیسک فیزیکی از وظایف این لایه است، در صورت لزوم، عملیات ایجاد کانال، بررسی کانال های موجود و یا جایگزین کردن یک کانال جانشین به جای کانال فعال (در صورت از بین رفتن کانال فعال) توسط لایه در این مرحله انجام می شود. بنابراین با اجرای گزار T10 سیستم پس از مدیریت کانال ها باز هم به وضعیت P8 منتقل می شود که در صورت موفقیت آمیز بودن عملیات، با اجرای T12، لایه آماده اجرای فرایند جدید خواهد بود.
اگر در هر یک از دو مرحله گفته شده یعنی اسکن کردن LUN مورد نظر و یا مدیریت کانال ارتباطی خطایی رخ دهد، سیستم از وضعیت P8 با اجرای T15 به P10 خواهد رفت. به این معنی که با کشف خطا آماده بررسی و رسیدگی به آن می شود.