راهکارهای دیتاسنتر

راهکارهای دیتاسنتر

راهکارهای دیتاسنتر

راهکارهای دیتاسنتر

VMWare NSX مرزبندی جدید مجازی سازی

VMWare NSX مرزبندی جدید مجازی سازی

اولین نرم افزار مبتنی بر SDN برای مراکز داده
در سالهای اخیر، ماشین های مجازی به کمک مراکز داده آمده اند. با استفاده از مجازی سازی، می توانید سیستم هایی با بارهای کاری متفاوت روی زیر ساخت فیزیکی بسازید و به سرعت یک ماشین مجازی را از سروری به سرور دیگر منتقل کنید؛ بدون آنکه وقفه ای در سرویس دهی آن ایجاد شود، بهره وری را افزایش می دهید.وضعیت یک ماشین مجازی را ذخیره می کنید تا در صورت خرابی آن، به سرعت ماشین مجازی را بازیابی کنید. اینها تعداد محدودی از فواید مجازی سازی هستند. امروزه،استفاده از مجازی سازی در مرکز داده اجتناب ناپذیر است. به دلیل همین استقبال گسترده و سودمندی آن، مفهوم SDN یا شبکه های نرم افزار محور ایجاد شد. شرکت «VMware» با محصول خود با نام «NSX» تمامی مرزهای مجازی سازی را از نو تعریف کرد و مفهوم SDN واقعی را در مقیاس بزرگ برای همگان آشنا ساخت. شبکه های نرم افزار محور(Software-Defined Networks) گونه جدیدی از سیستم مدیریت شبکه هستند که شبکه را به دو قسمت سطح مدیریتی و سطح ارسال داده تقسیم می کنند. در این نوع شبکه ها، سطح مدیریتی مسئولیت کنترل و برنامه ریزی برای پیاده سازی در سطح ارسال را برعهده دارند. از سطح ارسال با نام Forwarding Plane نیز یاد می شود که مسئولیت هدایت ترافیک به سمت مقصد را عهده دار است. SDN باعث می شود نمایی متمرکز از شبکه به دست آورید. یکی از معروفترین پروتکل هایی که در شبکه های نرم افزار محور استفاده می شود، پروتکل OpenFlow است.
Network Functions Virtualization (NFV) نیز حوزه جدیدی در شبکه است که با کمک آن می توان المانهای شبکه را به صورت مجازی و نرم افزاری پیاده سازی کرد. منظور از المان، دستگاه های سخت افزاری هستند که مجزا پیاده سازی می شدند؛ دستگاه هایی مانند دیواره آتش، مسیریاب، سوییچ، Load Balancer و مانند اینها. بدیهی است خرید و پیاده سازی هر کدام از این تجهیزات، هزینه بر، زمان بر و نیازمند به نیروی متخصص است. به همین دلیل NFV به کمک مدیران شبکه آمده است تا هزینه ها و پیچیدگی های خود را کاهش دهند.NFV مکمل شبکه های نرم افزار محور است. شرکت WMware با استفاده از این دو تکنولوژی محصولی به نام NSX را روانه بازار کرده است. این محصول مزایای هر دو تکنولوژی شبکه های نرم افزار محور و NFV را با هم دارد. در سال 2012 شرکت VMware، شرکتی به نام «Nicira» را خریداری کرد که بر روی مجازی سازی شبکه و شبکه های نرم افزار محور فعالیت می کرد و تولد این پروژه به آن زمان باز می گردد.
وظیفه اصلی NSX، ایجاد و مدیریت شبکه ای مجازی است. همان گونه که با استفاده از بستر مجازی سازی می توان ماشین مجازی را ایجاد، ذخیره، حذف و بازیابی کرد، با استفاده از NSX نیز می توان شبکه ای مجازی را ایجاد، حذف و بازیابی کرد.نتیجه این کار،مرکز داده ای با انعطاف پذیری بسیار زیاد در ارتباطات است که در کمترین زمان می تواند تنظیمات متفاوتی را پیاده کند؛ یک مسیر را حذف کند، مسیر جدید بسازد، لینک پشتیبان ایجاد کند و مانند این ها. با استفاده از NSX، سخت افزار فعلی تنها چیزی است که برای پیاده سازی یک مرکز داده مبتنی بر نرم افزار نیازمندید.

 شکل 1.مقایسه دو رویکرد متفاوت در مجازی سازی

