برای استفاده از ویژگیهای پیشرفته مجازیسازی سرور، مثل دسترسپذیری بالا یا توانایی انتقال ماشین مجازی در حال اجرا از یک میزبان به میزبان دیگر، به فضای ذخیرهسازی اشتراکی نیاز دارید، زیرا یکی از پیشنیازهای مهم سرورهای مجازی است. در گذشته، شرکتها برای دستیابی به چنین قابلیتی مجبور بودند از یک مکانیزم ارتباطی هزینهبر که مبتنی بر کانال فیبر SAN (FC SAN) بود استفاده کنند، اما با گذشت زمان وابستگی به این فناوری گرانقیمت کمتر شد. بهطوری که امروزه بیشتر محصولات مجازیسازی سرور از تجهیزات ذخیرهسازی متصل به شبکه (NAS) پشتیبانی میکنند که میتواند جایگزین مناسب و مقرونبهصرفهای برای FC SAN باشد. راهحل کارآمد دیگر در این زمینه، iSCSI است که مانند NAS از پروتکل TCP/IP روی یک شبکه اترنت استاندارد استفاده میکند، اما iSCSI همانند کانال فیبر بر پایه فناوری ذخیرهسازی بلوکی کار میکند و در نتیجه از NAS گرانتر است. بهطور معمول، سیستمهای NAS از پروتکلهای اشتراکگذاری فایل مثل SMB ،NFS و CIFS پشتیبانی میکنند، اما محصولات مجازیسازی سرور بیشتر از NFS استفاده میکنند، هرچند برخی از آنها تنها از پروتکل NFS پشتیبانی میکنند.
معماری NFS
سیستم فایل شبکهای، اواخر دهه 80 میلادی توسعه پیدا کرد و در طول این سالها نسخههای مختلفی از آن منتشر شده است. جدیدترین نسخه از پروتکل فوق NFSv4 نام دارد که از سه فناوری زیربنایی مهم زیر تشکیل شده است:
- فراخوانی رویه از راه دور (Remote Procedure Calls)
- نمایش دادههای خارجی (External Data Representation)
- رویههای سیستم فایل شبکهای (NFS Procedures)
پروتکل NFS از مکانیزم ارتباطی RPC استفاده میکند که به یک سرور (کلاینت NFS) اجازه میدهد با سرور دیگری (سرور NFS) ارتباط برقرار کند. مولفه نمایش دادههای خارجی (XDR)، استاندارد کدگذاری دادهها در پروتکل NFS است و بهعنوان زبان استاندارد توسط کلاینتها و سرورها مورد استفاده قرار میگیرد. سومین مولفه که «رویههای سیستم فایل شبکهای» (NFS Procedures) نام دارد، مجموعه دستورالعملهای نرمافزاری است که نحوه نوشتن و خواندن اطلاعات به فضای ذخیرهسازی را مشخص میکند.
یک سرور مبتنی بر پروتکل NFS ممکن است یک دستگاه NAS اختصاصی باشد، مثل محصولات شرکت کیونپ، سینولوژی، Net-App و غیره؛ یا میتواند یک سرور معمولی باشد که سیستمعاملی روی آن در حال اجرا است. بهطور معمول، NFS در سیستمعاملهای یونیکس و لینوکس استفاده میشود، اما امکان استفاده از آن در سیستم عاملهای دیگری مثل ویندوز وجود دارد. NFS یک پروتکل بدون حالت (Stateless) است، به این معنا که سرور هیچگونه اطلاعاتی در ارتباط با کلاینت ذخیره نمیکند و هر رویداد RPC شامل اطلاعاتی است که یک ارتباط را کامل میکند. به این ترتیب، هیچ اتصال بازی بین کلاینت و سرور وجود ندارد و بازیابی خرابی یک کانال ارتباطی به سادهترین شکل انجام میشود، بهطوری که کلاینت دومرتبه درخواست خود را برای سرور ارسال میکند و صبر میکند تا سرور پاسخی به او بدهد.
NFS در دنیای مجازیسازی سرور
NFS بهشکل گستردهای در ارتباط با فضای ذخیرهسازی اشتراکی که قرار است میان چند میزبان مجازی بهاشتراک گذاشته شود، مورد استفاده قرار میگیرد. همه پلتفرمهای اصلی مجازیسازی سرور از مکانیزم ذخیرهسازی NAS NFS در ارتباط با ماشینهای مجازی پشتیبانی میکنند تا کارشناسان شبکه به سادهترین شکل یک فضای ذخیرهسازی واحد در اختیار کلاینتها و سرورها قرار دهند. از آنجایی که NFS پروتکلی است که کاربردهای زیادی دارد، روشهای مختلفی برای دسترسی به حافظه NFS در اختیار میزبان مجازی قرار میدهد.
بهطور مثال، میتوان یک سرور فیزیکی را آماده کرد و آنرا به یک سرور NFS تبدیل کرد یا میتوان از نرمافزار SAN مجازی یا ابزارهای ذخیرهسازی اختصاصی برای این منظور استفاده کرد.
هر یک از گزینههای فوق عملکرد مخصوص به خود را دارند، ویژگیهای خاصی را ارائه میکنند و بهلحاظ هزینه متفاوت از یکدیگر هستند. بهترین گزینه، استوریج (Storage) اختصاصی است که بالاترین عملکرد را ارائه میدهد، اما هزینه بالاتری نسبت به نمونههای مشابه دارد. البته این امکان وجود دارد تا سرور ارزانقیمتی را تهیه کنیم، به تعداد کافی دیسکهای سخت در آن قرار دهیم و سپس یک سیستمعامل سرور مثل لینوکس یا ویندوز روی آن نصب کنیم و آنرا بهگونهای پیکربندی کنیم که نقش یک سرور NFS را بازی کند. همچنین، امکان استفاده از نرمافزارهای اختصاصی مثل نرمافزار ذخیرهساز اشتراکی منبع باز (Openfiler) نیز وجود دارد.
تقریبا بیشتر فروشندگان تجهیزات ذخیرهساز دادهها، محصولات خود را با رویکرد پشتیبانی از NFS به بازار عرضه میکنند. از جمله این فروشندگان باید به کیونپ، NetGear و Synology اشاره کرد. محصولات این شرکتها از قبل پیکربندی شدهاند، پروتکل NFS در آنها مسئولیت نوشتن و خواندن دادهها را بر عهده دارد و هنگامی که به شبکه متصل میشوند، امکان استفاده از آنها وجود دارد. خوشبختانه، تنوع این محصولات باعث شده تا گزینههای قابل انتخاب زیادی در دسترس مصرفکنندگان قرار داشته باشد، در نتیجه باید بر مبنای بودجه و نیازهای کاری محصول مناسب را تهیه کنید.
از آنجایی که NFS پروتکلی است که در سطح فایل کار میکند، به روشی متفاوت از دستگاههای ذخیرهسازی بلوک پیکربندی میشود. هنگامی که یک ذخیرهساز مبتنی بر فناوری ذخیرهسازی سطح بلوک را تهیه میکنید، یک آداپتور ورودی/خروجی ذخیرهسازی در میزبان دارید که بهصورت محلی یا از راه دور با دستگاه ذخیرهسازی ارتباط برقرار میکند. به طور معمول، آداپتور فوق از نوع SCSI، کانال فیبر (Fiber Channel) یا iSCSI است و یک آداپتور شبکه است که بهعنوان آغازگر (Initiator) سختافزاری یا نرمافزاری عمل میکند. با استفاده از پروتکل NFS از یک سرویسگیرنده NFS مستقر در هایپروایزر برای برقراری ارتباط با یک آداپتور شبکه مستقر در میزبان برای ارتباط با سرور NFS استفاده میکنید. در روش فوق نیازی به اسکن دستگاه ذخیرهسازی روی آداپتورهای ورودی/خروجی وجود ندارد؛ کاری که در ارتباط با استوریجهای بلوکی انجام میدهید. هنگام افزودن یک دستگاه ذخیرهساز مبتنی بر NFS به میزبان مجازی، نام سرور NFS و محل پوشه اشتراکی را وارد میکنید و تمام. در ادامه، هنگامی که فرآیند پیکربندی اولیه استوریج بهپایان رسید، ماشینهای مجازی را درست مثل دستگاههای ذخیرهسازی سطح بلوک روی آنها ایجاد میکنید.
مزایا و معایب استفاده از NAS در محیطهای مجازی چیست؟
در بیشتر موارد، دستگاههای ذخیرهساز NAS در یک محیط سرور مجازیشده، مشابه دستگاههای ذخیرهسازی سطح بلوک کار میکنند، اما ممکن است بهدلیل نوع معماری بهکارگرفتهشده، محدودیتهایی وجود داشته باشد. از مهمترین محدودیتها به موارد زیر باید اشاره کرد:
- اگر از فضای ذخیرهسازی محلی در میزبان مجازی استفاده نمیکنید و میخواهید فرآیند بوت بهشکل مستقیم از یک دستگاه ذخیرهسازی اشتراکی انجام شود، به دستگاه ذخیرهسازی دیگری غیر از یک سیستم NAS نیاز دارید. با آداپتورهای کانال فیبر و iSCSI میتوانید بدون استفاده از حافظه محلی، هایپروایزر را بهشکل مستقیم از یک دستگاه ذخیرهسازی اشتراکی بوت کنید.
- NFS بهجای آداپتور سختافزاری ورودی/خروجی از یک کلاینت نرمافزاری تعبیهشده در هایپروایزر استفاده میکند. به همین دلیل، سربار پردازشی قابل توجهی به پردازنده مرکزی وارد میکند، زیرا هایپروایزر باید از یک سرویسگیرنده نرمافزاری برای برقراری ارتباط با سرور NFS استفاده کند. در یک میزبان که ترافیک زیادی را باید مدیریت کند، حالت فوق باعث کاهش عملکرد میشود، زیرا پردازندههای مرکزی میان ماشینهای مجازی به اشتراک گذاشته میشوند.
- در محیطهای مبتنی بر فناوری مجازیسازی vSphere این امکان وجود دارد تا فضای ذخیرهسازی ماشین مجازی را روی دستگاههای NFS ایجاد کرد، اما دستیابی به عملکرد بالایی که سیستم فایلی VMFS ارائه میکند، وجود ندارد. درست است که در این حالت مشکلی از بابت عدم دسترسی به بیشتر ویژگیهای vSphere بهوجود نمیآید، اما در مقابل نمیتوانید از نگاشتهای دستگاه خام (RDM) سرنام Raw Device Mappings برای اتصال یک دیسک فیزیکی بهشکل مستقیم به یک ماشین مجازی استفاده کنید.
- برخی از فروشندگان به مصرفکنندگان پیشنهاد نمیکنند از ذخیرهسازهای مبتنی بر NFS در مورد برنامههای حساس مثل Exchange استفاده کنند، زیرا ممکن است با تاخیر زمانی قابل توجهی روبهرو شوند. این تاخیر زمانی، به دلایل مختلفی بهوجود میآید. البته مشکل فوق بیشتر در ارتباط با تجهیزات ارزانقیمت NFS صادق است.
- NFS از مکانیزم چند مسیری از یک میزبان به سرور مبتنی بر پروتکل NFS پشتیبانی نمیکند. بهطوری که تنها یک نشست TCP به مخزن داده (datastore) NFS برقرار میشود که عملکرد را کاهش میدهد. این محدودیت را میتوان با استفاده از چند datastore کوچکتر بهجای datastoreهای بزرگتر یا با استفاده از اترنت 10 گیگابیتی (10 GbE) که در آن هر نشست به توان عملیاتی زیادی دسترسی دارد، کمرنگتر کرد. محدودیت چند مسیری بر دسترسپذیری بالا تاثیرگذار نیست، با اینحال، برای آنکه مطمئن شوید که دسترسپذیری در بهترین حالت خود قرار دارد، میتوانید از چند کارت شبکه در یک سوئیچ مجازی استفاده کنید.
با وجود محدودیتهایی که به آنها اشاره کردیم، بازهم دلایل خوبی وجود دارد که باعث میشوند عملکرد یک استوریج NAS نسبت به دستگاههای ذخیرهسازی سطح بلوک بهتر باشد. از جمله این دلایل به موارد زیر باید اشاره کرد:
- بیشتر دستگاههای ذخیرهسازی NFS بهطور پیشفرض از مکانیزم Thin Provisioning استفاده میکنند که نقش مهمی در استفاده بهینه از فضای دیسک دارد. در این حالت، دیسکهای مجازی کل فضای اختصاصدادهشده را مصرف نمیکنند.
- مکانیزم قفل فایل و صفبندی توسط دستگاه مبتنی بر NFS انجام میشود که میتواند در مقایسه با iSCSI/FC که در آن قفل و صف توسط سرور میزبان انجام میشود، عملکرد بهتری ارائه کند.
- NFS مانند یک دستگاه ذخیرهسازی سطح بلوک، یک صف ورودی/خروجی دیسک ندارد، بنابراین عملکرد بهتری ارائه میکند. عملکرد NFS بر مبنای پهنای باند شبکه و قابلیتهای آرایه دیسک ( نوع معماری RAID) متغیر است.
- هزینه پیادهسازی NAS کمتر از ذخیرهسازی سنتی FC است. دستگاههای NAS بهجای آداپتورهای HBA گرانقیمت، تنها به کارتهای شبکه معمولی نیاز دارند و از مولفههای شبکه سنتی بهجای سوئیچها و کابلهای گرانقیمت کانال فیبر استفاده میکنند.
- از آنجایی که NAS بیشتر پیچیدگیهای مدیریت فضای ذخیرهسازی مشترک را حذف میکند، در بیشتر موارد نیازی به استخدام مدیران شبکه و فضای ذخیرهسازی وجود ندارد. مدیریت فایلها در سرور NFS سادهتر از مدیریت LUNها در SAN است.
- فضای ذخیرهسازی مجازی مورد نیاز را میتوان با افزایش دیسک در سرور NFS بهراحتی گسترش داد، بدون آنکه مجبور شوید تغییری در پیکربندیها اعمال کنید. در این حالت، همه کارها بهشکل خودکار انجام میشود.
- عملیاتی مثل تهیه اسنپشاتها، تکثیر و کپی در سطح سیستم فایل بهجای LUN انجام میشود که انعطافپذیری بیشتری را ارائه میکند.
همانگونه که مشاهده میکنید، NAS مزایای کلیدی خوبی را ارائه میکند و حتا بهدلیل وجود برخی معایب نباید از بهکارگیری آن در ارتباط با ماشینهای مجازی صرفنظر کنید. مشکلات بیشتر پیرامون محصولات با کیفیت پایین یا استوریجهایی هستند که برای کاربردهای ساده طراحی شدهاند، اما برخی شرکتها برای کارهای حرفهای قصد استفاده از آنها را دارند. بر مبنای یک معماری دقیق و مدیریت درست بارهای کاری ماشینهای مجازی که روی میزبان مدیریت میشوند، NAS میتواند انتخاب خوبی همانند دستگاههای ذخیرهسازی سطح بلوک باشد.
آیا NAS عملکرد قابل قبولی ارائه میکند؟
بیشتر کارشناسان شبکه و فناوری اطلاعات، NAS را بهعنوان جایگزینی ایدهآل برای ذخیرهسازی سطح بلوک در مورد سرورهای مجازی میدانند، زیرا عملکرد قابل قبولی ارائه میکند. در بیشتر موارد، عملکرد NAS با یک FC SAN برابر نیست، اما اگر از یک معماری کارآمد مبتنی بر پروتکل NFS استفاده کنید، بهراحتی قادر به مدیریت بارهای کاری در حالت حداکثری هستند. برخی کارشناسان شبکه، iSCSI را با NAS مقایسه میکنند، زیرا هر دو جایگزین کمهزینهای برای ذخیرهسازی کانال فیبر هستند و هر کدام میتوانند از زیرساختهای اترنت موجود استفاده کنند. VMware Inc پژوهشی انجام داده و عملکرد ماشینهای مجازی را در دستگاههای ذخیرهساز NAS، iSCSI و FC مقایسه کرده است. نتایج این تحقیق نشان میدهد که عملکرد NAS و سختافزار و نرمافزار iSCSI تقریبا یکسان است. به بیان دقیقتر، تا زمانیکه پردازنده مرکزی مشکل گلوگاه بهوجود نیاورد، حداکثر توان عملیاتی که هر دو فناوری iSCSI و NFS ارائه میکنند محدود به پهنای باند در دسترس شبکه خواهد بود. iSCSI نرمافزاری و NFS هر دو کارآمدتر از کانال فیبر و iSCSI سختافزاری در هنگام نوشتن بارهای کاری هستند، البته بهشرطی که اندازه بلوکهای نوشتن، کوچک (کمتر از 16 کیلوبایت) باشد. در مورد بلوکهای بزرگتر، از چرخههای بیشتر پردازنده مرکزی استفاده میکنند که باعث میشود iSCSI نرمافزاری و NFS نسبت به iSCSI سختافزاری و کانال فیبر عملکرد کمتری داشته باشد.
دستیابی به بهترین عملکرد NAS به چند عامل بستگی دارد. اولین مورد، داشتن منابع کافی و پردازندههای مرکزی پرقدرت است. در این حالت پردازنده مرکزی هنگام پردازش پروتکل NFS با مشکل گلوگاه روبهرو نمیشود. در این مورد باید مطمئن شوید که زمان پردازنده مرکزی میزبان بیشازاندازه توسط ماشینهای مجازی مصرف نمیشود. متاسفانه، هیچ راهی برای اولویتبندی یا رزرو منابعی مثل پردازنده مرکزی برای پردازش پروتکل NFS وجود ندارد، بنابراین باید مطمئن شوید که حجم بار کاری روی میزبان بهگونهای تنظیم شده که توانایی رسیدگی به بارهای کاری پروتکل NFS را داشته باشد. استفاده از فناوریهایی مثل VMware’s Distributed Resource Scheduler به تعادل بارهای کاری پردازنده بهطور مساوی بین میزبانها کمک میکند.
عامل دوم معماری شبکه است. عملکرد ذخیرهسازی NAS بهشدت به وضعیت و پیکربندی شبکه و نحوه استفاده از آن بستگی دارد. در این حالت، باید ترافیک NAS را روی کارتهای شبکه فیزیکی اختصاصی که با ماشینهای مجازی بهاشتراک گذاشته نشدهاند، ایزوله کنید. همچنین، باید اطمینان حاصل کنید که از یک شبکه ذخیرهسازی ایزوله فیزیکی استفاده میکنید که به میزبان و سرورهای NFS اختصاص داده شده و با هیچ ترافیک شبکه دیگری بهاشتراک گذاشته نشده است. کارتهای شبکه دارای محدودیت سرعت هستند، بهطور مثال، کارتهای شبکه 1 گیگابیت بر ثانیه برای کاربردهای روزمره توان عملیاتی خوبی را ارائه میکنند، اما اگر ترافیک شبکه افزایش پیدا کرد و NFS مجبور شد به بارهای کاری بیشتری پاسخ دهد، باید بهفکر تهیه کارتهای شبکه 10 گیگابیت بر ثانیه باشید. البته ترفندهایی برای مدیریت هوشمندانه ترافیک وجود دارد که میتوانید از آنها برای افزایش عملکرد استفاده کنید. از جمله این فناوریها باید به «فریمهای جامبو» (Jumbo Frames) اشاره کرد.
سومین عامل تعیینکننده در زمینه بهبود عملکرد NFS نوع دستگاه ذخیرهسازی NAS است که از آن استفاده میکنید. به بیان دقیقتر، در هنگام خرید استوریجهای NAS باید الزامات کسبوکار را بررسی کنید، تخمینی در ارتباط با عملیات ورودی/خروجی که ماشینهای مجازی خواهند داشت بهدست آورید تا بتوانید گزینه مناسبی را خریداری کنید. اگر از یک سرور فیزیکی قدیمی بهعنوان سرور NFS استفاده کنید، نباید انتظار داشته باشید که بتواند بدون مشکل به نیازهای کاری ماشینهای مجازی بدون مشکل پاسخ دهد.
کلام آخر
در سالهای گذشته، NAS بهدلیل پشتیبانی محدود توسط فروشندگان مجازیسازی، جایگزین مناسبی در ارتباط با مجازیسازی نبود. اکنون شرایط تغییر کرده است و NFS بهطور کامل توسط NASها پشتیبانی میشود. همچنین، NFS در زمینههای مختلفی مثل هایپروایزر، اشتراکگذاری و ذخیرهسازی فایلها و غیره به بلوغ و تکامل رسیده تا به بستری مناسب برای مجازیسازی تبدیل شود.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