VMware ESXi، یک هایپروایزر و پلتفرم مجازی سازی است که در واقع بهعنوان پایهای برای ایجاد مدیریت محیطهای مجازی شده عمل میکند. برای مدیریت و دسترسی به منابع سخت افزاری فیزیکی یا مجازی در یک ماشین مجازی، یک کنترلکننده نیاز است که به عنوان vmware controller شناخته میشود. در این مطلب قصد داریم که در ابتدا با وظایف و مسئولیتهای کنترولر آشنا شده و در ادامه با انواع آن آشنا شویم. با این مطلب از بلاگ کندو همراه باشید.
معیارهای انتخاب و ویژگیهای Controller
وقتی که با استفاده از VMware Host Client یا VMware vSphere Client، یا در VMware Workstation، یک ماشین مجازی بر روی هاست ESXi ایجاد میکنید، مناسبترین کنترلر ذخیره سازی به طور خودکار انتخاب میشود تا بهترین عملکرد را برای سیستم عامل مهمان انتخاب شده ارائه دهد. اینکه بر چه اساسی کنترلر انتخاب شود، به عوامل مختلفی بستگی دارد و البته ممکن است برخی کنترلرهای جدیدتر، توسط سیستم عاملهای مهمان قدیمی، پشتیبانی نشوند. اما در کل انتخاب کنترلر، بسته به نوع ماشین مجازی و سخت افزار آن و همچنین نوع دستگاه ذخیره سازی بستگی دارد.
زمان اتصال چندین کنترلر ذخیره سازی به دستگاههای ذخیره سازی، عملکرد ورودی/خروجی را میتوان در مقایسه با اتصال همه درایوهای دیسک به یک کنترل کننده ذخیره سازی افزایش داد. به همین دلیل، اگر بیش از یک کنترلر SCSI برای یک ماشین مجازی استفاده شود، روش توصیه شده توزیع دیسکهای مجازی در سراسر کنترل کنندههای SCSI جهت ایجاد عملکردی بهتر است.
اولین کنترل کننده ذخیره سازی در ماشین مجازی، به صورت پیشفرض با شماره 0 است. در صورت اضافه کردن کنترلر دوم، شماره آن ۲ خواهد بود و به همین ترتیب ادامه خواهد یافت. در مقابل، شماره گذاری دستگاههای ذخیره سازی نیز به همین شکل انجام میشود. بهعنوان مثال، اگر ماشین مجازی شامل یک کنترلکننده ذخیرهسازی و یک دیسک مجازی متصل به این کنترلکننده باشد، دیسک به صورت (0:0) شمارهگذاری خواهد شد.

وظایف Controller در ماشین مجازی
Storage Controllerها در ماشین مجازی جهت دسترسی و مدیریت دیسکهای مجازی، CD/DVD-ROM و همچنین دستگاههای SCSI استفاده میشوند. هنگام ایجاد یک ماشین مجازی، به صورت پیشفرض یک کنترلر اضافه میشود که البته بسته به سیستم عامل هاست دارد. براساس مسئولیتها و وظیفههایی یک کنترلر دارد، میتوان آن را به عنوان زیر تقسیمبندی کرد؛
- کنترلرهای ذخیره سازی (Storage Controller)
وظیفه این نوع کنترلرها، مدیریت فضاهای ذخیره سازی، مانند هارد دیسک، درایوهای حالت جامد(SSD) و یا دیسکهای مجازی است. کارهایی مانند خواندن و نوشتن دادهها در دستگاههای ذخیره سازی، مدیریت پیکربندیهای ذخیره سازی و همچنین دسترسی به ویژگیهای ذخیره سازی، به عهده کنترلر هستند.
- کنترلرهای شبکه (Network Controller)
این کنترلرها، مدیریت اتصال ماشینهای مجازی به شبکههای خارجی را به عهده دارد و امکان ارتباط آنها را ایجاد میکند. فعالیتهایی مانند packet forwarding، مسیریابی و ترجمه آدرس شبکه و…، از جمله فعالیتهای مهم کنترلرها هستند.
انواع دیگری نیز از کنترلرها وجود دارند که تقسیمبندیهای متفاوتی دارند. اما در ادامه قصد داریم شما را با انواع کنترلرهای ماشین مجازی آشنا کنیم.
انواع کنترلر در VMWare
باید توجه داشت که هر ماشین مجازی که در دوره vmware معرفی میشود، 4 کنترلر را پشتیبانی میکند که هر کنترلر میتواند ۱۵ VM را مدیریت و کنترل کند. همانطور که میدانید، ماشینهای مجازی نسخههای مختلفی دارند. اگر از نسخه ۱۳ به بعد آن استفاده میکنید میتوانید از کنترلرهای مختلفی مانند NVMe ، SATA ، SCSI و IDE، استفاده کنید. نوع کنترلر، همانطور که گفته شد، بستگی به سیستم عامل هاست دارد.