در حال حاضر دو نسخه متفاوت از NSX وجود دارد. اولین نسخه NSX for vSphere است که برای استفاده از محیط vSphere مناسب است. نسخه دوم،NSX for Multi-Hypervisor است که مناسب محیط های ابری همانند اپن استک (OpenStack) است. شکل یک، مقایسه دو رویکرد مجازی سازی شبکه و بستر مجازی سازی برای ساخت ماشین مجازی را نشان می دهد. همان طور که در سمت چپ این شکل نشان داده شده است، در مجازی سازی سخت افزاری، یک مجازی ساز روی سخت افزار نصب می شود. در لایه بالاتر، به صورت نرم افزاری و منطقی ماشین مجازی ساخته می شود که همان ویژگی های سخت افزار را از خود نشان می دهد و به راحتی می توان مشخصات سخت افزاری یک ماشین را تغییر داد. در سمت راست شکل یک، نحوه عملکرد NSX نشان داده شده است. NSX شامل یک پلتفرم مجازی ساز شبکه است که ویژگی های یک شبکه را شبیه سازی می کند. بر روی این پلتفرم، شبکه های مجازی قرار می گیرد و از طریق این شبکه های مجازی می توان سرویس های لایه دو تا لایه هفت ارائه داد. سرویس هایی مانند سویچینگ،مسیریابی، دیواره آتش، کیفیت خدمات (Qos) و توازن بار شبکه.

اجزای NSX

NSX چهار جزء دارد.این اجزا در شکل دو نشان داده شده اند که شامل این اجزا می شود:
1. Cloud Consumption
2. Management Plane
3. Control Plane
4. Data Plane
در ادامه به بررسی بیشتر این اجزا می پردازیم.

1. Cloud Consumption

Cloud Management Platform )CMP) که در شکل نشان داده شده است، طبق گفته VMware از اجزای اصلی نیست، اما به دلیل اینکه از طریق REST API های NSX می توان به صورت مجازی آن را با هر CMP ای یکپارچه کرد، آن را یکی از اجزای NSX به حساب می آورند.طبق ادعای VMware از طریق API این لایه،به راحتی می توان ماژول های خاص NSX برای هر محیط ابری ای را ایجاد کرد.به گفته این شرکت،در حال حاضر NSX برای یکپارچه شدن با vCloud Director ، VmwareCloudAutomation Center و اپن استک آماده است.این شرکت،این ویژگی را out-of-box integration نامیده است.برای ارتباط با اپن استک از طریق پلاگینی که برای Neutron وجود دارد،می توان NSX را با اپن استک یکپارچه کرد.

 شکل 2.اجزای NSX

2. Management Plane

این قسمت شامل NSX Manager می شود.قسمتی که به کمک آن می توانید شبکه را به صورت متمرکز مدیریت کنید.اکثر صاحب نظران این قسمت را همان سطح مدیریتی در SDN می دانند که به آن اشاره شد.با NSX Manager، می توان به «Single point of configuration» دست یافت. در شکل سه،کنسول NSX Manager نشان داده شده است که از طریق مرورگر قابل دسترسی است.
NSX Manager به صورت یک ماشین مجازی در vCenter اجرا می شود و برای نصب و راه اندازی نیز باید از طریق OVF installation اقدام و تنظیمات مربوط به آن انجام شود.به گفته VMware برای هر vCenter تنها یک NSX Manager می توان داشت. در صورتی که چندین vCenter مجزا داشته باشید و بین آنها ارتباط برقرار کرده باشید،محیط Cross vCenter ایجاد کرده اید.معمولاً در چنین محیطی یک NSX Manager اصلی و چندین NSX Manager ثانویه وجود دارد.در چنین محیطی حداکثر یک NSX Manager اصلی و هفت عدد ثانویه می توان داشت.وظیفه NSX Manager اصلی،ایجاد قوانین برای سوییچ ها،مسیریاب ها و دیواره های آتشِ منطقی در سطح کل محیط Cross vCenter است.وظیفه ثانویه ها نیز مدیریت سرویس های شبکه در سطح محلی و مخصوص به هر vCenter است.

 شکل 3.کنسول NSX Manager

3.Control Plane

