یکی از منحصر به فرد ترین قابلیت ها در محصول NSX ، قابلیت ایجاد روتر توزیع شده یا Distributed Logical Router می باشد. در ادامه ی سلسله مباحث مربوط به نصب و لنجام تنظیمات NSX، قصد داریم به معرفی و پیکربندی این قابلیت بپردازیم.
همانطور که می دانیم برای انتقال ترافیک بین سابنت های مختلف، می بایست ترافیک، بین آنها Route شود که این امکان توسط روترها فراهم می شود. زیرساخت مجازی نیز از این قاعده مستثنی نیست و همواره ماشین های مجازی به فراخور نیاز در سابنت های مختلفی قرار میگیرند و نیاز به تجهیزات بالادست فیزیکی برای انتقال این ترافیک ها به سمت همدیگر خواهیم داشت.
Distributed Logical Router یا DLR راه حلی است که می تواند با ایجاد یک روتر توزیع شده در سطح هاست های یک کلاستر، ترافیک را بدون اینکه نیاز به روتر فیزیکی باشد، بین VM ها منتقل کند.
این روتر، هم میتواند برای ترافیک های East –West یا تراقیک های داخلی بیم VM ها در زیرساخت مجازی مورد استفاده قرار گیرد و هم میتواند برای route کردن ترافیک به بیرون از زیر ساخت مجازی یا North – South مورد استفاده قرار گیرد، اما توصیه شرکت VMware بر این است که از این روتر برای ترافیک های East – West استفاده شود.
نکته: برای ترافیک های North – South از Edge Service Router استفاده می شود که در بخش های بعدی به آن خواهیم پرداخت.
DLR هم میتواند به Logical Switch ها به عنوان یک سابنت متصل شود و هم میتواند به Physical vlan ها یا پورت گروپ های سوییچ مجازی متصل شود. این روتر میتواند تا 1000 پورت داشته باشد و میتوان نزدیک به 1000 instance از آن ایجاد کرد.
برای ایجاد DLR از طریق منوی NSX Edges در سمت چپ داشبورد مدیریتی NSX اقدام به ایجاد آن خواهیم کرد.
در صفحه ابتدایی نام DLR را انتخاب می کنیم. از طرفی در صورتی که بخواهیم DLR را همراه با Control VM یا CVM ایجاد کنیم، باید Hostname را برای CVM انتخاب کنیم.
نکته:
Control VM وظیفه لایه کنترلی DLR را در هنگام استفاده از Dynamic Routing protocols بر عهده دارد و به عنوان peer برای روترهای شرکت کننده در پروتکل خواهد بود. در صورتی که نخواهیم از پروتکل های پویا برای روتینگ استفاده کنیم، نیازی به ایجاد CVM نیست.
ما در این مثال برای کامل بودن مطلب CVM را نیز ایجاد میکنیم.
از گزینه High Availability برای ایجاد CVM دوم میتوانیم استفاده کنیم. CVM دوم در حال Standby بوده و در صورتی که CVM اول از دسترس خارج شود پس از مدت 15 ثانیه جایگزین آن خواهد شد.
در صفحه بعد اطلاعات مربوط به CVM را وارد میکنیم، لازم به ذکر است CVM Cli فقط Read only می باشد.
اطلاعات مربوط به ایجاد CVM اول ( و احیانا CVM دوم) را برای قرارگیری در زیرساخت مجازی در صفحه زیر مشخص می کنیم.
از اینترفیس Management / HA برای اتصال از طریق SSH به CVM و همچنین برای ارسال Heartbeat بین CVM ها استفاده می شود.
در بخش بعدی باید اینترفیس های متصل به این روتر و آی پی مربوط به آنها را مشخص کنیم، همانطور که گفته شد این روتر می تواند تا 1000 اینترفیس داشته باشد که 990 تا از آنها داخلی (internal) و 10 عدد می توانند خارجی (Uplink) باشند. از اینترفیس های Uplink برای اتصال به تجهیزات دیگر استفاده می شود که می تواند تجهیزاتی مانند روتر مجازی یا فیزیکی باشد.
نکته:
اینترفیس های روتر DLR هم می توانند به Logical Switch ها و هم به پورت گروپ ها متصل شوند.
LIF:
به اینترفیس های روتر DLR یا روتر توزیع شده LIF (Logical Interface) می گویند. در هنگام ایجاد هر LIF، این اینترفیس توسط NSX Manager بر روی تمام هاست ها ایجاد می شود. این اینترفیس دارای یک آدرس MAC مجازی یا vMAC می باشد که بر روی تمام هاست ها یکی است و به عنوان آدرس MAC برای گیت وی VM ها در نظر گرفته میشود. این آدرس MAC از محیط فیزیکی دیده نمی شود و فقط در محیط مجازی قابل رویت است. همچنین این اینترفیس ها دارای یک pMAC یا MAC فیزیکی نیز می باشند که به هنگام خروج از زیرساخت مجازی به آنها داده می شود که همان MAC کارت شبکه فیزیکی هاست می باشد که به هنگام خروج از آن کارت شبکه استفاده می شود.
در صفحه آخر در صورتی که بخواهیم همه ترافیک های خروجی به مقصد خاصی هدایت شوند گزینه Default Gateway را مشخص می کنیم.
سپس بر روی گزینه Finish کلیک می کنیم تا DLR ایجاد شود. در صورتی که در هنگام ایجاد مشخص کرده باشیم که نیاز به CVM داریم این مورد با دیپلوی شدن یک ماشین مجازی توسط NSX Manager انجام خواهد شد مانند شکل زیر:
پس از این مرحله CVM ایجاد شده و DLR نیز آماده بهره برداری است.
تصویر بالا CVM و تصویر پایین DLR را نمایش میدهد.
با کلیک بر روی DLR می توان تنظیمات آن را ویرایش کرد.
امیدواریم این مطلب، برای علاقه مندان مفید بوده باشد. در ادامه مطلب به بررسی قابلیت های DLR خواهیم پرداخت.
معرفی قابلیت ها و سرویس های روتر DLR
در بخش قبل دیدیم که DLR روتری است که در سطح هاست ها ایجاد شده و میتواند زیرساخت مجازی را از نیاز به وجود یک روتر فیزیکی در لایه فیزیکی برای انتقال ترافیک ها بین سابنت های مختلف بی نیاز کند و به عبارت دیگر با انتقال ترافیک در داخل زیرساخت مجازی از hairpinning جلوگیری کرده و نیازی به خروج ترافیک از زیرساخت مجازی نداریم.
در ادامه مبحث DLR نگاهی به تنظیمات این روتر خواهیم داشت و خواهیم دید که روتر DLR همراه با نقش روتر میتواند سرویس های دیگری را نیز ارایه دهد که این نقش ها، گاهی همراه با نقش روتینگ و گاهی با حذف نقش روتینگ می توانند ارایه شوند.
در ادامه به معرفی این نقش ها و بررسی هر یک از آنها خواهیم پرداخت:
برای ورود به صفحه تنظیمات، باید از مسیر Network and Security، سپس NSX Edges بر روی روتر DLR کلیک کنیم تا به صفحه تنظیمات هدایت شویم. همانطور که در تصویر دیده می شود در این بخش علاوه بر تنظیمات روتر DLR بخش هایی تحت عناوین Bridging، DHCP Relay، DNS ، Routing
Configuration:
در بخش Configure میتوان تنظیمات مربوط به ایجاد CVM دوم برای ایجاد HA بین آنها و همچنین تنظیمات پیشرفته مربوط به HA بین CVM ها از قبیل تعیین مدت زمانی که CVM دوم پس از، از دسترس خارج شدن CVM اول می بایست در مدار قرار گیرد و خارج ایجاد اینترفیس های جدید بر روی این روتر را انجام داد.
Firewall:
فایروالی که در این بخش مشاهده می کنیم، صرفا فایروال مربوط به DLR CVM می باشد و مانند فایروالی که شما روی سیستم عامل ویندوز خود دارید می تواند ترافیک های ورودی و خروجی به خود CVM را کنترل کند و نباید از آن برای کنترل ترافیک بین VM هایی که قصد انتقال از طریق این روتر را دارند، استفاده شود.
Bridging:
یکی دیگر از نقش های بسیار مهم در DLR قابلیت Bridging بین Overlay networking و Underlay Networking می باشد. به این ترتیب که با استفاده از این قابلیت ما میتوانیم بین Logical Switch ها و vlan های فیزیکی یا به عبارتی پورت گروپ هایی که دارای تگ vlan می باشند، ارتباط لایه 2 ایجاد کنیم و آنها را در یک سابنت قرار دهیم. از این قابلیت در مواقعی استفاده می کنیم که بخواهیم بدون تغییر آی پی، workload ها را از Overlay networking به Underlay Networking و یا بالعکس منتقل کنیم. از جمله مثال هایی که برای این موضوع میتوان استفاده کرد، انتقال ماشین های مجازی از وی لن های فیزیکی به به LS ها و یا ایجاد ارتباط لایه 2 بین SVM و Agent های آن در مبحث Guest introspection می باشد.
نکته:
روتر DLR به صورت همزمان در نقش های Router و Bridge ایفای نقش کند و زمانی که از این روتر به عنوان Bridge استفاده می کنیم، معمولا گیت وی مربوط به تجهیزات فیزیکی می باشد.
DHCP Relay:
با نقش DHCP Server ها در شبکه آشنا هستیم و میدانیم که از آنها میتوان برای پیکربندی پویای تنظیماتی مانند IP استفاده کرد. روتر DLR نمیتواند به عنوان DHCP Server استفاده شود اما این روتر میتواند به عنوان DHCP relay در شبکه قرار
گیرد و ترافیک هایی که به اینترفیس های مختلف این روتر میرسد به سمت DHCP Server هدایت کند. به دلیل اینکه سابنت های مختلفی به این روتر متصل هستند، این قابلیت میتواند در ارایه آی پی از سمت DHCP server به سابنت های مشخص بسیار کارگشا باشد.
نکته:
در زیرساخت NSX می توان از ESGها به عنوان DHCP Server استفاده کرد که در مطالب بعدی به آن خواهیم پرداخت.
DNS Relay:
همانند DHCP Relay از روتر DLR میتوان به عنوان DNS Relay برای هدایت ترافیک ها به سمت DNS Server استفاده کرد. همچنین با استفاده از قابلیت Caching میتوان از حافظه این روتر برای نگهداری آخرین درخواست های name service و دستیابی سریعتر به رکوردهای DNS استفاده کرد، به این ترتیب که این روتر میتواند تعداد محدودی رکورد را که به صورت پیش فرض 16 رکورد آخر می باشد در خود ذخیره کند.
Routing:
در بخش Routing، همانطور که در تصویر زیر نیز پیداست، مشاهده میشود که این روتر علاوه بر مسیریابی از طریق مسیرهای ایستا یا Static routes ،از پروتکل های مسیریابی پویا یا Dynamic routing protocols نیز پشتیبانی میکند. این پروتکل ها، پروتکل OSPF و پروتکل BGP می باشند. در این بخش به راحتی می توانیم از طریق UI اقدام به وارد کردن تنظیمات مربوط به این پروتکل ها از قبیل تنظیمات مربوط به Area وRouter ID و متد Authentication نماییم.
همپنین در این بخش می توانیم از امکان Route redistribution برای ادغام پروتکل های مسیریابی پویا در همدیگر استفاده کنیم.
نکته :
همانطور که در بخش قبلی نیز اشاره کردیم، برای استفاده از پروتکل های Dynamic Routing در روتر DLR، حتما می بایست لایه کنترلی یا CVM ایجاد شده باشد.
در این بخش سعی بر آن شد تا به صورت کلی با سرویس هایی که روتر DLR می تواند در اختیار ما قرار دهد آشنا شویم، در بخش های بعدی سناریوهایی برای پیاده سازی هر یک از این بخش ها، نگارش خواهد شد.