PXE Boot (مخفف Pre-boot Execution Environment) بخشی حیاتی از زیرساخت مرکز داده است و میتوان آن را با استفاده از نرمافزارهای متنباز یا محصولاتی که توسط شرکتها پشتیبانی میشوند، پیادهسازی کرد. PXE این قابلیت را فراهم میکند تا سرورها یا ورک استیشن ها به صورت خودکار از طریق شبکه راه اندازی شوند. افراد فعال در حوزهٔ پیادهسازی زیرساخت سرورهای bare metal، دستگاههای تعبیهشده (embedded devices) و دستگاههای اینترنت اشیا (IoT) با درک عمیق این مبحث می توانند از مزایای PXE بهره بیشتری ببرند.
در سادهترین حالت، محیط PXE به معنای راهاندازی سیستم از طریق کارت شبکه است. برای راهاندازی دستگاه در محیط PXE، انجام دستورالعملهای مربوطه لازم می باشد. روش رایج برای انجام آن، پیکربندی DHCP Server جهت ذخیره و ارائه اطلاعات است.
اجزای PXE Boot
در خصوص معرفی PXE، نیاز است به سه ویژگی زیر پرداخته شود:
1- کارت شبکه با قابلیت PXE
به خاطر داشته باشید که تمام کارت های شبکه یکسان نیستند. بسیاری از کارتهای شبکهٔ عمومی قابلیت PXE را ندارند اما این مسئله به سرعت در حال تغییر است زیرا پیشرفتها در این زمینه باعث شده ویژگیهای بیشتری به دستگاههای ارزانتر اضافه گردند. در سرورهای دیتاسنتر، استفاده از کارت شبکه با قابلیت PXE یک استاندارد محسوب می شود.
2- DHCP
DHCP به کلاینت اجازه میدهد تا آدرس IP را دریافت کرده و به سرورهای شبکه دسترسی پیدا کند. در DHCP دو نوع عامل وجود دارد:
- DHCP server
- DHCP client
DHCP server پیکربندی شبکه و آدرس IP را به کلاینت ها ارائه میدهد. DHCP client نیز روی کامپیوترهایی که به شبکه متصل هستند اجرا شده و درخواست پیکربندی را برای DHCP server ارسال میکند.
3- TFPT Server
TFTP (مخفف Trivial File Transfer Protocol) پروتکلی ساده مبتنی بر UDP جهت ارسال و دریافت یک فایل می باشد و به راحتی در محیطهایی که دارای منابع محدود هستند قابل پیادهسازی است. TFTP از ویژگی هایی همچون directory listing (نمایش محتوای دایرکتوری)، authentication (احراز هویت) و authorization (اجازه و تعیین سطح دسترسی) برخوردار نمیباشد. بنابراین نیاز است از مسیر دقیق فایلی که قصد دانلود آن را دارید مطلع باشید.
PXE Boot چگونه کار می کند؟
در این بخش به تشریح فرآیند PXE به زبان ساده پرداخته می شود.
فرآیند PXE با اطلاع رسانی کلاینت به سرور آغاز میشود. کلاینت درخواستی را به سرور ارسال می کند و اعلام می نماید که از PXE پشتیبانی می کند.
در مرحله دوم، اگر سرور از PXE استفاده کند، لیستی از boot server ها با سیستمعاملهای موجود برای کلاینت ارسال میشود.
کلاینت، boot server مورد نیاز خود را یافته و نام فایلی که باید دانلود شود را دریافت میکند.
سپس کلاینت با استفاده از پروتکل TFTP فایل را دانلود کرده و آن را اجرا مینماید تا سیستمعامل بارگذاری شود.
در نهایت، اگر سرور به PXE تجهیز نشده باشد، کد PXE را نادیده میگیرد تا از اختلال در عملیات DHCP و پروتکل Bootstrap (به اختصار BP) جلوگیری شود.
تصویر(1)
مزایای استفاده از PXE Boot
بسیاری از سازمانها با مشکلات عمدهای روبهرو هستند که با کمک PXE Boot قابل حل می باشند. این فناوری میتواند نصب یا راهاندازی خودکار سیستمعامل را روی تعداد زیادی دستگاه ممکن سازد.
سیستمعاملهای ویندوز و لینوکس در حال حاضر مکانیزمهایی برای نصب خودکار دارند. به طور معمول، شما یک فایل seed (بذر) یا پیکربندی ایجاد میکنید. فایل seed دارای مقادیری جهت پاسخگویی به سوالات installer سیستمعامل است. از نمونه فایل های seed در لینوکس می توان به فایل های Debian Preseed یا Redhat Kickstart اشاره کرد. با این حال، شما همچنان به رسانه نصب روی CD/DVD-ROM یا درایو USB نیاز خواهید داشت. اینکه فردی درگیر پروسه اتصال درایو USB شود، می تواند زمانبر و مستعد خطا باشد.
در اینجا PXE می تواند به ما کمک کند. از مزایای استفاده از PXE Boot می توان به موارد زیر اشاره کرد:
- کاهش تعداد installer های فنی
- کاهش زمان صرف شده برای هر سرور
- کاهش خطاها به دلیل خودکارسازی
- ابزارهای متمرکز نصب OS
PXE رویکردی استاندارد برای حل مشکل انتقال سیستمعامل به سیستم بدون نیاز به قرار دادن رسانه (USB، CD/DVD-ROM) توسط افراد است. PXE این کار را با راهاندازی سیستم از طریق شبکه انجام میدهد. چنانچه بخواهید روی چندین کامپیوتر بدون قرار دادن CD یا USB سیستم عامل نصب کنید، میتوانید از PXE Boot استفاده نمایید.
اگر کامپیوتر شما به درستی روشن نمی شود یا امکان راه اندازی از طریق بارگذاری فایل image روی هارد دیسک وجود ندارد، در این شرایط نیز میتوانید از PXE Boot استفاده کنید. چنانچه کلاینت دارای درایو CD-ROM و پورت USB نباشد یا فایل image روی CD یا USB ندارید، میتوانید از طریق PXE Boot نسبت به راهاندازی همزمان چندین کامپیوتر کلاینت در شبکه LAN اقدام نمایید.
علاوه بر این، با استفاده از PXE، کامپیوتر کلاینت نیازی به سیستمعامل یا حتی دیسک سخت ندارد. در صورت بروز خطاهای سختافزاری یا نرمافزاری، میتوانید آن را مجددا راهاندازی نموده و به تشخیص و رفع مشکل بپردازید. همچنین، به سادگی امکان اضافه کردن انواع جدیدی از کامپیوترها به شبکه وجود دارد زیرا PXE مستقل از شرکت های تولیدکننده عمل می کند و محدود به شرکت خاصی نیست.
جمعبندی
همانطور که در مقاله توضیح داده شد، مزایای PXE عبارتند از اینکه میتوانید یک سیستم را بدون هیچ دستگاه ذخیرهسازی راهاندازی نمایید که موجب افزایش کارایی و کاهش هزینه میشود. همچنین، نیازی به یک دستگاه USB جهت ذخیره سازی و استفاده از ابزار های ریکاوری نخواهید داشت. شما میتوانید فقط با بوت کردن کامپیوتر دارای مشکل از طریق شبکه و استفاده از ابزارهای rescue (نجات سیستم) یا سیستم های ریکاوری، مشکل را تشخیص دهید.
راهاندازی از طریق شبکه بسیار پیچیدهتر از قرار دادن برنامه ریکاوری در فلش USB می باشد اما تنها نیاز است یک بار آن را برای کل شبکه خود تنظیم کنید و سپس بارها و بارها از آن استفاده نمایید. در این حالت دیگر نگرانی در خصوص خراب شدن فلش USB یا کارت SD و… وجود ندارد.
به طور کلی، PXE ابزاری بسیار قدرتمند برای خودکارسازی و مدیریت راه اندازی یا بروزرسانی زیرساختهای مرکز داده، دستگاههای تعبیه شده، دستگاههای اینترنت اشیا و حتی ورک استیشن ها می باشد.