Control Plane نیز از NSX Controller Cluster تشکیل شده است. همان طور که از نام این کنترلر مشخص است، یک سیستم توزیع شده مدیریتی است که وظایف مدیریتی سوییچ ها و مسیریاب های منطقی را انجام می دهد. از این کنترلر هیچ گونه ترافیکی عبور نمی کند و خراب شدن آن، DataPlane و جریان ترافیک عبوری را تحت تأثیر قرار نمی دهد.
NSX Controller اطلاعات شبکه را به هاست ها ارسال می کند. اطلاعاتی که از NSX Controller به سایر قسمت ها ارسال می شود، اهمیت بسیار زیادی دارد؛ زیرا اگر اطلاعات اشتباه فرستاده شود، تنظیمات شبکه به هم خواهد ریخت و کل شبکه از کار خواهد افتاد.به همین دلیل باید احتمال خرابی را کاهش داد. vMware برای حل این مشکل، از ساده ترین روش برای افزایش افزونگی (Redundancy) استفاده کرده است. در این روش، به جای پیاده سازی یک NSX Controller ، باید سه NSX Controller پیاده سازی شده و بین دستورات آنها رأی گیری شود. اگر دستور یا فرمانی حداقل دو رأی را به خود اختصاص دهد، اجرا خواهد شد و این گونه، خرابی یک NSX Controller مشخص شده و از اجرای دستورات اشتباه جلوگیری می شود. در صورتی که از دو NSX Controller استفاده شود، اگر جواب های آنها با همم متفاوت باشد، نمی توان جواب صحیح را تشخیص داد و مشکل «Split-Brain scenario» به وجود می آید. با پیاده سازی این کلاستر که شامل سه کنترلر است، به High Availability نیز دست خواهید یافت. برای اطلاع زا تکنیک های افزایش افزونگی و آشنایی بار روش های آن، به کتاب Design and Analysis of Fault-Tolerant Digital Systems نوشته Barry W.Johnson رجوع کنید.
در هر کلاستر، یک نود به عنوان NSX Controller اصلی وجود دارد. در صورتی که یک NSX Controller اصلی دچار خرابی شود، در کلاستر مربوطه نود دیگری برگزیده شده و به عنوان NSX Controller اصلی شناخته می شود. سایر نودهای موجود در کلاستر، باید با آن هماهنگ باشند و دائماً همگام سازی اتفاق افتد.

4.Data Plane

Data Plane شامل NSX vSwitch است که بر اساس vSphere Distributed (VDS) کار می کند. کرنل ماژول های userspace agent، NSX ، فایل های تنظیمات و اسکریپت های نصب در VIB گنجانده شده اند و پس از نصب، با کرنل vSphere اجرا می شوند تا سرویس هایی همچون مسیریابی توزیع شده، دیواره آتش منطقی و VXLAN bridging فعال شوند.

 شکل 4.اضافه شدن آیتم جدید در vSphere Inventory
شکل چهار تصویری از vSphere web client پس از نصب NSX است. پس از نصب، در قسمت Inventoryآیکونی به نام Networkingand Security اضافه می شود. پس از کلیک بر روی این آیکون، به صفحه اصلی NSX هدایت می شوید. این صفحه در شکل پنج نشان داده شده است.

 شکل 5. صفحه اصلی NSX

VIBمخفف عبارت vSphere Installation Bundle، عملکردی تقریباً شبیه به فایل های ZIP دارد، با این تفاوت که این فرمت برای vSphere است. VXLANنیز مخفف Virtual Extensible LAN است. VXLAN یک تکنولوژی مجازی سازی شبکه بوده و برای حل مشکلات مقیاس پذیر نبودن شبکه ایجاد شده است. VXLANاز تکنیک های کپسوله کردن (مانند VLAN) استفاده می کند تا فریم های اترنت لایه دو OSI را که براساس مک آدرس هستند، در بسته های لایه چهار UDP قرار دهد. برای اطلاعات دقیق تر در این خصوص می توانید به RFC7348 مراجعه کنید.
برخی از مزایای استفاده از NSX vSwitch به این شرح است:
• پشتیبانی از Overlay با استفاده از پروتکل هایی مانند VXLAN و انجام تنظیمات شبکه به صورت متمرکز
• تسهیل پیاده سازی تعداد زیادی ماشین مجازی
• قابلیت هایی همچون LACP ، NetFlow/IPFIX ، Port Mirroring ، پشتیبان گیری و بازیابی تنظیمات کل شبکه، بررسی سلامت شبکه، کیفیت خدمات (QoS)، ابزارهای کارآمد و بسیار مفید برای مدیریت و نظارت ترافیک و در نهایت عیب یابی شبکه صحبت درباره این نرم افزار، محدود به مباحث مذکور نمی شود و مسائل مربوط به آن، به اندازه ای بزرگ و پیچیده هستند که کتاب های متفاوت برای تشریح آنها نوشته شده است. به همین دلیل قصد داریم با مثالی عملی و ساده، توضیحات ساده تری ارائه دهیم.

 شکل 6.تجهیزات موجود قبل از پیاده سازی NSX

یک سناریو ساده

