بررسی کتاب VMware vSphere 6.5 Deep Dive
کشف نحوه کارکرد اجزای سیستم عامل VMware ESXi یکی از نکات کلیدی در راهبری دیتاسنترهای بزرگ محسوب میشود به این دلیل که این سیستم عامل سخت افزار را به طور ویژهای به خدمت میگیرد تا یک زیرساخت مجازی پایدار و ایمن را پدیدآورد. کمتر کتابی را میتوان یافت که جزئیات تعامل این سیستم با سختافزار را بهطور عمیق و موشکافانه بررسی کرده باشد کاری که در کتاب VMware vSphere 6.5 Host Resources Deep Dive بهخوبی صورت گرفته است. این کتاب توسط فرانک دنمن و نیلز هاگورت دو تن از متخصیص VMware نوشته شده است. کتاب با پرداختن به چگونگی بکارگیری منابع پردازش، حاغظه، ذخیرهسازی، و شبکه جزئیات نامشهود زیر سرویسها را به خوبی بیان میکند و درک عمیقی از مسائل پشت پرده سیستم فراهم میسازد.
در بخش اول کتاب سه فصل ابتدایی به مباحث معماری پردازنده، معماری سیستم، و حافظه موقت (کش) پردازنده میپردازند. در فصل اول یعنی معماری پردازنده، سبک پیکربندی متداول پردازنده در میان مشتریان VMware بیان شده است. این اطلاعات برپایه نتایج تحقیقی است که از نحوه پیکربندی طیف وسیعی از مشتریان بدست آمده و به نکات کاربردی مفیدی اشاره میکند که در زمان طراحی زیرساخت مجازی از آن استفاده خواهید کرد. در ادامه این فصل به سابقه معماری Non-uniform Memory Access (NUMA) پرداخته شده است و چیدمان نحوه کارکرد حافظه، سبک استفاده ماشینهای مجازی از حافظه و پردازنده، و ارتباط آن با پردازنده بهطور دقیق در چندبخش بررسی شده است. این مباحث کمک میکند تا شما درک بهتری از تاثیر این معماری بر سرعت عملکرد ماشینهای مجازی برخوردار باشید. در فصل دوم جزئیات نسلهای مختلف پردازندههای Intel و تاثیر آنها در معماری NUMA بررسی میشود و به این ترتیب با بررسی خصوصیات هر رده با جزئیات پردازنده و تاثیر معماری آن بر عملکرد ESXi بیشتر آشنا میشوید. در فصل سوم بر اهمیت کارکرد حافظه موقت (کش) پردازنده به عنوان یکی از مهمترین اجزا در زمان پردازش دادهها اشاره میشود. این بررسی با تمرکز بر پردازندههای اینتل و بیان سازوکار و تفاوتهای لایههای مختلف کش دادهها صورت میگیرد.
در فصل چهارم و پنجم جزئیات معماری NUMA در VMkernel به طور مفصل بیان شده است. این فصل به شما کمک میکند تا بتوانید به طور بهینه منابع پردازشی را به ماشینهای مجازی اختصاص دهید و درک درستی از نحوه تخصیص حافظه در تناسب با تعداد پردازنده، استفاده از توپولوژی vNUMA، کار با تنظیمات پیشرفته NUMA، و نظارت بر این موضوع از طریق esxtop داشته باشید. فصل ششم سبک مدیریت پردازنده توسط ESXi را به طور عمیق بررسی میکند. این کار از طریق CPU Scheduler انجام میشود و شما با انواع وضعیتهای پردازش، انواع World (یا همان Process در سیستم عامل)، روش فرآیند پردازش دادههای ماشینهای مجازی، چگونگی رزرو منابع پردازشی، و اصول CPU Affinity آشنا میشوید.
در فصل هفتم، مدیریت برق و بهینهسازی مصرف برق با جزئیات هر وضعیت و براساس پردازندههای اینتل بهطور عمیق بررسی شده است. در این فصل اطلاعات مفیدی درباره چگونگی تغییر وضعیت مصرف برق سرور خواهید یافت و میتوانید براساس این اطلاعات تنظیم ولتاژ در تناسب با بارهای کاری اجرا شده بر روی میزبان را از طریق بایوس یا کنسول مدیریت vCenter اعمال کنید.
بخش دوم کتاب درفصل های 8 تا 10 به معماری حافظه، پهنایباند کانال، و طراحی توپولوژی حافظه میپردازد. در فصل هشتم حافظه سیستم را از لحاظ مسائل مرتبط با نحوه چیدمان فیزیکی حافظه و تاثیر آن برعملکرد حافظه، انواع مدلهای حافظه سختافزاری، نحوه سازماندهی حافظه در تناسب با ظرفیت و پهنایباند خروجی واقعی آن، و عملکرد واقعی حافظه با توجه به سازنده سختافزار سرور به طور عمیق بررسی میکند. این اطلاعات به شما کمک میکند تا بهتر بتوانید میان نسلهای مختلف حافظه و سختافزار سرور تمایز قائل شوید و در آخر حداکثر توان مورد نیاز برای اجرای بارهای کاری را با چیدمان صحیح حافظه و بکارگیری حافظه مناسب تضمین کنید. فصل نهم و دهم اطلاعات مفیدی در زمینه جایگاه حافظه و ارتباط آن با پردازنده را بیان میکند و همچنین نحوه محاسبه سرعت ارتباط کانالهای حافظه را با توجه به سبک چینش حافظه، میزان حافظه، و نوع حافظه تشریح میکند. فصل یازدهم و دوازدهم به نحوه مدیریت حافظه در VMkernel میپردازد. در ابتدا اصول اشتراکگذاری حافظه میان ماشینهای مجازی (TPS) بیان میشود و انواع حافظه مجازی در دسترس ماشینهای مجازی را با ذکر جزئیات آن تشریح میکند و سپس نحوه مجازیسازی حافظه از طریق سازوکارهای موجود در پردازنده یا سیستم عامل را بیان میکند. در ادامه، نحوه تخصیص حافظه اضافی به ماشینهای مجازی و سبک تخصیص و رزرو این منابع را با بیان جزئیات مرتبط با آن را معرفی میکند.
جزئیات انواع حافظه و فرآیندهای مرتبط با آن مانند Memory Ballooning، Memory Compression، Memory Swap و غیره در فصل دوازدهم به خوبی پرداخت شده است. با اینکه این موارد را در کتاب vSphere Foundation و یا vSphere DCV خواندهاید اما توصیه میکنم جزئیات هر روش و فرآیند که در این کتاب آمده را بخوانید و با مسائل پشت پرده هر یک بیشتر آشنا شوید. با خواندن جزئیات فنی میتوانید تمایز بهتری میان انواع حافظهها و سرعت عملکرد هر یک قائل شوید و روشهای بهینهسازی بکارگیری این حافظه را فراگرفته و در جای و مکان درست از آن استفاده کنید.
بخش سوم کتاب به مباحث ذخیرهسازی دادهها میپردازد. در فصل سیزدهم انواع کانالهای ارتباطی ذخیرهسازی (SAS، SATA، U2، PCIe) از لحاظ سرعت، شرایط، عملکرد، پهنای باند و سازوکارهای ذخیرهسازی بررسی میشوند. در ادامه، پروتکلهای انتقال داده مانند AHCI، SCSI، و NVMe به تفصیل مورد بررسی قرار میگیرند. بررسی این پروتکلها در یکجا و با تمرکز بر بارهای مجازی شده این فرصت را فراهم میسازد تا با جزئیات معماری هریک بهتر آشنا شوید و با شناخت مزایا و معایب هر یک بهترین چیدمان را برای فضای ذخیرهسازی فراهم آورید. فصل چهاردهم به یکی جدیدترین سبکهای ذخیرهسازی یعنی ذخیرهسازی به صورت شناور (Non-Volatile Memory) تخصیص داده شده است. در این فصل تکنولوژی Flash و انواع حافظههای ذخیرهسازی آن از حیث عملکرد خواندن و نوشتن و همچنین جزئیات ماندگاری هر یک به خوبی تشریح شده است. علاوه بر این موارد، جزئیات عملکردی این حافظه نظیر Wear-leveling، Overprovisioning و Garbage Collection که معمولا در بروشورهای فنی سازندگان آرایههای ذخیرهسازی بایستی به دنبال آن گشت ذکر شده است. پس از این موارد اصول پاکسازی دادهها و ترمیم در زمان خرابی بیان شده است و حافظههای Flash با سبک جدید حافظههای 3D Xpoint مقایسه شده است. در انتها جدیدترین نسل حافظههای ذخیرهسازی یعنی حافظههای مبتنی بر NVDIMM مورد کاوش و بررسی قرار گرفته است. فصل شانزدهم به راهکار vSAN اختصاص یافته است و بررسی عمیقی در زمینه اصول طراحی، ملاحظات و نحوه استقرار و نگهداری از آن بیان شده است. فصل شانزدهم و هفدهم به اصول ذخیرهسازی ESXi اختصاص دارد و در این فصل شما با نحوهی مدیریت صف IO ذخیرهسازی (Storage IO Queue)، پارامترهای ذخیرهسازی در ESXi، فایل سیستم VMFS، متریکهای سنجش عملکرد لایه ذخیرهسازی، انواع درگاههای ذخیرهسازی مختص ماشین مجازی، انواع دیسکهای ذخیرهسازی و غیره آشنا میشوید.
بخش چهارم به مباحث مجازیسازی شبکه اختصاص دارد. از فصل هجدهم تا بیستویکم جزئیاتی از سازوکارهای شبکه را خواهید خواند که تاکنون در کمتر وبلاگ یا سایتی خواندهاید. از معرفی و جزئیات کار Netpol تا تنظیمات Offloading، MTU و RSS مباحثی هستند که تا زمانی که قصد پیادهسازی آنها را نداشته باشید و با این دقت به جزئیات کارکرد آنها اشراف پیدا نخواهید کرد. در ادامه این بخش مباحث مرتبط با راهکار VMware NSX و VXLAN بررسی شده است و درک مفیدی را در زمینه مسائل فنی این راهکار و ارتباط آن با VMware ESXi ارائه میدهد. دو فصل آخر کتاب به مهاجرت ماشینهای مجازی از یک هاست به هاست دیگر و همچنین طراحی لایه ذخیرهسازی مبتنی بر vSAN به صورت توزیعپذیر اختصاص یافته است که برخلاف سایر فصلهای کتاب بسیار مختصر است.
جمعبندی
اشراف بر عملکردهای اساسی سیستم عامل VMware ESXi به طور قابل توجهی تسلط بر راهبری زیرساخت مجازی را افزایش میدهد. مباحث این کتاب کمک میکند تا شناخت عمیق تکنولوژیهای درگیر در زیرساخت مجازی ممکن شود و هر منبعی در جای خاص خودش به صورت بهینه استفاده شود. به این ترتیب، پیش از تخصیص منابع همه گزینههای محتمل قابل تنظیم جهت ارتقای سطح عملکردی سرویس درنظر گرفته میشود. این کتاب حاوی مطالبی است که شاید به ندرت بتوان بدون سعی و خطا به نکات آن پیبرد و یکی از منابع ارزشمند در زمینه راهبری زیرساختهای مجازی محسوب میشود.