· Bus Logic Parallel
نوعی آداپتور SCSI است که محیطهای مجازی VMware استفاده میشود و از اولین نوع کنترلرهای ذخیره سازی شده بود که نسخههای قدیمیتر ویندوز، بهطور پیشفرض درایور لازم برای این نوع کنترلر را داشتند. به همین دلیل، از این نوع کنترلرها برای نصب نسخههای قدیمی ویندوز مانند ۲۰۰۰ روی ماشین مجازی استفاده میکنند.. در واقع این کنترلر یک نسخه مجازی از یک کنترلر SCSI فیزیکی است و مانند آن عمل می کند یا به بیان دیگر، آن را شبیهسازی میکند. این آداپتور به هاست اجازه میدهد تا با دیسکهای مجازی و سایر دستگاههای SCSI متصل به آداپتور، تعامل داشته باشد..
عملکرد اصلی این کنترلر، ایجاد اتصال بین ماشینهای مجازی و دیسکهای مجازی یا دستگاههای ذخیره سازی است که انتقال داده بین هاست در حال اجرا در ماشین مجازی و زیرساخت ذخیره سازی مجازی را تسهیل میکند. کنترلر BusLogic Parallel، با طیف گستردهای از سیستم عاملها از جمله نسخههای مختلف ویندوز و لینوکس و… سازگار است.
مدیران می توانند ماشین های مجازی را برای استفاده از آداپتور BusLogic Parallel SCSI از طریق VMware vSphere Client یا vCenter Server پیکربندی کنند. اگرچه ممکن است بالاترین عملکرد را در مقایسه با انواع جدیدتر کنترلرهای SCSI ارائه ندهد، اما همچنان گزینهای مناسب برای استفاده در سیستم عاملهای قدیمی و برنامههای قدیمی است. اگر به عملکرد بالاتری نیاز بود، باید از کنترلر ذخیره سازی LSI Logic Parallel استفاده کرد.
· LSI Logic Parallel
این کنترلر که پیش از این به نام LSI Logic نیز شناخته میشد، نوع دیگری از کنترلرهای SCSI است که در واقع این کنترلر نیز شبیهسازی شده است. LSI Logic SAS نسخهی تکامل یافتهی درایور موازی برای پشتیبانی از استاندارد Future-Facing است و محبوبیت آن وقتی بیشتر شد که مایکروسافت در ویندوز 2008 و نسخه های جدیدتر از آن استفاده کرد.
queue depth 32 توسط این کنترلرها پشتیبانی میشود که این کنترلر را به یک انتخاب رایج و پیشفرض برای بسیاری از سیستم عاملهای مهمان تبدیل کرده است. هنگام ایجاد یک ماشین مجازی ویندوز سرور 2003، این نوع کنترلر به صورت پیشفرض انتخاب میشود، زیرا این کنترلکننده ذخیره سازی از دستورات SCSI2 پشتیبانی میکند.
· LSI Logic SAS
نسل بعدی کنترلر، بعد از LSI Logic Parallel است. این کنترلر با دستورات SCSI3 سازگار است و هنگام ایجاد یک ماشین مجازی در ویندوز سرور 2008، این کنترلر به صورت پیشفرض انتخاب میشود. استفاده مایکروسافت از این کنترولر، آن را بسیار محبوبتر کرد و باعث شد به یکی از رایجترین کنترلرها تبدیل شود.
· VMware Paravirtual SCSI
برخلاف دیگر کنترلرهای پیشین، این نوع کنترلر virtualization-aware است و توان عملیاتی بسیار بالایی دارد. هیچ معادل فیزیکی واقعی برای این کنترلر وجود ندارد به همین دلیل طیف گستردهای از سیستم عاملها، از آن پشتیبانی نمیکنند. درایور این کنترلر باید به صورت دستی نصب شود. توجه داشته باشید که این کنترلر برای عملکرد بالای IOPS (عملیات ورودی/خروجی در ثانیه) بهکار گرفته میشود.
· AHCI SATA
یکی از کنترلرهای ذخیره سازی جدید است که با استفاده از آن میتوان مقدار زیادی فضای ذخیره سازی از جمله دیسکهای مجازی با ظرفیت بالا را به ماشین مجازی متصل کرد. کنترلرهای SATA را میتوان برای دیسکهای بوت، جهت راهاندازی سیستم عامل مهمان نیز استفاده کرد. این کنترلر از VMware vSphere 5.5 با Virtual Hardware 10 در دسترس است. باید توجه داشت که حداکثر چهار کنترلر SATA در هر VM پشتیبانی میشوند و همچنین حداکثر تعداد دستگاههای ذخیره سازی قابل اتصال به یک کنترلر SATA ، 30 عدد (0-29) است.
· NVMe
این کنترلر، برای کار با SSDها طراحی شده است و نام کامل آن NVM Express است. این کنترلر برای دیسکهای غیرمغناطیسی، بهترین عملکرد و ارتباطات multi-queue را فراهم میکند. این کنترلر در vSphere پشتیبانی میشود و حداکثر تعداد queues 65535 و بیشترین queue depth آن نیز 64000 است. نکته قابل توجه در استفاده از این کنترلر این است که سیستم عامل مهمان حتما باید از این پروتکل پشتیبانی کند. حداکثر کنترلر NVMe قابل پشتیبانی، چهار کنترلر است و ۱۵ دیسک (0-14) را نیز میتوان به آن متصل کرد.

جمعبندی
در این مطلب با انواع Controller در VMWare ESXi آشنا شدیم و در کنار آن برخی از مهمترین وظایف کنترلرها را نیز مرور کردیم. کنترلرهای ذخیره سازی برای اتصال دستگاههای ذخیره سازی مانند دیسکهای مجازی به ماشینهای مجازی به کار میروند. در این مطلب به بررسی انواع کنترلرها، مانند SATA، IDE، NVMe، و SCSI پرداختیم. در این بین، رایجترین کنترلرها به ترتیب، Paravirtual، LSI Logic SAS، LSI Logic Parallel و BusLogic Parallel هستند.