یکی از قلبلیت های NSX ، دیواره آتش است. تجهیزات موجود در این سناریو و ارتباطات شبکه آن در شکل شش نشان داده شده است. دو عدد سوییچ Cisco2960 ToR در رک، دو عدد سوییچ Cisco X4748 در لایه Aggregation ، دو عدد دیواره آتش سخت افزاری، چند عدد سرور و دو ماشین مجازی موجود هستندToR مخفف عبارت Top of Rack و به معنای بالا رک است. مهندسان شبکه قصد دارند از طریق دیواره آتش، ترافیک لایه سه را محدود کنند. در این حالت این موارد رخ خواهند داد:
1. مهندسان شبکه باید خود را درگیر قوانین سخت برای مهندسی ترافیک کنند.
2. ممکن است دیواره آتش باعث ایجاد گلوگاه شود.
3. با بیشتر شدن وسعت شبکه، باید تعداد دستگاه های دیواره آتش بیشتری خرید و این موضوع باعث افزایش هزینه های سخت افزار (هزینه های Capex) می شود.
4. در صورت نفوذ به دیواره آتش، می توان به ترافیک کل شبکه دسترسی پیدا کرد.
5. این گونه ساختار پهنای باند زیادی مصرف می کند و کارایی شبکه را پایین خواهد آورد. برای مورد شماره پنج، شکل هفت را در نظر بگیرید. در این شکل ماشین مجازی شماره یک که با رنگ سبز مشخص شده است، آی پی آدرس 10.1.0.5/24 را دارد و قصد دارد با ماشین مجازی شماره دو که با رنگ بنفش مشخص شده و دارای آدرس آی پی 10.2.0.8/24 است، ارتباط برقرار کند. برای برقراری ارتباط با ماشین مجازی شماره دو، ترافیک ماشین مجازی یک باید از سوییچ های ToR عبور کند و سوییچ Cisco X4748 را پشت سر بگذارد تا به دیواره آتش برسد. پس از آنکه به دیواره آتش رسید، ترافیک دریافتی بررسی شده و مشخص می شود که اجازه دسترسی را ندارد و ترافیک ارسالی مسدود می شود.

 شکل 7.برای بررسی ترافیک،باید از مسیر طولانی گذشت.

برخی از تولیدکنندگان تجهیزات شبکه، محصولاتی تولید کرده اند که ترافیک یک ماشین مجازی به یک ماشین مجازی دیگر را مانیتور کنند و مسیری را که این ترافیک طی می کند تا بررسی شود، کوتاه تر کرده اند، اما هنوز مشکل هدررفت پهنای باند برای این موضوع باقی است.
NSX قابلیتی با نام (DFW( Distributed Firewall دارد که یک دیواره آتش توزیع شده است. این قابلیت، در هنگام نصب پلاگین NSX Manager vCenter فعال می شود. یکی از مزایای اصلی این قابلیت این است که دیواره آتش به سطح ماشین مجازی آورده شده است؛ به این معنی که هر بسته ای که از ماشین مجازی خارج شود یا بخواهد داخل شود، در بدو خروج یا ورود DFW آن را بررسی می کند.

 شکل 8.بررسی ترافیک پس از خروج از ماشین مجازی

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

سخن آخر

شرکت VMware که محصولات بسیاری در خصوص مجازی سازی دارد، این بار نیز توانسته است با مجازی ساز جدیدی که شبکه را مجازی سازی می کند، به بهبود کارایی و عملکرد شبکه در مرکز داده کمک فراوانی کند. NSX،مثال بارزی از ترکیب شبکه های مبتنی بر نرم افزار و NFV است. با استفاده از NSX می توانید به Software Defined Data Center )SDDC) دست یابید و هزینه های ثابت و حتی متغیر خود را کاهش دهید. بحث و تبادل نظر در خصوص این نرم افزار بسیار جالب و مفید، به همین نقطه ختم نمی شود. تمام مواردی که ذکر شد، پیش درآمدی بر این نرم افزار و بررسی دقیق ساختار و قابلیت های آن خارج از بحث این مقاله است. در نگاه اول،این نرم افزار بسیار مفید است، اما هنوز پرسش هایی در ذهن ما وجود دارند که برای پاسخ به آنها باید بیشتر بر روی نحوه کار این نرم افزار تحقیق شود. اول اینکه هر چقدر شبکه مجازی باشد، قطعاً نیاز به عبور ترافیک از زیرساخت فیزیکی را خواهد داشت. حال برای اینکه بار ترافیک بر روی یک لینک فیزیکی زیاد نباشد، چه تمهیداتی در نظر گرفته شده است؟ چگونه نزدیکترین مسیر منطقی برای رسیدن به یک آدرس را پیدا می کند و مشخصات فیزیکی را در نظر خواهد گرفت؟ ممکن است سؤالاتی از این قبیل، برای شما نیز اهمیت فراوانی داشته باشد. به همین سبب پیشنهاد می کنیم برای پیاده سازی NSX اطلاعات بیشتری کسب کنید و شرایط فیزیکی شبکه خود را در نظر داشته باشید.