محمد نصیری
بنیانگذار توسینسو ، هکر کلاه سفید ، کارشناس امنیت اطلاعات و ارتباطات و عاشق طبیعت

آی اسکازی | iSCSI چیست؟ به زبان بسیار ساده

iSCSI یا Internet Small Computer System Interface چیست؟ قبلا در توسینسو در خصوص اینکه SCSI چیست و چگونه کار می کند صحبت کردیم و حتی نحوه استفاده از iSCSI Initiator را هم برای شما آموزش دادیم ، اما سئوال این است که اصلا iSCSI چیست و چه تفاوتی با SCSI دارد ؟ دقت کنید که زمانیکه شما از SCSI استفاده می کنید در یک سیستم از آن استفاده می کنید و در فواصل دور امکان استفاده از چنین رابط سخت افزاری وجود ندارد ، در رابط سخت افزاری SCSI بسته های اطلاعاتی در قالب دستوراتی که توسط SCSI ارسال و دریافت می شوند منتقل می شوند ، اما اگر ما بخواهیم از SCSI در شبکه استفاده کنیم چه اتفاق می افتد ؟

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

آیا اصلا امکان استفاده از SCSI در شبکه وجود دارد ؟ جواب این است که ما نمی توانیم از SCSI در شبکه استفاده کنیم اما امکان این را داریم که قالب دستوراتی که در SCSI ارسال می شوند را تبدیل به قالبی کنیم که برای شبکه قابل فهم باشد و از این طریق می توانیم SCSI را در شبکه شبیه سازی کنیم. این همان کاری است که iSCSI برای ما انجام می دهد.iSCSI که یک پروتکل لایه انتقال است ، این امکان را به ما می دهد که بتوانیم دستورات SCSI را در شبکه LAN ، WAN و یا حتی اینترنت منتقل کنیم. بیشترین کاربرد iSCSI در شبکه های ذخیره سازی اطلاعات یا SAN Storage ها و محیط های مجازی سازی یا Virtualization است. iSCSI یک پروتکل لایه انتقال است که نحوه منتقل شدن بسته های اطلاعاتی SCSI بر روی پروتکل TCP//IP را تعریف می کند.

iSCSI بصورت کاملا هماهنگ با پروتکل TCP کار می کند و امکان برقراری ارتباط های end to end در شبکه های LAN برای دستگاه های ذخیره سازی یا Storage ها را فراهم می کند ، در واقع همان دستوراتی که بصورت Local توسط SCSI منتقل می شد ، امروزه می تواند با iSCSI در شبکه منتقل شود. پروتکل iSCSI برای اولین بار توسط شرکت IBM در سال 1998 برای آزمایش و تست معرفی شد و اولین بار به عنوان یک استاندارد توسط IETF در سال 2000 معرفی شد و اولین بار در سال 2003 برای استفاده عمومی مورد تصویب قرار گرفت.

iSCSI چگونه کار می کند؟

روش کار iSCSI به این شکل است که داده ها در قالب بلوک های داده یا Block-Level Data بین ابزاری به نام iSCSI Initiator که بر روی سرور قرار دارد و ابزار دیگری به نام iSCSI Target که بر روی دستگاه ذخیره سازی اطلاعات قرار گرفته است منتقل می شوند. iSCSI دستورات SCSI ای که از سیستم دریافت می کند را در قالب بسته های اطلاعاتی پروتکل TCP//IP در شبکه منتقل می کند و به دستگاه ذخیره سازی می رساند که دستورات برای آن معنی و مفهوم دارد. بسته های اطلاعاتی در شبکه در قالب یک ارتباط Point To Point به هم متصل شده اند ، یا به زبان دیگر ارتباط مستقیمی با همدیگر دارند.

به این فرآیند ایجاد کردن بسته های اطلاعاتی iSCSI در مبدا در اصطلاح Assemble کردن بسته اطلاعاتی گفته می شود ، دقیقا همان کاری که در لایه های OSI انجام می شود. به محض اینکه بسته اطلاعاتی به مقصد برسد عکس این فرآیند انجام می شود ، یعنی بسته های اطلاعاتی توسط پروتکل iSCSI از حال Assemble به Disassemble تغییر حالت می دهند و سیستم عامل دستورات SCSI وجود را مستقیما به دستگاه ذخیره سازی برای اجرا شدن منتقل می کند.

امروزه پروتکل iSCSI با توجه به محبوت تر شدن روز افزون آن امکان استفاده از یک قابلیت بسیار خوب به نام Storage Pool را در محیط های مجازی سازی سرور به همه می دهد. در یک محیط مجازی سازی زمانیکه شما یک Storage Pool ایجاد می کنید در یک Cluster همه Node های داخل Cluster امکان برقراری ارتباط با هر یک از Storage های موجود در Storage Pool را خواهند داشت و اینکار را پروتکل iSCSI برای آنها انجام می دهد. شکل زیر را مشاهده کنید ، نمونه ساده ای از پیاده سازی iSCSI به همراه یک SAN Storage در شبکه است ، اگر ایده آل بخواهیم صحبت کنیم بایستی شبکه های SAN Storage و زیرساخت شبکه عادی از هم جدا باشند :


iSCSI چیست و چگونه کار می کند ؟

