درس یکصد و سی و سوم: آشنایی با مفاهیم DFS

آشنایی با مفاهیم DFS

 

 

معرفی                     

 فرض کنید که هر یک از کاربران عادی شبکه می دانند که برای دسترسی به shared folder روی  file server باید در کادر Run ویندوز یا درس نوار آدرس صفحه Windows Explorer آدرس \\Server-A\public را تایپ کنند . به هر دلیلی بعد از مدتی شما بعنوان مدیر شبکه تصمیم میگیرید که فولدر Public را از روی  server-A بردارید و بر روی سرور دیگری به نام server-D  قرار دهید . هنگامی که شما این کار را انجام دادید، دیگر هیچیک از کاربران نمی توانند از آدرس قبلی برای دسترسی به فولدر Public  استفاده کنند، زیرا نام سروری که این فولدر بر روی آن قرار دارد عوض شده است. اینجاست که شما باید به دنبال راهی برای اطلاع رسانی به کاربران در مورد تغییر آدرس باشید . یکی از راهها استفاده از e-mail از طریق Exchange server  برای اطلاع رسانی می باشد که هیچ تضمینی نیست که کاربران به پیام های شما توجه کنند و ناآگاهانه به خاطر در دسترس نبودن فولدر Public به شما اعتراض نکنند. ( راه دیگر هم اینست که یک بلندگو بردارید و در کل محیط شرکت بچرخید و در مورد تغییر صورت گرفته حضورا اطلاع رسانی نمایید.(

در محیط شبکه شرکت های بزرگ ، ویندوز Server 2016 ابزاری به نام Distributed File System یا DFS را در اختیار مدیر شبکه می گذارد. این ابزار یک ساختار منطقی از فولدر های share شده که بر روی چندین سرور قرار دارند را در اختیار کاربران قرار می دهد. DFS  ابزاری است که این امکان را به کاربران شبکه می دهد که برای دسترسی به تمامی فولدر های شبکه از یک نام واحد استفاده کنند و به همین دلیل است که مشکل گفته شده در شبکه دیگر به وجود نمی آید. زیرا دستیابی به فولدر های share شده دیگر وابسته به دانستن آدرس دقیق UNC فولدر ها نیست و مدیران شبکه می توانند به راحتی file server را تغییر دهند و اسناد و فولدر ها را بدون اطلاع کاربران عادی از روی یک سرور به سرور دیگر جابجا نمایند.

نیز DFS ابزاری کارآمد است جهت Replicate کردن فایلها و فولدرها بین file server های موجود در شعب مختلف سازمان.

  

 

مفاهیم

در حقیقت DFS دارای یک فولدر به اشتراک گذاری شده (ریشه) با یک نام ثابت است که درون آن لینک های تمامی فولدر های شبکه وجود دارد و کاربران از طریق همین فولدر ثابت (ریشه) می توانند به تمامی فولدر های شبکه دسترسی داشته باشند. و در صورت عوض شدن مسیر یک فولدر، تنها کاری که مدیر شبکه باید انجام دهد اینست که لینک مربوط به آن فولدر ریشه را اصلاح نماید.

در ضمن DFS ما را قادر میسازد که فایل سرور خود را روی چندین سرور ایجاد کنیم. کاربر نهایی نیازی به دانستن اسم آن سرورها ندارد بلکه با یک کل واحد سروکار دارد. کاربران پس از اتصال به ریشه DFS به تمام زیرمجموعه های ریشه ( فارغ از محل و سرور آن منابع) میتوانند دسترسی داشته باشند.

ساختار DFS تشکیل شده است از درختی با یک ریشه و تعدادی لینک. هر ریشه میتواند دارای چندین لینک در زیرمجموعه خودش باشد که هر لینک به یک فولدر اشتراکی مرتبطند. فولدرهایی که از نظر فیزیکی ممکن است روی سرورهای مختلفی باشند

به منظور پیکربندی DFS باید با اجزای آن آشنا باشید که به قرار زیر می باشند :

NameSpace ریشه  : نامی است که برای کاربران شبکه قابل دیدن است و کاربران از این نام برای دسترسی به فولدر های file Server استفاده می کنند. این نام شروع سلسله مراتب DFS است و در حقیقت به شکل یک فولدر ثابت به اشتراک گذاری شده در شبکه است که درون آن لینکهایی قرار دارد که ما را به فولدر های اشتراکی فایل سرور هدایت می کند .به شکل ذیل دقت کنید:

133-1- DFS Namespace concept

شکل فوق ساختار پیاده سازی File server ها در یک دامین را نشان میدهد وقتی که DFS پیاده سازی نشده باشد. این دامین دارای سه عدد Server در سه مکان فیزیکی مختلف ( لندن، نیویورک و سیدنی) میباشد. هر کدام از file server ها برای شعبه متبوع خود فولدری را به نام Sales به اشتراک گذاشته اند. اکنون کاربران هر شعبه برای دسترسی به فولدر Sales باید آدرسهای UNC را بصورتهای ذیل وارد کنند:

  • کاربران شعبه لندن باید آدرس \\LON-SVR1\Sales را وارد کنند.
  • کاربران شعبه نیویورک باید آدرس \\NYC-SVR1\Sales را وارد کنند.
  • و کاربران شعبه سیدنی نیز باید آدرس \\SYD-SVR1\Sales را وارد کنند.

پس سه موضوع قابل توجه میباشد:

  • کاربران هر شعبه میدانند که دقیقا به کدام File Server متصل میشوند.
  • احتمالا فولدر Sales موجود در SYD-SVR فقط شامل فایلهای مربوط به شعبه سیدنی هست. کاربر شعبه سیدنی جهت دسترسی به محتویات مربوط به شعبه نیویورک باید آدرس \\NYC-SVR1\Sales را وارد کند و اگر ارتباط شبکه ای بین سیدنی و نیویورک قطع باشد، نهایت خوش شانسی کاربر میتواند در این باشد که مکانیزم offline cache وجود داشته باشد و گرنه که باید منتظر برقرار شدن ارتباط بماند.
  • یا ممکن است مدیران شبکه محتویات فولدر Sales را بین هر سه شعبه Replicate کنند و لذا محتویات فولدر Sales در هر سه شعبه یکسان باشد. اینکه replication چطور و چگونه صورت بگیرد خیلی مهم است.

این مشکلات ما را به استفاده از DFS  سوق میدهد. در پیاده سازی DFS یکی از اهداف اینست که کاربر متوجه اتفاقات پشت صحنه نباشد. یعنی نداند که مستقیما به کدام file server متصل است و لذا در مواقع وجود مشکل در ارتباطات شبکه ای آب تو دل کاربر تکان نخورد. نیز هدف دیگر اینست که بتوان بسادگی و در یک مکانیزم منظم محتویات فولدرهای share شده را در شعب مختلف replicate کرد و لذا محتویات یکسانی در اختیار کاربران همه شعب باشد. برای اینکه همه کاربران همه شعب آدرس کاملا یکسانی را وارد کنند و نیز درخت ساختار DFS شکل بگیرد در درجه اول باید ریشه درخت را تعیین کرد. معمول است که نام خود دامین بعنوان namespace انتخاب شود ولی قانون نیست. اگر شبکه ای که در شکل بالا مشاهده کردید، متعلق به دامین Adatum.com باشد، مدیر این دامین، DFS را روی file server شعبه اصلی ( مثلا لندن) نصب کرده و namespace را ایجاد میکند. مدیر فوق میتواند هر نامی برای namespace انتخاب کند در اینجا کلمه Sales بعنوان namespace انتخاب میشود. دقت کنید که این Sales فقط یک اسم است و نه یک آبجکت. میتوانست هر اسم دیگری نیز باشد. اکنون فولدر sales در هر سه شعبه یکی از شاخه های درخت DFS میباشد. در هر سه شعبه اکنون کاربران باید آدرس ذیل را وارد کنند:

\\adatum.com\Sales

معمولا در آدرس UNC نام دامین قبل از namespace قرار میگیرد. در مثال بالا نیز نام دامین یعنی adatum.com قبل از namespace قرار گرفته است.

اکنون هیچ کاربری نه میداند و نه برایش اهمیتی دارد که بداند و نه میتواند بداند که این adatum.com\Sales کجا هست. ساختار قبلی به ساختار ذیل تبدیل شده است:

133-2- create DFS

پیوند ( لینک- New Folder ):  عنصری است که درون ریشه namespace  قرار میگیرد و اتصال بین ریشه و  فولدر های به اشتراک گذاری شده درون شبکه را برقرار میکند. در حقیقت یک لینک است که اشاره میکند به فولدر share شده در شبکه. کار پیوندها همانند کار لینک ها در صفحات وب است .

هدف ( Folder Target ) : در واقع خود فولدر share شده اصلی میباشد. Folder Target در واقع همان آدرس UNC یک فولدر share شده میباشد که یک لینک از آن برای هدایت کاربران به یک مقصد خاص در شبکه استفاده می کند.

در آدرس \\adatum.com\Sales

  • com نام دامین است
  • Sales یک namespace است.
  • Folder target نیز فولدری به نام Sales است ( احتمالا)

نکته: همواره به تفاوت بین کلمات folder و target folder دقت کنید. اولی فقط یک لینک است. دومی یک فولدر ( پوشه) است که به اشتراک گذاشته شده است. Target folder از طریق folder به namespace متصل است. البته ما در این درسها جهت جلوگیری از گیج شدن خواننده تا جای ممکن سعی میکنیم بجای کلمه folder یا new folder از همان کلمه link استفاده کنیم.

Replication:  در حقیقت یک کپی از فولدر های اشتراکی می باشد که بر روی یک سرور دیگر ( نقش DFS باید بر روی آن سرور نصب شده باشد ) قرار می گیرد . سرویس FRS  (file Replication Service ) که با آن تا حدی در درس AD DS Replication آشنا شدید، مراقب است که محتویات هر دو فولدر بصورت Sync باقی بماند . استفاده از Replication ها تحمل خرابی در DFS را ممکن می سازد ولی باید توجه کرد که بدلیل Synchronization فایل ها میان دو سرور ممکن است ترافیک شبکه بالا برود . پس در استفاده از Replication ها باید دقت کرد و فقط از فولدر های بسیار مهم و حساس Replication ( کپی ) برداریم .

133-3 DFS Structure diagram

شکل بالا پیاده سازی DFS را در دامینی به نام testing.local نمایش میدهد. در این شکل:

  • NameSpace : خود عبارت dfs است.
  • لینک: link1 تا link9 که به فولدرهای share شده اشاره میکنند.
  • Folder target : هر کدام از فولدرهای share1 تا share3 روی سرورها

در این دامین وقتی user ها عبارت \\testing.local\dfs\link1 را وارد میکند، هدایت میشود به فولدر share شده ای که share1 نام دارد. این فولدر هم روی server1 قرار دارد و هم server4 و توسط عملیات DFS Replication محتوای این فولدر همیشه روی دو سرور یکسان است. کاربر درکی از این موضوع ندارد که بصورت فیزیکی فولدر share1 روی کدام ماشین متصل است. اصولا نه از server1 اطلاع دارد و نه از server4 و حتی در صورت لزوم ممکن است نداند که link2 نیز وجود دارد. حتی نمیداند که وقتی عبارت بالا را وارد میکند، در واقع به فولدری به نام sahre1 متصل است. کاربر فقط از \\testing.local\dfs\link1 خبر دارد.

133-4 DFS Structure diagram 2

در این شکل هم کاربران فقط از folder Target 1 یا folder Target 2 یا folder Target 3 اطلاع دارند. هیچکدام نمیدانند که کدام فولدر روی کدام سرور قرار دارد. یا حتی نمیدانند که فولدرهای دیگری نیز وجود دارند.

133-5 DFS example

در شکل بالا روی هر کدام از سرورهای FS1 و FS2 و FS3 فولدری به نام Public ایجاد و Share شده است. یک namespace نیز ایجاد شده است به نام Public که فولدرهای Public هر سه file Server به آن map شده اند. یعنی روی namespace فوق سه لینک ایجاد شده است که یکی به FS1\\PUBLIC اشاره میکند. دیگری به FS2\PUBLIC اشاره دارد و سومی نیز به FS3\PUBLIC . کاربرنهایی باید آدرس \\Contoso.com\public  را وارد کند که در آن:

  • Namespace: Public
  • Target folder: \public on FS1, and \public on FS2 and \Public on FS3

 

 

مزایای استفاده از DFS

  • مدیریت : اگر یک سرور دچار مشکل شود، میتوان لینک را به یک سرور دیگر انتقال داد بدون اینکه کاربران شبکه متوجه شده و دچار مشکل شوند. تنها باید فولدر DFS طوری ادیت شود که به موقعیت جدید بدرستی اشاره کند.
  • NameSpace: کلاینتها با استفاده از یک فضای نام منفرد ( ریشه درخت) به فایل ها دسترسی پیدا میکنند که بر خلاف روش های سنتی مانند UNC و MAP Drive است.
  • صرفه جویی در حافظه
  • Load Balancing و Fault Tolerance
  • داشتن قابلیت توسعه در آینده بسته به نیازهای سازمان
  • Permissions : نیازی به تعیین مجوزهای جداگانه ندارد و مستقیما از مجوزهای Active Directory میتواند بهره گیرد.
  • داشتن قابلیت Caching
  • یکپارچگی با IIS : در صورتی که صفحه ورودی بطور فیزیکی از یک سرور به سرور دیگر انتقال یابد، لینک هایی که به صفحات دیگر اشاره میکنند نیازی به آپلود شدن در صفحه اول ندارند. ( مگر اینکه صفحه ورودی کلا پاک شود و روی یک سرور دیگر از ابتدا ایجاد شود)

 

 

محدودیت های DFS

  • حداکثر تعدد کاراکترها در مسیر فایل : 260 کاراکتر
  • حداکثر تعداد معادل ها در ولوم : 32
  • حداکثر تعداد ریشه ها در سرور : 1
  • حداکثر تعداد ریشه ها در دامین: نامحدود

 

ضمایم5

  • 133-1- DFS Namespace concept
  • 133-2- create DFS
  • 133-3 DFS Structure diagram
  • 133-4 DFS Structure diagram 2
  • 133-5 DFS example
مشاهده همه افزودن یک یادداشت
شما
دیدگاه خود را وارد کنید
رفتن به نوار ابزار