NSX مجموعه کاملی از سرویسهای شبکه (مانند سوئیچینگ، مسیریابی، فایروال، لودبالانسینگ، QoS) را بصورت نرمافزاری بازتولید (reproduce) میکند. این سرویسها را میتوان به صورت برنامهریزی در ترکیبهای دلخواه جمعآوری نمود تا شبکههای مجازی منحصربهفرد و ایزوله در عرض چند ثانیه تولید گردند.
NSX با پیاده سازی سه صفحه مجزا (Plane) اما یکپارچه کار می کند که عبارتند از:
Management, Control, Data
و این سه صفحه به عنوان مجموعهای از فرآیندها، ماژولها و عوامل مستقر در دو نوع node پیادهسازی میشوند:
- Manager Appliance
- Transport Node
Management Plane:
این صفحه(Plane) یک نقطه ورود به سیستم برای API و نیز یک رابط کاربری گرافیکی NSX فراهم نموده و مسئول حفظ پیکربندی کاربر، رسیدگی به درخواستهای کاربر و انجام وظایف عملیاتی بر روی تمامی Nodeها میباشد.
NSX Manager این صفحه را برای اکوسیستم NSX پیاده سازی میکند و این یک نمای سیستم تجمیع شده ارائه میدهد و جزء مدیریت شبکه متمرکز NSX است.
NSX Manager عملکرد زیر را ارائه می دهد:
– به عنوان یک نقطه ورودی منحصر به فرد برای پیکربندی کاربر از طریق RESTful API یا NSX user interface عمل میکند.
– NSX Manager مسئول ذخیره تنظیمات مورد نظر در پایگاه داده خود است. درواقع درخواست کانفیگ نهایی توسط کاربر را برای سیستم ذخیره میکند. این پیکربندی توسط NSX Manager به control plane منتقل میشود تا به پیکربندی تحقق یافته تبدیل شود (پیکربندی موثر در Data plane).
– پیکربندی مورد نظر را علاوه بر اطلاعات سیستم بازیابی می کند.
– اتصال فراگیر، اجرای مداوم امنیت و دید عملیاتی را از طریق مدیریت اشیاء و جمعآوری موجودی و برای دامنههای محاسباتی متعدد تا 16 سرور vCenter، کانتینر ارکستریتور (TAS/TKGI و OpenShift) و ابرها (AWS و Azure) ارائه مینماید.
از NSX نسخه 2.4 به بعد، NSX manager ، NSX policy manager و NSX controller elements در یک VM مشترک وجود دارند که NSX با سه VM از این نوع و به عنوان NSX Manager Appliance یک کلاستر تشکیل میدهد تا کاهش حجم(scaling out) و افزونگی(redundancy) را پوشش دهد.
اکثر applianceهای سه تایی موجود در کلاستر باید در دسترس باشند و به همین دلیل، میبایست برای availability آنها، محل قرار دادنشان توجه شود.
NSX manager تمام اطلاعات خود را بلافاصله در یک پایگاه داده در حافظه ذخیره میکند که در سراسر کلاستر همگام (synchronized) شده و روی دیسک نوشته میشود و ضمنا عملیات پیکربندی یا خواندن را میتوان روی هر کدام از appliance ها انجام داد. الزامات عملکرد دیسکِ NSX Manager Appliance بطور قابل توجهی کاهش مییابد زیرا بیشتر عملیاتها در حافظه انجام میشوند. از مزایای این مدیریت همگرای سه تایی میتوان به هزینههای سربار مدیریتی کمتر با منابع کاهش یافته برای مدیریت و نیز کاهش بالقوه در مقدار کل منابع (CPU، حافظه و دیسک) اشاره نمود. همچنین هر یک از appliance ها دارای یک آدرس IP اختصاصی میباشند که مدیریت آن را می توان مستقیماً و یا از طریق یک لودبالانسر انجام داد. به صورت اختیاری(Optionally)، این سه appliance را می توان با یک آدرس IP مجازی(virtual IP) پیکربندی نمود که توسط یک دستگاه انتخاب شده از بین سه دستگاه، صورت میپذیرد.
Control Plane:
control plane وضعیت زمان اجرای سیستم را بر اساس پیکربندی management plane محاسبه میکند. همچنین مسئول انتشار اطلاعات توپولوژی گزارش شده توسط عناصر Data plane و انتقال پیکربندی بدون حالت به موتورهای حمل و نقل (forwarding engines) میباشد.
Control plane به دو قسمت تقسیم می شود:
- Central Control Plane (CCP)
CCP به عنوان یک کلاستر از ماشینهای مجازی به نام CCP nodes پیاده سازی میشود. این کلاسترینگ هم افزونگی(redundancy) و هم مقیاس پذیری(scalability) منابع را فراهم میکند. CCP به طور منطقی از تمام ترافیک Data plane جدا میشود، به این معنی که هر گونه خرابی در Control Plane بر عملیات Data plane موجود تأثیر نمیگذارد. ضمنا ترافیک کاربر از CCP Cluster عبور نمیکند.
- Local Control Plane (LCP)
LCP روی گرههای حمل و نقل(transport nodes) اجرا میشود. این در مجاورتِ Data plane ای است که کنترل میکند و به CCP متصل است. LCP مسئول برنامه نویسی ورودیهای ارسال و قوانین فایروال ِData plane است.
Data Plane:
data plane ارسال بدون حالت(stateless forwarding) یا تبدیل بستهها(transformation of packets) را بر اساس جداول پر شده توسط control plane انجام میدهد. اطلاعات توپولوژی را به control plane گزارش میدهد. هاستهایی که دیمونهای control plane محلی را اجرا میکنند و موتورهای حمل و نقل(forwarding engines) که data plane را اجرا میکنند، گرههای انتقال (Transport nodes) نامیده میشوند.
گره های انتقال (TNها) نمونه ای از سوئیچ مجازی NSX به نام NSX Virtual Distributed Switch یا N-VDS را اجرا می کنند.
در ESXi ها، N-VDS در بالای VDS ساخته شده است. در واقع، N-VDS آنقدر به VDS نزدیک است که NSX 3.0 قابلیت نصب NSX را مستقیماً در بالای یک VDS در هاستهای ESXi معرفی نمود. برای مابقی انواع گرههای انتقال (TNها)، N-VDS مبتنی بر Open vSwitch، مستقل از پلتفرم OVS بوده و به عنوان پایهای برای اجرای NSX در محیطهای دیگر (مانند ابر، کانتینرها و غیره) عمل میکند.
همانطور که در شکل فوق نشان داده شده است، دو نوع اصلی گره انتقال(TN) در NSX وجود دارد:
1- Hypervisor Transport Nodes
هاپروایزرهایی هستند که برای NSX آماده و پیکربندی شده اند. NSX سرویس شبکه ای را برای ماشینهای مجازی در حال اجرا بر روی این هایپروایزر ارائه میدهد. NSX در حال حاضر از VMware ESXi™ و هایپروایزر KVM پشتیبانی میکند.
2- Edge Nodes
نودهای VMware NSX Edge™ ابزارهای خدماتی(service applianceهایی) هستند که برای اجرای سرویسهای متمرکز شبکه اختصاص داده شدهاند که این سرویسها نمیتوانند بین هایپروایزرها توزیع شوند. آنها را می توان به عنوان یک bare metal appliance یا به عنوان ماشین مجازی مشاهده نمود. آنها در یک یا چند کلاستر گروه بندی می شوند که نشان دهنده یک مجموعه ظرفیت(pool of capacity) هستند. مهم است که به خاطر داشته باشید که یک Edge Node به تنهایی یک سرویس را نشان نمیدهد، بلکه فقط مجموعه ای از ظرفیت است که یک یا چند سرویس میتوانند مصرف کنند.
منبع : NSX Reference Design Guide وبسایت VMware