سیستم فایل شبکه یا NFS که مخفف Network File System است به کاربران امکان میدهد تا به فایلهای ذخیره شده در سرورهای ریموت دسترسی پیدا کنند. همچنین، دسترسی کاربران به فایل ها، مشابه سیستم شما می باشد، با اینکه فایل ها در سرور ریموت قرار دارند. NFS مزایایی از نظر امنیت و قابلیت مقیاسپذیری نیز برای کاربران به همراه دارد. به عنوان مثال، فروشنده ای که در طول سال به شهرهای مختلف سفر میکند، میتواند همانند سیستم محلی، با استفاده از NFS توسط لپ تاپهای مختلف به فایلهای مورد نیاز دسترسی داشته باشد. زیرا فروشنده میتواند به یک سرور شبکه مرکزی از طریق ریموت متصل شده و با فایلهای ذخیره شده در آنجا کار کند، حتی اگر این فایلها به طور فیزیکی روی سیستم مشخصی قرار نداشته باشند. در محیطهای UNIX، از سیستم فایل شبکه یا NFS به طور گستردهای برای اشتراک گذاری فایل بین کاربران و کامپیوترهای مختلف با دسترسی خواندن یا نوشتن، استفاده میشود.
تصویر(1)
NFS یک پروتکل متن باز است که از استاندارد TCP/IP برای ارتباط استفاده میکند و به عنوان استانداردی جهت توزیع داده شناخته می شود. سیستم فایل شبکه یا NFS به سازمانها امکان میدهد تا آن را به صورت مجازی روی هر کامپیوتر یا سیستم عاملی استفاده کنند. NFS در سال 1985 معرفی شد و چندین بار بروز شده است. نسخه فعلی آن NFSv4 می باشد.
نسخه اول NFS در سال 1985 جهت کمک به فرایند اتصال هاست های UNIX به کامپیوترهای ریموت ایجاد شد. سپس در سال 1989، NFSv2 منتشر شد تا اتصال بین میزبانهای UNIX و کامپیوترهای ریموت با استفاده از شبکه TCP/IP را بهبود بخشد. در سال 1994، NFSv3 منتشر شد و ویژگیهای بیشتری را اضافه کرد و سیستم را برای شبکهبندی کارآمد تر کرد. از نکات برجسته NFSv4 نیز می توان به امنیت، یکپارچگی داده و بهبود عملکرد اشاره نمود.
روش کار سیستم فایل شبکه یا NFS
سیستم فایل شبکه یا NFS با استفاده از معماری client-server پیادهسازی میشود. در این معماری، یک کامپیوتر به عنوان سرور و سایر کامپیوترها به عنوان کلاینت عمل میکنند. کامپیوتر کلاینت درخواست داده را صادر میکند و کامپیوتر سرور باید آنها را برآورده کند. دو نوع درخواست توسط کامپیوترهای کلاینت ارسال می گردد که شامل "خواندن" و "نوشتن" می شود.
کامپیوتر کلاینت درخواست خواندن را به سرور ارسال میکند تا داده را بخواند. همچنین میتواند درخواست نوشتن را به کامپیوتر سرور ارسال نماید تا روی داده بنویسد. درخواستهای خواندن و نوشتن با استفاده از عملیات استاندارد read/write پیادهسازی میشوند. کامپیوتر سرور درخواست را با استفاده از پروتکل مربوطه برآورده میکند و سپس داده را به کامپیوتر کلاینت باز میگرداند.
تصویر(2)
همانطور که مشاهده می کنید، تمام درخواستهای داده از سمت NFS client ها، از NFS Server عبور میکند. سرور اطلاعات درخواستی را از storage فراخوانی کرده و آنها را به NFS client ارسال می نماید.
سیستم فایل شبکه یا NFS دارای ویژگیهای نرمافزاری برجسته ای همچون پشتیبانی امنیتی و امکان قفلگذاری فایلها است. برای اطمینان از اینکه دسترسی به فایل اشتراکی صحیح است، باید تعیین شود که چگونه قفلگذاری و کشینگ فایلها انجام شود. اگر این تنظیمات مشخص نشوند و دادههای فایل فقط در حافظه موقت میزبان ذخیره گردند، در زمان کار با فایلهای به اشتراک گذاشته شده، همه کاربرانی که به محل ذخیره NFS دسترسی دارند، از پارامترهای قفلگذاری و کشینگ یکسانی برای فایل سیستم مونت (mount) شده استفاده خواهند کرد.
مزایای سیستم فایل شبکه یا NFS
استفاده از NFS بسیار آسان است و نیازی به پیکربندی پیچیدهای ندارد. تنها کافی است وارد سرور شوید و پوشههای مورد نیاز خود را ایجاد کنید. طراحی آن به گونهای انجام شده است که استفاده از آن برای کاربران مختلف آسان باشد. با NFS نه تنها میتوانید فایلها را بین کامپیوترهای مختلف به اشتراک بگذارید، بلکه امکان اشتراک گذاری فایلها با کامپیوتر ریموت نیز وجود دارد.
همچنین NFS برای کاربران خود امنیت لازم را فراهم میکند. روش کار آن بدین شکل است که از فرایند احراز هویت قوی استفاده نموده تا فقط افراد مجاز به دادههای شما دسترسی داشته باشند. با سیستم فایل شبکه یا NFS، میتوانید فایلهای بزرگ را به اشتراک بگذارید بدون اینکه مجبور باشید آنها را به بخشهای کوچکتر تقسیم کنید. این ویژگی برای سازمانها بسیار مفید است زیرا امکان همکاری و اشتراک گذاری داده را برای بخش های مختلف آن فراهم می کند که در نهایت منجر به افزایش بهره وری خواهد شد.
نکته جالب دیگر درباره NFS این است که میتواند دادهها را از مکانهای مختلف جمع آوری کرده و همه را با هم ذخیره کند. بنابراین، اگر دادههایتان در مکانهای مختلفی قرار دارند، NFS میتواند همه را گردآوری و سازماندهی نماید. این امر به سازمانها کمک میکند تا مراکز داده خود را بیشتر بهینه سازی کرده و با تجمیع فضای ذخیرهسازی خود، هزینهها را کاهش دهند.
از زمان انتشار اولین نسخه NFS، چندین بازنگری روی آن انجام شده و با هر بروزرسانی، عملکرد آن بهبود یافته است. توسط NFS، سازمانها میتوانند با حذف محدودیتهای مرتبط و دسترسی به دادههای راه دور، عملکرد خود را بهبود بخشند. علاوه بر این، NFS با حذف تأخیر در شبکههای گسترده (WAN)، دسترسی سریعتری را به دادهها فراهم میکند.
از امکانات دیگر NFS، بازیابی بحرانی است. سازمانها همچنین میتوانند از NFS برای ایجاد یک برنامه بازیابی بحران استفاده کنند. در صورت وقوع یک فاجعه، مدیران میتوانند از سیستم فایل شبکه یا NFS برای ایجاد یک نسخه مجازی از دادههای خود در محل دیگر استفاده کنند.
در نتیجه، NFS یک پروتکل امن است که از دسترسی غیرمجاز به دادهها جلوگیری میکند. همچنین این پروتکل به سازمانها امکان میدهد تا فعالیتهای کاربران ریموت را مورد حسابرسی و نظارت قرار دهند.
معایب سیستم فایل شبکه یا NFS
NFS هنوز یکی از پراستفادهترین پروتکلها برای به اشتراک گذاری فایل است زیرا امکانات و خدمات گستردهای را فراهم میکند. در ادامه به بررسی برخی از معایب استفاده از NFS پرداخته خواهد شد.
NFS با مشکل همگام سازی (synchronization) روبرو است و هیچ گونه همگام سازی بین مشتری و سرور فراهم نمیکند. به این معنی که دادهها در رایانه ریموت با دادههای رایانه مشتری هماهنگ یا سینک نیستند.
زمانی که کاربران میخواهند به یک فایل در سرور دسترسی پیدا کنند، باید از طریق شبکه به رایانه منتقل شود. در شبکههای کند، ممکن است دسترسی به فایل زمان زیادی ببرد. بنابراین، مدت زمان دسترسی به فایل با استفاده از NFS بسته به سرعت و اندازه شبکه می تواند کند باشد.
همانطور که مشاهده می کنید، تمام درخواستهای مشتری از طریق NFS Server منتقل می شوند. بنابراین اگر سرور خراب شود، هیچ راهی برای دسترسی به فایلها وجود ندارد. علاوه بر این، شبکه NFS فقط از یک میزبان پشتیبانی میکند. بنابراین، امکان اشتراک گذاری فایلها بین سرورهای مختلف وجود ندارد زیرا ساختار شبکه NFS فقط اجازه استفاده از یک سرور را میدهد. همچنین لازم به ذکر است که سیستم فایل شبکه یا NFS از مدیریت سلسلهمراتبی ذخیرهسازی پشتیبانی نمیکند.
نتیجهگیری
مزایای اصلی استفاده از سیستم فایل شبکه یا NFS شامل ذخیرهسازی متمرکز دادهها، افزایش کارایی، امنیت داده و قابلیت مقیاسپذیری است. با این حال، این روش برای به اشتراک گذاری دادههای حساس در شبکههای عمومی مناسب نیست و از سیستم مدیریت سلسلهمراتبی اطلاعات پشتیبانی نمیکند.