محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

DirectPath I/O چیست و چگونه پیاده سازی می شود؟

قابلیت VMware Direct Path IO در VMware چیست؟ همانطور که می دانید ، زمانیکه شما یک Hypervisor یا نرم افزار مجازی ساز را بر روی سخت افزارهای خود نصب می کنید ، در صورتیکه در این نرم افزار یک Virtual Machine ایجاد کنید ، تمامی فرآیند هایی که قرار است Virtual Machine با سخت افزار سیستم انجام دهد بایستی از میان یک واسط به نام Hypervisor عبور کند و Virtual Machine به صورت مستقیم نمی تواند با سخت افزار شما ارتباط برقرار کند. برخی اوقات پیش می آید که شما نیاز دارید که Virtual Machine شما بصورت اختصاصی و بدون واسط از سخت افزارهای نصب شده بر روی دستگاه استفاده کند و در این میان کاری به کار Hypervisor نداشته باشد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اینکار معمولا برای استفاده از کارت شبکه فیزیکی یا Physical NIC هایی که بر روی پورتهای PCI سیستم نصب می شوندانجام می شود. برای مثال یک Virtual Machine آنقدر در شبکه ترافیک زیادی دارد که استفاده از Virtual NIC و ساختار Virtual switch باعث کاهش کارایی آن می شود و همچنین بار پردازشی زیادی بر روی خود Hypervisor نیز ایجاد می کند. برای رفع چنین مشکلی شرکت VMware قابلیتی به نام VMware DirectPath I//O را برای اولین بار در محصول VSPhere 4.0 خود ارائه داد که توسط آن شما می توانستید بصورت مستقیم یک سخت افزار را بدون واسط به کارت شبکه یا کارت PCI ای که بر روی سخت افزار نصب شده بود متصل کنید.

معرفی قابلیت Directpath I/O در VMWare

استفاده از قابلیت VMware DirectPath I//O باعث بالا رفتن کیفیت سرویس دهی می شود زیرا پردازش مربوط به ترافیک این کارت شبکه که توسط VMware DirectPath I//O مستقیما به Virtual Machine وصل شده است در دست کارت شبکه فیزیکی خواهد بود و در این میان Hypervisor ما کمتر درگیر عملیات پردازشی می شود. شرکت VMware پیشنهاد می کند که از قابلیت VMware DirectPath I//O فقط در زمانی استفاده کنید که Virtual Machine های بسیار مهمی دارید که می خواهند از حداکثر قدرت و کارایی شبکه استفاده کنند.

اما به هر حال به قول خودمان نمی شود که هم خر را خواست و هم خرما ( خواستم خودمونی نشه ولی جمله عالی شد D: ) ، استفاده کردن از قابلیت VMware DirectPath I//O باعث می شود شما نتوانید از برخی از امکاناتی که VSPhere ارائه می دهد استفاده کنید که برخی از آنها VMotion ، VSPhere HA ، VSPhere FT ، Snapshot ، DRS ، Suspend و Resume و در نهایت امکان اضافه و حذف کردن تجهیزات سخت افزاری به VM بصورت Hot Add می باشد که همگی آنها با فعال کردن قابلیت VMware DirectPath I//O بر روی این VM غیرفعال می شوند.

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

چگونه قابلیت VMware DirectPath I/O را برای Virtual Machine ها فعال کنیم ؟

برای استفاده از قابلیت VMware DirectPath I//O در Virtual Machine شما باید دارای یک سری پیشنیازها باشید که از آن جمله می توانیم به ، استفاده از Hardware Version هفت یا بالاتر ، قابلیت (Intel Virtualization Technology for Directed I//O (VT-d برای CPU های شرکت Intel ، قابلیت ( AMD I//O Virtualization Technology (IOMMU برای CPU های شرکت AMD و در نهایت کارت های PCI فیزیکی که قابلیت Passthrought داشته باشند ، اشاره کنیم. در ضمن دقت کنید که در خصوص کارت شبکه یا NIC حتما باید خود کارت شبکه نیز قابلیت DirectPath را پشتیبانی کند در غیر اینصورت ممکن است DirectPath شما کار نکند ، به هر حال بعد از اینکه پیشنیازها را دیدید مراحل زیر را دنبال کنید :

1-وارد کنسول مدیریت VSPhere Client خود شوید و Host فیزیکی مورد نظر خود را پیدا کنید و به تب Configuration بروید. سپس بر روی Advanced Settings کلیک کنید و بر روی Configure passthrough مشابه شکل زیر کلیک کنید.

کاربرد قابلیت Directpath I/O در VMware

 

2-سپس مشابه شکل پایین تمامی دستگاه های فیزیکی که بر روی پورت یا اسلات PCI شما بصورت فیزیکی متصل شده اند به شما نمایش داده می شود ، بر روی دستگاه PCI مورد نظر خود کلیک کنید و آن را انتخاب کنید و بر روی OK کلیک کنید.

کاربرد قابلیت Directpath I/O در VMware

 

3-به یک نکته توجه کنید که در صورتیکه دستگاهی که شما انتخاب کرده اید توسط ESXi و سایر ماشین های مجازی در حال حاضر در حال استفاده باشد به شما پیام هشداری نمایش داده می شود ، این هشدار به شما کمک می کند که سخت افزار درستی را انتخاب کنید و یا با انتخاب این سخت افزار متوجه شوید که چه چیزی بعدها به مشکل خواهد خورد ، به تصویر زیر دقت کنید ، همانطور که مشاهده می کنید به شما اعلام شده است که کارت شبکه ای که انتخاب کرده اید در حال حاضر توسط vSwitch0 در حال استفاده می باشد و طبیعتا vSwitch0 دچار مشکل خواهد شد.

کاربرد قابلیت Directpath I/O در VMware

 

4-بعد از اینکه بر روی دکمه Yes کلیک کردید همانطور که در تصویر زیر مشاهده می کنید در تب Configuration کارت شبکه مورد نظر شما نمایش داده می شود ، اما توجه کنید که قبل از اینکه هر تغییری اعمال شود بایستی سیستم Host شما یکبار Reboot شود تا تغییرات مد نظر شما به درستی اعمال شود. در تصویر زیر هشدار داده شده نمایانگر همین مسئله است.

کاربرد قابلیت Directpath I/O در VMware

 

5-بعد از Reboot شدن سرور Host همانطور که در تصویر پایین مشاهده می کنید کارت شبکه شما آماهده است که بصورت مستقیم به سرور VM مورد نظر شما متصل شود و از طرفی دیگر علامت زرد رنگ فلشی که در تصویر بالا وجود داشت را مشاهده نمی کنید.

کاربرد قابلیت Directpath I/O در VMware

 

6-هنوز کار ما تمام نشده است و حالا نوبت به معرفی کارت شبکه فیزیکی به VM مورد نظر می رسد برای انجام اینکار بایستی بر روی VM مورد نظر خود راست کلیک کرده و گزینه Edit را بزنید و مشابه تصویر زیر بر روی دکمه Add و PCI Device کلیک کنید شما قاعدتا می توانید NIC ای که در مرحله قبلی معرفی کردید را در این قسمت مشاهده کنید و آن را به این VM متصل کنید ، توجه کنید که حتما در چنین حالتی VM شما باید خاموش شده باشد .

کاربرد قابلیت Directpath I/O در VMware

 

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


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات