سیستم عامل ها برای ارتباط با دستگاه های جانبی از Channel Connection استفاده می کنند. پروتکل های Channel Connection به دلیل ویژگی ذاتی شان، امکان ارسال سریع اطلاعات را کمترین بار پردازشی اضافی برای پردازنده فراهم می سازند اما این تکنولوژی ها دارای محدودیت هایی نظیر بعد مسافت و تعداد تجهیزات قابل اتصال می باشد. بر خلاف تکنولوژی channel، تکنولوژی های network انعطاف پذیری بیشتری در اتصال در فواصل طولانی را دارا می باشد این تکنولوژی امکان اتصال تجهیزات بیشتری را در اختیار قرار میدهد اما با افزایش تجهیزات در این تکنولوژی سربار پردازشی بیشتر و کارایی به طبع کاهش می یابد.
تکنولوژی FC یکپارچگی جامعی از تکنولوژی network و channel را در خود گنجانده است این پروتکل دارای سربار پردازشی بسیار پایینی می باشد در حالی که امکان تجهیزات جانبی زیادی را فراهم می نماید. پروتکل FC امکان انتقال اطلاعات به صورت Serial را از طریق بستر فیبر نوری و کابل های مسی فراهم می سازد.
پروتکل FC زیر ساخت مورد نیاز برای FC SAN را شکل می دهد. این پروتکل بسته های SCSI را بر روی شبکه FC کپسوله می کند که این امر موجب می شود تا بعد مسافت بر روی دیتا تاثیر مخربی نداشته باشد.تجهیزات ذخیره سازی به FC SAN متصل می شوند مانند تجهیزات Locally Attached به سیستم عامل ها و Hypervisor ارایه می شود.
FC Protocol Stack
شکل فوق ساختار لایه های مختلف پروتکل FC را نشان می دهد. پروتکل FC دارای 5 لایه می باشد که لایه FC-3 هنوز دارای کاربرد خاصی نمی باشد و فعلا implement نشده است.
لایه FC-4
بالاترین لایه در پروتکل FC می باشد. رابط برنامه ها در این لایه تعریف می شود.پروتکل هایی که در این لایه پشتیبانی می شوند عبارتند از : SCSI,ATM,IP,HIPP و ESCON
لایه FC-2
این لایه وظیفه ادرس دهی FC را بر عهده دارد. سازمان دهی داده ها از قبیل frame بندی و sequence و exchange) در این لایه انجام می شودوضمنا flow control, class of service, fabric service و مسیر یابی در این لایه انجام می شود.
لایه FC-1
در این لایه نحوه encoding داده ها قبل از ارسال و نحوه decode آن بعد از دریافت تعریف می شود. در این لایه کاراکتر های 8 بیتی به 10 بیت encode می شود سپس ارسال می شود بعد از دریافت توسط نود دریافت کننده مجددا 10 بیت به 8 بیت decode می شود. لینک های FC با سرعت 10Gb یا بیشتر، از الگوریتم های encoding 64 بیتی استفاده می کند. محدود کننده فریم های FCدر این لایه تعریف می شوند. این لایه عملیات Link Initialization و error Recovery را نیز انجام می دهد.
لایه FC-0
این لایه، پایین ترین لایه پروتکل FC می باشد. در این لایه physical interface و رسانه انتقال مانند کانکتور و کابل ها تعریف می شود همچنین سرعت انتقال اطلاعات نیز در این لایه بررسی می شود.
آدرس دهی در Fabric
آدرس های FC به صورت پویا به نود ها هنگام لاگین به Fabric، تخصیص می یابد.آدرس FC دارای قابل مشخص و محدودی است این قالب از موارد زیر تشکیل شده است:
Domain ID
اولین فیلد از بسته FC می باشد. Domain ID یک شناسه می باشد که برای هر سن سوییچ در Fabric یکتا می باشد. این فیلد هشت بیتی می باشد .لازم به ذکر است که تنها 239 ادرس برای Domain ID در دسترس خواهد بود و باقی ادرس ها مانند FFFFC برای Name Service و FFFFFE برای Fabric Login Service رزرو شده است.
Area ID
این فیلد برای شناسایی محل قرار گیری Group Port در سن سوییچ استفاده می شود.
Port ID
این فیلد نمایانگر شماره پورت بر روی Group Port می باشد.
با توجه به شکل فوق حداکثر تعداد پورت ها در یک Fabric برابر با :
Domain ID * Area ID * Ports = 239 * 256 * 256 = 15,663,104 ports
WWN چیست؟
هر تجهیزی در محیط FC دارای یک شناسه منحصر به فرد 64 بیتی به نام World Wide Name یا همان WWN می باشد. در محیط های FC از دو نوع WWN استفاده می شود که عبارتند از :
WWNN
این ID برای شناسایی FC HBA Adapter استفاده می شود.
WWPN
این ID برای شناسایی پورت های Adapter استفاده می شود.
برای مثال در یک HBA Card Dual-Port یک شناسه WWNN برای HBA و دو شناسه WWPN برای پورت ها داریم.
بر خلاف آدرس های FC که به صورت پویا به نود ها تخصیص می یافت، WWN به صورت ایستا بر روی HBA قرار دارد لازم به ذکر است WWN در پروتکل FC مشابه MAC ادرس در LAN می باشد. FC SAN از WWN برای شناسایی ذخیره سازها و HBA استفاده می نمایند. WWN در FC SAN بسیار با اهمیت می باشند از این رو هر تجهیزی برای بر قراری ارتباط با سایر تجهیزات در FC SAN ابتدا می بایست WWN خود را در FC SAN رجیستر نماید. Name Server در لایه FC SAN وظیفه نگهداری WWN را بر عهده دارد.
ساختار FC Data
FC Data در قالب Exchange, Sequence و Frame سازماندهی می شوند. اگر یک شبکه FC را مانند مکالمه دو شخص تصور کنیم frame مانند کلمه، sequence مانند جمله و exchange مانند یک مکالمه تفسیر خواهد شد. در ادامه موارد فوق بررسی خواهد شد:
Exchange
عملیات Exchange امکان شناسایی و مدیریت Information Unit بین دو نود پورت را فراهم می سازد. در واقع هر ULP(Upper Layer Protocol) اطلاعات مخصوص و منحصر به فرد خود را دارد که گاهی اوقات برای پاره ای از عملیات نیاز است به پورت دیگری ارسال شوند، این اطلاعات Information Unit نامیده می شوند. ساختار Information Unit در FC Layer-4 تعریف می شوند. Information Unit به Sequence ها map می شوند. در واقع هر Exchange از یک یا چند sequence تشکیل می شود.
Sequence
یک sequence از تعدادی frame پیوسته تشکیل شده است که از یک پورت به پورت دیگر ارسال می گردد. Sequence با Information Unit مطابقت دارد.
Frame
فریم ها fundamental unit در انتقال اطلاعات در لایه FC-2 هستند. یک فریم از پنج قسمت تشکیل می شود:
- Start of frame (SOF)
- Frame Header
- Data field
- Cyclic redundancy check (CRC)
- End of frame (EOF)
SOF و EOF نشان دهنده شروع و پایان یک فریم می باشند. frame Header شامل اطلاعات ادرس دهی می باشد طول این فیلد 24 بایت می باشد. Data field شامل اطلاعات (Actual Data) می باشد این فیلد می تواند تا 2112 بایت باشد محتویات این فیلد غالبا داده های SCSI می باشد. CRC نیز جهت خطایابی محتویات فریم استفاده میشود این checksum اطلاعات محتویات frame را بررسی می کند تا به درستی دریافت شوند همچنین CRC توسط فرستنده نیز قبل از encoding در لایه FC-1 ، محاسبه می شود این عمل متعاقبا پس از دریافت در مقصد توسط لایه FC-1 بعد ازdecode شدن، مجدد محاسبه می گردد.
سرویس های Fabric
تمامی سن سوییچ ها، فارغ از نوع و برند دارای سرویس های رایج مشترکی در استاندارد FC هستند این سرویس ها دارای آدرس های از پیش تعریف شده هستند. این سرویس ها عبارتند از :
Fabric Login Server
این سرویس دارای آدرس FFFFFE می باشد و در زمان لاگین اولیه توسط نود ها مورد استفاده می شود.
Name Server
این سرویس دارای آدرس FFFFFC می باشد. این سرویس مسئول ذخیره نام ها و مدیریت پورت های نود می باشد. هر سن سوییچ اطلاعات مربوط به Name Server Information را با سایر سن سوییچ ها در یک فبریک یکسان سازی می نماید تا اطلاعات فبریک در این حوزه همیشه Sync بماند.این سرویس Distributed Name Server نیز نامیده می شود.
Fabric Controller
این سرویس دارای آدرس FFFFFD می باشد. Fabric Controller هم به نود پورت ها و سایر سن سوییچ ها خدمات رسانی می نماید. این سرویس مسئول مدیریت و توزیع RSCN(Registered State Change Number) به نود پورت های یک فبریک که توسط Fabric Controller رجیستر شده اند، می باشد.چنانچه تغییری در فبریک رخ دهد، RSCN از سمت سن سوییچ به تمامی نود پورت های متصل به آن ارسال می گردد. RSCN توسط Fabric Controller برای سایر سن سوییچ های فبریک نیز ارسال می گردد RSCN موجب می شود تا اطلاعات Name Server همیشه بر روی سن سوییچ های فبریک Up-to-date بماند.
Management Server
این سرویس دارای آدرس FFFFFA می باشد. این سرویس اطلاعات مورد نیاز برای مدیریت فبریک را فراهم می سازد.
انواع پورت ها در Fabric Switch
N_Port
این پورت در واقع یک End point در لایه فبریک می باشد هم چنین از این پورت به عنوان Node Port یاد می شود. از این نوع پورت می توان به FC HBA Card بر روی سرور یا پورت های استوریج که به سن سوییچ متصل می شود، می توان اشاره نمود.
E_Port
به پورت های بر روی سن سوییچ F_Port می گویند.این پورت به عنوان Fabric Port نیز شناخته می شود.
E_Port
این پورت برای ارتباط بین دو سن سوییچ استفاده می شود. این پورت به عنوان Expansion Port نیز شناخته می شود. این پورت برای ارتباطات ISL(Interswitch Link) استفاده می شود.
G_Port
پورت های سن سوییچ ابتدا از این نوع هستند و پس از برقراری ارتباط با سایر نود ها به یکی از Type هایی که اشاره شد تبدیل می شود.
انواع لاگین در لایه فبریک
FLOGI (Fabric Login)
این عمل بین N_Port و F_Port رخ می دهد. برای لاگین کردن بر روی فبریک، هر نود ابتدا فریم های Flogi را به همراه پارامترهای WWNN و WWPN برایLogin Service با آدرس FFFFFEارسال می نماید سپس سن سوییچ لاگین را Accept کرده ACC به همراه آدرس FC برای نود ارسال می نماید. بلافاصله بعد از عملیات Flogi، N_Port خودش را توسط Name Server محلی بر روی سن سوییج رجیستر می نماید این اطلاعات شامل WWNN,WWPN,Port Type, Class Of Service و آدرس FC انتساب داده شده و .. می باشد پس از لاگین N_Port از طریق Name Serverاستعلام بقیه N_Port هایی که لاگین کرده اند، را انجام میدهد.
PLOGI (Port Login)
دو صورتی که دو N_Port با یکدیگر بخواهند Session برقرار کنند، عمل Plogi اتفاق می افتد.در این عمل ابتدا N_Port مبدا درخواستی را برای N_Port مقصد ارسال مینماید در صورت تایید، N_Port مقصد یک ACC برای N_Port مبدا ارسال می کند سپس هر دو n_port پارامترهای مورد نیاز برای سرویس ها را برای برقراری Session مبادله می نمایند.
PRLI (Process Login)
این لاگین نیز بین دو N_Portرخ می دهد. این لاگین به پروتکلهای FC-Layer4 مرتبط می شود به عنوان مثال در صورتی که ULP(Upper Layer Protocol) از نوع SCSI باشد، پارامتر های مربوط به SCSI مبادله می شود.
کنترل جریان (flow control)
کنترل جریان(flow control) مکانیزمی جهت کنترل میزان داده های قابل انتقال بین دو دستگاه می باشد این مکانیزم از Overflow شدن داده ها جلوگیری می کند. یک فبریک از مکانیزم Buffer-To-Buffer Credit برای کنترل جریان داده استفاده می کند. مکانیزم BB_Credit ممکن است بین دو پورت یک سن سوییچ اتفاق بیفتد.
در یک فبریک، یک فریم FC دریافت و در بافر دریافت(Receive buffer) ذخیره می شود سپس پردازش های مورد نیاز بر روی آن انجام می شود اما در صورتی که در حین پردازش فریم اول، فریم دیگری دریافت شود بافر دیگری برای ذخیره سازی فریم دوم نیاز است در صورتی که تمامی بافر های دریافتی (Receiving Buffer) پر شوند دیگر امکان دریافت فریم جدید امکان پذیر نخواهد بود و تمامی فریم ها drop می شوند. مکانیزم BB_Credit گارانتی می کند که بافر های دریافت(Receiving Buffer) پر نشوند و یا فریمی drop نشود.
با استفاده از مکانیزم BB_Credit ، پورت ارسال کننده و دریافت کننده بر روی تعداد بافرها توافق می کنند لازم به ذکر است این فرایند در زمان PLOGI بین دو پورت Negotiate می شود. زمانی که فریمی ارسال می شود مقدار credit یک واحد کاسته می شود و زمانی که یک response دریافت می شود مقدار credit یک واحد افزوده می شود. گیرنده فریم در صورت تحویل فریم از فرستنده یک پکت R_RDY ارسال می کند. مقدار credit به ازای هر بار R_RDY که توسط پورت دریافت کننده تحویل گرفته می شود، افزوده می شود. پورت ارسال کننده تعداد credit های باقیمانده و تعداد در دسترس را نگهداری می کند و تا زمانی که مقدار credit بیشتر از صفر باشد ارسال فریم را ادامه می دهد در صورتی که مقدار credit برابر با صفر شود ارسال فریم تا زمانی که این مقدار برابر با صفر باشد متوقف خواهد بود. مکانیزم BB_Credit ممکن بین دو N_Port یا F_Port و یا E_Port رخ دهد.
معماری FC
معماری FC از سه مدل ارتباطی پشتیبانی می کند:
Point-to-Point
در این مدل نود ها به صورت مستقیم به یکدیگر متصل می شوند. این روش مسیر ارتباطی اختصاصی برای انتقال اطلاعات بین نود ها را فراهم می سازد. اگر چه این مدل دارای توسعه پذیری پایینی می باشد و عموما در محیط های DAS مورد استفاده قرار می گیرد.
FC-AL
در این مدل، تجهیزات در یک Loop قرار می گیرند و برای استفاده از پهنای باند و I/O بیشتر با یکدیگر رقابت می کنند. در این مدل در هر لحظه تنها یک دستگاه قابلیت عملیات انتقال اطلاعات بر روی بستر را دارا می باشد. در این بستر سرعت انتقال اطلاعات پایین می باشد. اضافه شدن و یا کم شدن تجهیزات در Loop باعث Pause شدن چند لحظه ای ترافیک Loop خواهد شد.
FC-SW
در این مدل یک یا چند سن سوییچ به نود ها متصل می شود. یک Fabric در واقع به فضای منطقی که تمامی نود ها در آن با یکدیگر ارتباط برقرار می کنند. در یک Fabric، لینکی که ارتباط بین دو سن سوییچ را برقرار می کند، ISL(Interswitch Link) می گویند. در FC-SW شبکه Loop ایجاد نمی شود بلکه هر نود برای انتقال اطلاعات به نود های دیگر دارای مسیر اختصاصی می باشدFC-SW توسعه پذیری بسیار بالایی دارند همچنین حذف و یا اضافه شدن نود ها در این مدل با کمترین قطعی در شبکه رخ می دهد و تاثیری در ترافیک سایر نود ها ندارد.
امنیت SAN
یکی از مهمترین دغدغههای مهم سازمانها امنیت دادههای حیاتی آنها بر روی سیستمهای ذخیرهساز میباشد. پیادهسازی امنیت در شبکه SAN شامل چندین مرحله است که مهمترین آن در لایه Fabric و بر روی سیستمهای ذخیرهساز است.
Zoning
Zoning یکی از متدهای افزایش امنیت در SAN میباشد و با هدف جداسازی منطقی سرورهای متصل به لایه فابریک در جریان دسترسی به LUNها و سیستمهای ذخیرهسازی بکار میرود. ویژگی اصلی استفاده از Zoning در سوییچهای لایه Fabric جلوگیری از انتشار RSCN در سرتاسر Fabric میباشد. این مکانیزم از مهمترین ملزومات پیادهسازی موارد امنیتی در سطح سوییچها میباشد. سه روش برای پیادهسازی Zoning وجود دارد:
- Hard Zoning
در این روش مقیدسازی بر اساس WWPN پورتها انجام میشود.
- Soft Zoning
در این روش مقیدسازی بر اساس WWNها صورت میگیرد و محدودیت جابجایی پورت در سرتاسر سوییچ وجود ندارد.
- استفاده از Hard & Soft Zoning
این روش ترکیبی از دو روش بالا می باشد.
مکانیزم Zoning
در این مرحله بنا بر استانداردها و توصیه شرکت سازنده محصول ذخیره ساز هرکدام از نودهای(کنترلر) سیستمهای ذخیرهساز را به همراه یکی از کارتهای HBA در یک Zone قرار میدهیم. مراحل انجام عملیات Zoning :
1. تعریف Alias برای تمامی WWNهای موجود
2. مشخص نمودن نقشه ارتباطی و سیاست Zoneبندی Nodeها
3. گروهبندی هر پورت سرور با یک SP سیستم ذخیرهساز
Role Base Access Control
یکی از روشهای محدود سازی دسترسی به محیط فابریک استفاده از رولهای کاربر محور میباشد.Brocade FOS دارای رولهای از پیش تعیین شده میباشد که هرکدام از این رولها به سطح خاصی از دستورات محیط سوییچ دسترسی دارند.این نقشها به عنوان Role Based Access Control شناخته میشوندو به مجوز های ورود کاربران وابسته هستند.
طرح لایه فابریک
طراحی لایه فابریک مهمترین مرحله تعیین ارتباطات در ساختار شبکه انتقال اطلاعات SAN میباشد. این فاز از طراحی شامل تعیین نوع توپولوژی، مکانیزمهای امنیتی و طراحی اتصالات لایه فابریک می باشد.
در ادامه به اختصار به شرح این موارد میپردازیم.
توپولوژیهای لایه فابریک
این مرحله یکی از مهمترین مراحل طراحی یک شبکه ذخیره سازی Storage Area Network می باشد که طراحی اصولی و مبتنی بر شرایط و امکانات در هر سازمان متضمن امنیت و کارایی و گسترش پذیری شبکه ذخیره سازی می باشند.
توپولوژی های متفاوتی برای برقراری ارتباط بین سیستم های ذخیره ساز و سرورها با استفاده از SAN SW وجود دارد .مهمترین نکته در مورد طراحی و انتخاب نوع توپولوژی رعایت اصول Redundancy , Expandability, reliability می باشد.
انواع توپولوژی های اصلی
توپولوژی های اصلی لابه فابریک به 3 دسته زیر تقسیم می گردند:
-
یک لایه
این طراحی شامل یک یا 2 عدد SAN Switch می باشد که تمامی سرورها و سیستمهای ذخیره ساز وسایر دستگاههای FC base به آنها متصل میگردد .معمولا در بستر های کوچک و متوسط از این توپولوژی استفاده می شود
-
دو لایه
این مدل متداول ترین نوع طراحی در شبکه های متوسط و بزرگ می باشد که شامل توپولوژیهای زیر می باشد
-
توپولوژی Core /Edge
این توپولوژی قابلیت پیاده سازی تنها با سوییچهای معمولی (Fixed port) و یا همچنین ترکیب سوییجهای Director Level و Fixed port را دارد.
زمانی که می خواهیم یک شبکه فابریک قابل گسترش با استفاده از سوییچ های کوچک را طراحی کنیم توپولوژی core/edge بسیار کار ساز می باشد.معمولا در این طراحی ها 2 عدد سوییچ به عنوان هسته مرکزی Core در نظر گرفته می شوند و باقی سوییچها به عنوان edge به سوییچهای مرکزی متصل می گردند.
در این روش سیستمهای ذخیره ساز و سرورها به edge متصل می گردند و و از تمامی سوییچهای edge یک پورت به سوییجهای لایه core متصل میگردند.
هرچند راه اندازی توپولوژی core/edge با سوییجهای معمولی کم هزینه تر است ولی در صورت استفاده از سوییچهای کلاس director به عنوان لایه core دارای 2 مزیت مهم می باشد:
- ما می توانیم به سادگی یک شبکه ذخیره سازی با 500 ،1000 و یا تعداد بیشتری پورت طراحی کنیم .
- در صورتی که سرورها در لایه edgeو سیستم های ذخیره ساز را در لایه مرکزی قرار دهیم در نهایت بستر ذخیره سازی به راحتی قابل درک و مدیریت می باشد.
در این شرایط فارغ از نحوه اختصاص storage ها به سرور ها ،ترافیک FC همیشه از 2 سوییچ و یک ISL عبور می کند.
-
توپولوژی Mesh
در صورتی که از سوییچ های معمولی استفاده کنیم ،Full Mesh ساده ترین توپولوژی برای پیاده سازی ،درک و مدیریت می باشد. در این توپولوژی تمامی سوییچ ها به یکدیگر متصل می شوند.
در این روش هر دستگاهی را می توان به هر سوییج متصل کرد به شرط اینکه پهنای باند مورد نیار آن تامین گردد.
نقطه ضعف این توپولوژی این است که علیرغم افزونگی و امنیت بالا تعداد پورت زیادی را اشغال در غیر این صورت اکثر پورتهای هر سوییچ برای اتصال به سایر سوییچها اشغال می شوند.
- سه لایه
Edge\Core\Edge متداول ترین نوع توپولوژی این مدل از طراحی میباشد.
- Edge\Core\Edge
این توپولوژی مختص بستر های بزرگ با چندین سیستم ذخیره ساز و تعداد زیادی سرور می باشد.دراین طراحی از سوییچهای کلاس دایرکتور در لایه core استفاده می گردد سیستمهای ذخیره سازوسروها به دو لایه Edge جداگانه متصل می گردد..از مزایای این مدل می توان به گسترش پذیری و تامین تعداد پورت بالا اشاره کرد.