تصویری که در بالا مشاهده می کنید مثال بسیار ساده ای از پیاده سازی SAN Storage به همراه iSCSI است که معمولا فقط در محیط های لابراتوار از آن استفاده می شود. در تصویری که در ادامه مشاهده می کنید نمونه عملیاتی تری از پیاده سازی iSCSI را مشاهده می کنید که در این نوع طراحی که بسیار عملیاتی تر از طرح قبلی است ما برای هر کدام از شبکه ها بصورت جداگانه بستر ایجاد کرده این ، یک سویچ بصورت اختصاصی برای مدیریت ترافیک سرورها با سویچ و یک سویچ دیگر بصورت اختصاصی برای مدیریت ترافیک کلاینت ها با SAN Storage استفاده می شود که باعث می شود ما Multi Path I//O داشته باشیم.

از طرفی با این نوع طراحی Redundancy هم برای مسیرهای عبور ترافیک ایجاد کرده ایم. یک iSCSI Initiator که در تصویر زیر هم مشاهده می کنید در واقع یک نرم افزار یا سخت افزار است که بر روی سرور یا کلاینت نصب می شود و داده ها را با استفاده از پروتکل iSCSI برای دستگاه ذخیره سازی SAN Storage که به آن iSCSI Target گفته می شود ارسال می کند. قبلا در انجمن تخصصی فناوری اطلاعات ایران تحوه استفاده از iSCSI Initiator و راه اندازی Failover Clustering در ویندوز سرور 2012 را آموزش داده ایم.

iSCSI چیست و چگونه کار می کند ؟


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

با توجه به اینکه در iSCSI از استاندارد اترنت استاندارد استفاده می شود ، پروتکل iSCSI هیچ نیازی به سویچ ها و کارت های گرانقیمتی که در شبکه های Fibre Channel یا FC استفاده می شود ، ندارد . همینکار باعث سادگی پیکربندی و مدیریت این پروتکل می شود ، یک SAN Storage که دارای قابلیت FC باشد ، دارای سرعت بسیار زیادی است که باعث بالا رفتن پهنای باند هم می شود اما از طرفی این تجهیزات بسیار گرانقیمت هستند و همچنین نیازمند تخصصی خاصی هستند که بتوانند آنها را پیکربندی کنند. از طرفی دیگر iSCSI SAN ها براحتی با کارت شبکه های معمولی و سویچ های معمولی کار می کنند و نیازمند شبکه جدید و بستر ارتباطی جدیدی نیستند ، شما می توانید این تکنولوژی را در شبکه فعلی موجود هم پیاده سازی کنید ، در شبکه های کلان و Enterprise از این دو بصورت ترکیبی استفاده می شود. توسینسو باشید

  • آی اسکازی ( iSCSI ) چیست؟

    آی اسکازی یا iSCSI در واقع یک پروتکل برای برقراری ارتباط تجهیزات ذخیره سازی اطلاعات در شبکه در قالب بلاک ( Block Level ) است . به زبان ساده تر وقتی شما می خواهید از یک هارد دیسک در شبکه استفاده کنید اما آنرا می خواهید مثل هارد دیسک های داخلی سیستم خود مشاهده کنید از iSCSI استفاده می کنید. مکانیزم کاری iSCSI بصورت کلاینت و سرور است و به کلاینت iSCSI Client و به سرور iSCSI Targeet گفته می شود. پروتکل iSCSI در واقع به روز رسانی شده دستورات و ساختار بسته های اطلاعاتی پروتکل SCSI است که در دیسک های قدیمی استفاده می شده است و همان مکانیزم دستوری که برای اتصال هارد دیسک های اسکازی استفاده می شده است تحت پروتکل IP با ساختار iSCSI معرفی می شوند. iSCSI یک ارتباط Point To Point است.
  • آی اسکازی ( iSCSI ) در کجا استفاده می شود؟

    پروتکل iSCSI برای برقراری اتصال بین Storage های شبکه و نرم افزارهایی مثل مجازی سازها یا فایل سرورها استفاده می شود. ارتباطات بین این تجهیزات نیز با فیبر نوری معمولا برقرار می شود ، بیشترین کاربرد iSCSI در SAN Storage ها است.
  • آیا من به iSCSI احتیاج دارم؟

    بصورت معمول زمانی شما نیاز به ISCSI دارید که بخواهید از یک دستگاه ذخیره سازی مثل هارد دیسک یا NAS Storage یا SAN Storage یا حتی شبیه سازهای استوریج در شبکه استفاده کنید و خودتان فرآیندهای مدیریتی دیسک مثل فرمت کردن ، پارتیشن بندی و ... را انجام دهید. بصورت معمول از این پروتکل در شبکه های معمولی و استفاده های شخصی ، استفاده نمی شود.

محمد نصیری
محمد نصیری

بنیانگذار توسینسو ، هکر کلاه سفید ، کارشناس امنیت اطلاعات و ارتباطات و عاشق طبیعت

هکر با کلاه ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، بیش از 12 هزار ساعت سابقه تدریس در بیش از 40 سازمان دولتی ، خصوصی و نظامی ، علاقه مند به یادگیری بیشتر و عاشق محیط زیست ، عضو کوچکی از مجموعه توسینسو

نظرات