شماره واحد منطقی (logical unit number) چیست؟
یکی از اصطلاحات و تعاریف کلیدی که در سیستمهای ذخیره سازی SAN با آن مواجه میشویم، مفهوم LUN یا شماره واحد منطقی (Logical Unit Number) است. در این مقاله قصد داریم ضمن پاسخ به سوال LUN چیست، نحوه عملکرد LUNها در ذخیرهسازها را بررسی کنیم. با فالنیک همراه باشید.
برای اطلاع از قیمت استوریج کافیست روی لینک کلیک کرده و بهترین استوریجهای بازار را در فروشگاه فالنیک بررسی کنید.
فهرست محتوا
LUN یا شماره واحد منطقی (LUN) شناسه منحصر بهفردی برای تعیین یک دستگاه یا مجموعهای از دستگاههای ذخیرهسازی فیزیکی یا مجازی است که دستورات ورودی و خروجی (I/O) را با سرور میزبان مبادله میکنند. به طوری که امکان ارسال و دریافت اطلاعات مطابق با استاندارد SCSI وجود داشته باشد. به بیان دیگر، شناسه منحصر به فرد، شمارهای است که با استفاده از آن هارد دیسکهایی که در مجموعه SAN Storage قرار دادهاید را شناسایی میکنید. در مقاله SAN Storage چیست و چه مزایای و معایبی دارد با این روش ذخیره سازی آشنا شوید.
SCSI یک مکانیزم استاندارد برقراری ارتباطات ورودی و خروجی است که به شکل گستردهای در شبکههای مختلف پیادهسازی شده و میتواند تبادل داده بین سرورها و دستگاههای ذخیرهساز را از طریق پروتکلهای انتقال تسهیل کند. از پروتکلهای انتقال رایج در این زمینه باید به Internet SCSI و کانال فیبر (Fibre Channel) اشاره کرد. یک آغازگر SCSI در میزبان، مجموعهای از دستورهای ورودی و خروجی را ایجاد میکند که قرار است برای کلاینت نقطه پایانی که هدف یا دستگاه ذخیرهسازی گیرنده نام دارد، منتقل شوند. یک واحد منطقی (logical unit) مولفهای در دستگاه هدف SCSI است که به دستور ورودی و خروجی SCSI پاسخ میدهد. به طور کلی، LUNها برای شناسایی زیرمجموعههای داده در یک دیسک استفاده میشوند تا دستگاههای محاسباتی که از آنها استفاده میکنند قادر به اجرای عملیات مختلف باشند.
LUN چیست؟
رابطهای مختلفی وجود دارند که اجازه میدهند با استفاده از پروتکلهای اختصاصی به دیسکهای موجود در شبکه ذخیرهسازی متصل شد. از جمله این رابطها باید به SCSI، iSCSI و کانال فیبر اشاره کرد.
پروتکلهای مورد استفاده در ارتباط با این رابطها برای برقراری ارتباط و شناسایی یک یا چند استوریج در شبکه SAN از مکانیزمی که LUN مخفف Logical Unit Number نام دارد، استفاده میکنند. اگر به کنسول مدیریتی شبکه SAN خود وارد شوید، بلوکهای ذخیرهسازی مبتنی بر هارد دیسکها را مشاهده میکنید. اینها همان LUNهایی هستند که رابطها آنها را شناسایی میکنند. دقت کنید که LUNها ممکن است متشکل از یک یا چندین هارد دیسک باشند که به شکل آرایه در کنار هم قرار گرفتهاند.
واژه LUN یکی از اصطلاحات قدیمی دنیای ذخیرهسازی و عجین شده با فناوری قدیمی SCSI است. همانگونه که اشاره کردیم، هر LUN به یک واحد منطقی مشخص اشاره دارد که میتواند قسمتی، کل یا حتی مجموعهای از دیسکهای ذخیرهسازی باشد که در انکولوژر دستگاه ذخیرهسازی SAN قرار گرفتهاند. از اینرو یک LUN میتواند به مجموعهای از ریدها، دیسک منفرد یا پارتیشن یا چند پارتیشن روی چند هارد دیسک اشاره داشته باشد. به طور کلی، شماره واحد منطقی، یک شناسه منحصر به فرد است که با استفاده از آن دیسکهای سختی که در شبکه ذخیرهسازی منطقی قرار دارند، شناسایی میشوند. این شماره در اختیار میزبانها یا همان سرورها قرار میگیرد تا فرآیند مدیریت ولومها در سیستم عامل به شکل سادهای فراهم شود.
LUN یک موجودیت منطقی است که فضای فیزیکی خام هارد دیسک را به فضای ذخیرهسازی منطقی تبدیل میکند که سیستم عامل سرور میزبان بتواند به آن دسترسی داشته باشد و از آن استفاده کند.
سیستم کامپیوتری مورد استفاده کاربران دارای یک کاراکتر انگلیسی است که اشاره به درایو منطقی دارد که روی هارددیسک قرار گرفته است. به طور مثال، یک کامپیوتر ممکن است از درایو C بوت شود و به دادههای فایلی که روی درایو D قرار دارد، دسترسی پیدا کند. LUNها نیز همین را انجام میدهند. LUNها از طریق پارتیشنبندی فضای یکپارچه در شبکه ذخیرهسازی را به بخشهایی تقسیم میکنند. در این حالت، LUN بخشی از آدرس فضای ذخیرهسازی است که شما به یک سرور یا همان میزبان ارائه میدهید.
LUNها به عنوان یک بخش اساسی از فرآیند آمادهسازی فضای ذخیرهسازی با استفاده از ابزارهای نرمافزاری که معمولا همراه با زیرساخت ذخیرهسازی ارائه میشوند، ایجاد میشوند. با این حال، نسبت 1 به 1 بین درایوها و LUNها وجود ندارد، به طوری که میتوان LUNهای مختلفی را روی یک دیسک قرار داد.
به عنوان مثال، یک درایو 500 گیگابایتی را میتوان به یک LUN 200 گیگابایتی و یک LUN 300 گیگابایتی تقسیم کرد که به صورت دو درایو منحصر به فرد برای سرور میزبان ظاهر میشوند. برعکس، مدیران فضای ذخیرهسازی میتوانند از نرمافزار Logical Volume Manager برای ترکیب چند LUN در یک ولوم بزرگتر استفاده کنند. Veritas Volume Manager از Symantec Corp یکی از ابزارهای نرمافزاری قدرتمند در این زمینه است. مکانیزم کلی به این صورت است که ابتدا دیسکها با هدف دستیابی به ظرفیت و افزونگی بیشتر در یک گروه رید قرار میگیرند (به عنوان مثال، RAID-50)، و سپس LUNها برای آن گروه رید تعریف میشوند.
LUNها اغلب به عنوان ولوم منطقی شناخته میشوند، که منعکسکننده استفاده سنتی از حروف ولوم درایوها مثل ولوم C، ولوم F و غیره در کامپیوترهای دسکتاپی هستند. با این حال، برخی از کارشناسان نسبت به ترکیب این دو عبارت هشدار میدهند و خاطرنشان میکنند که اصطلاح ولوم اغلب برای نشان دادن ظرفیتهای بالا است که هنگام ترکیب چند LUN با نرمافزار مدیریت ولوم استفاده میشود. در این زمینه، یک ولوم ممکن است شامل LUNهای متعددی باشد و میتواند تخصیص فضای ذخیرهسازی را با مشکل روبرو کند.
هنگامی که LUNها ساخته میشوند، امکان اشتراکگذاری آنها با سرورهای مختلف وجود دارد. به طور مثال، ممکن است یک LUN بین سرور فعال و آماده به کار به اشتراک گذاشته شود. اگر سرور فعال از کار بیفتد، سرور آماده به کار میتواند به سرعت کنترل را به دست گیرد. با این حال، دسترسی همزمان چند سرور به یک LUN بدون وجود راهکاری برای هماهنگی بلوکهای تغییر یافته برای اطمینان از یکپارچگی دادهها، میتواند فاجعه بار باشد. هماهنگ کردن تغییرات دادهها به نرمافزار خوشهبندی مثل یک مدیر ولوم خوشهای، یک سیستم فایل خوشهای، یک برنامه کاربردی خوشهای یا یک سیستم فایل شبکه مبتنی بر NFS یا CIFS نیاز دارد.
LUNها چگونه کار میکنند
نحوه پیکربندی LUN بسته به هر سامانه متفاوت است. زمانی که یک میزبان دستگاه SCSI را اسکن میکند و یک واحد منطقی را کشف میکند، یک شماره واحد منطقی به آن اختصاص میدهد. در ادامه، LUN، واحد منطقی متعلق به آغازگر SCSI را شناسایی کرده و در ادامه اطلاعات خود را با شناسه پورت هدف ترکیب میکند تا امکان برقراری ارتباط میان ارسال کننده و دریافت کننده اطلاعات فراهم شود.
واحد منطقی ممکن است بخشی از یک درایو ذخیرهسازی، یک درایو ذخیرهسازی کامل یا بخشهای مختلف چند درایو ذخیرهسازی مثل هارد دیسک، درایو حالت جامد یا نوارها باشد که در یک یا چند سیستم مستقر شدهاند. یک LUN میتواند به مجموعه رید، درایو یا پارتیشن، یا چند درایو یا پارتیشن ذخیرهسازی اشاره کند. در هر صورت با واحد منطقی به گونهای برخورد میشود که گویی یک دستگاه واحد است که یک شماره واحد منطقی به آن تخصیص داده شده است. لازم به توضیح است که محدودیت ظرفیت یک LUN بسته به هر سیستم متفاوت است.
نکته مهمی که باید در ارتباط با LUN به آن اشاره داشته باشیم این است که در یک شبکه منطقه ذخیرهسازی (SAN)، یک LUN مرکزی برای مدیریت یک آرایه ذخیرهسازی بلوکی مورد استفاده قرار میگیرد. LUN میتواند مدیریت منابع ذخیرهسازی را به شکل قابل توجهی ساده کند، زیرا امکان تعیین سطح دسترسی و کنترل مجوزها از طریق شناسههای منطقی را فراهم میکند.
انواع LUNها
ساختار مورد استفاده در زیرساخت ذخیرهسازی و نوع واحد منطقی نقش مهمی در قابلیت اطمینان و عملکرد شبکههای ذخیرهسازی منطقی دارد. امروزه انواع مختلفی از LUNها در شبکههای ذخیرهسازی قابل استفاده هستند که از مهمترین آنها به موارد زیر باید اشاره کرد:
Mirrored LUN: این شماره واحد منطقی، در برابر خطا مقاوم است و برای این منظور کپیهای یکسانی از اطلاعات را در دو درایو فیزیکی با هدف دستیابی به افزونگی دادهها و پشتیبانگیری از اطلاعات ذخیرهسازی میکند.
Concatenated LUN: چند LUN را در یک واحد منطقی یا ولوم با یکدیگر یکپارچه میکند.
Striped LUN: دادهها را در چند درایو فیزیکی مینویسد تا سرعت دسترسی به اطلاعات افزایش پیدا کند. به بیان دقیقتر، عملیات ورودی و خروجی میان درایوها را توزیع میکند تا سرعت نوشتن اطلاعات افزایش پیدا کند. همچنین، سعی میکند اطلاعات را به شکل موازی روی دیسکها بنویسد تا ضریب اطمینان بهبود پیدا کند.
Striped LUN with parity: دادهها و اطلاعات توازن را در سه یا چند درایو فیزیکی پخش میکند. در این حالت، اگر یک درایو فیزیکی خراب شود، دادهها را میتوان از اطلاعات موجود در درایوهای باقی مانده بازسازی کرد. البته بیت توازن و محاسبه آن ممکن است بر عملکرد نوشتن تاثیر منفی بگذارد و باعث کند شدن سرعت دسترسی به اطلاعات شود. بنابراین، این فناوری در ارتباط با بارهای کاری سنگین چندان مناسب نیست.
LUN چه کاربردهایی دارد؟
اصلیترین کاربرد LUN این است که به عنوان یک شناسه برای تعیین یک دستگاه ذخیرهسازی مورد استفاده قرار میگیرد. با این حال، کاربردهای دیگری نیز برای آن متصور است که این مسئله به نوع LUN بستگی دارد. به طور مثال، یک LUN ساده به عنوان تعیینکننده برای یک سگمنت یا کل دیسک فیزیکی استفاده میشود. Spanned LUNها یک LUN واحد را نشان میدهند که بیش از دو دیسک فیزیکی را شامل میشود. Mirrored LUNs یا همان شماره واحد منطقی قرینه شده برای نشان دادن دادههایی که روی یک دیسک نگهداری میشوند و اطلاعات آن روی دیسک دوم کپی شدهاند استفاده میشود. این LUN در مواردی که یک دیسک از کار میافتد استفاده میشود.
کاربرد دیگر LUNها در ارتباط با منطقهبندی و ماسکزنی در شبکههای SAN است. در این حالت، میتوان از LUNها برای ترسیم نقشه چند LUN فیزیکی استفاده کرد که در عملیات مجازیسازی مورد استفاده قرار گرفتهاند.
نکته: درست است که اصطلاح LUN تنها به شماره شناسایی واحد منطقی اشاره دارد، اما کارشناسان شبکه از این اصطلاح برای توصیف یک واحد منطقی نیز استفاده میکنند.
منطقهبندی و ماسکسازی با LUN
شبکههای فضای ذخیرهسازی، دسترسی میزبان به LUNها را کنترل میکنند تا امنیت و یکپارچگی دادهها تضمین شود. ماسکزنی شماره واحد منطقی و منطقهبندی مبتنی بر سوئیچ، با هدف مدیریت منابع SAN و در اختیار قرار دادن منابع به میزبانهای متصل به شبکه مورد استفاده قرار میگیرد.
منطقهبندی LUN مسیرهای ایزولهای را برای عملیات ورودی و خروجی از طریق کانال فابریک FC SAN بین پورتهای نقطه پایانی ایجاد میکند تا اطمینان حاصل شود که همواره مسیر مطمئنی برای ارسال و دریافت اطلاعات وجود دارد. ذکر این نکته مهم است که یک میزبان محدود به منطقهای است که در آن تعریف شده است. به طور کلی، منطقهبندی LUN در لایه سوئیچ انجام میشود. رویکرد فوق میتواند به بهبود امنیت و محافظت از نقاط حساس شبکه کمک فراوانی کند. شکل زیر نحوه ماسکزنی با شماره واحد منطقی را نشان میدهد.
LUN masking دسترسی میزبان به تجهیزات ذخیرهسازی SCSI و LUNهای مرتبط با آنها را محدود میکند و مانع از آن میشود تا در صورت یک حمله هکری، اطلاعات همه استوریجها با خطر روبرو شود. به طور معمول، LUN masking در کنترلر ذخیرهسازی تعریف میشود، اما امکان استفاده از آن در آداپتور گذرگاه میزبان (HBA) یا لایه سوئیچ نیز وجود دارد. LUN masking به ما اجازه میدهد از میزبانها و مناطق جدگانه از طریق پورت یکسانی در یک دستگاه ذخیرهسازی استفاده کنیم که مزیت بزرگی به شمار میرود. نکته مهم دیگری که باید در این ارتباط به آن اشاره کنیم این است که هنگام استفاده از LUN masking، تنها تجهیزات SCSI تعریف شده و LUNهای اختصاص داده شده قابل مشاهده و استفاده هستند.
LUN Masking راهکار قدرتمندی در زمینه محدودسازی دسترسی به LUNها توسط میزبانها یا همان سرورها در اختیار ما قرار میدهند. در نتیجه، این امکان وجود دارد تا برخی از LUNها را برای کاربردهای خاصی مورد استفاده قرار داد. با توجه به اینکه LUN Masking در کنترلر ذخیرهسازی انجام میشود، در عمل امکان اعمال محدودیت در زمینه دسترسی به LUNها برای برخی از سرورها به سادگی فراهم است. در بیشتر موارد این تکنیک همراه با مفهوم دیگری که LUN zoning یا همان منطقهبندی شماره واحد منطقی نام دارد مورد استفاده قرار گرفته و عمدتا در سن سوئیچها اعمال میشود. در این حالت، بافت شبکه منطقه ذخیرهسازی پارتیشنبندی شده و میزبانها و آرایههای ذخیرهسازی در نواحی (Zones) گروهبندی میشوند.
منطقهبندی این امکان را برای دستگاههای موجود در شبکه کانال فیبر (FC) فراهم میکند تا یکدیگر را ببینند. با محدود کردن دید دستگاههای پایانی، سرورها (میزبانها) فقط میتوانند دستگاههای ذخیرهسازی را ببینند و به آنها دسترسی داشته باشند که در همان منطقه قرار دارند. به عبارت دقیقتر، منطقهبندی به سرورهای خاصی اجازه میدهد تا یک یا چند پورت را در یک آرایه دیسک ببینند. خوشبختانه، این امکان وجود دارد تا پهنای باند و سرویسها را با اختصاص پورتهای خاص به یک منطقه یا جداسازی پورتهای ناسازگار از یکدیگر تفکیک کرد.
منطقه بندی یک عنصر مهم در امنیت شبکه SAN و طراحی SAN با قابلیت دسترسی بالا است. به طور معمول، منطقهبندی میتواند به منطقهبندی سخت (hard zoning) و نرم (soft zoning) تقسیم شود. با منطقهبندی سخت، هر دستگاه به یک منطقه اختصاص داده میشود و این تخصیص هرگز نمیتواند تغییر کند. در منطقهبندی نرم، تخصیص دستگاهها توسط مدیر شبکه قابل تغییر است.
برخی از کارشناسان شبکه به منظور افزایش سطح ایمنی شبکه، LUNهای یک آرایه ذخیرهسازی SAN را ماسکزنی میکنند. تا بتوانند با یک مکانیزم کنترلی تعیین کنند که چه کنترلرهای ذخیرهسازی در سرورها قادر به مشاهده LUNها باشند.
شماره واحدهای منطقی و مجازیسازی
LUN شکلی از مجازیسازی است، به این معنا که دسترسی به دستگاههای سختافزاری و شناسایی آنها از طریق روشهای استانداردی مثل SCSI را تسهیل میکند. به بیان دقیقتر، شماره واحدهای منطقی راهکاری برای انتزاعی کردن ارتباطات ارائه میکنند. جالب آنکه شی ذخیرهسازی (storage object) ارائهشده توسط LUN میتواند فشرده یا کپیسازی شود، البته تا زمانی که تغییری در نحوه دسترسی میزبان به استوریج به وجود نیاید. یکی از ویژگیهای شاخص LUN این است که امکان انتقال آن بین دستگاههای ذخیرهسازی وجود دارد. همچنین، میتوان آن را کپی، تکثیر و لایه بندی کرد یا از آن اسنپشات تهیه کرد.
یک LUN مجازی میتواند برای نگاشت به چند LUN فیزیکی و مجازیسازی با هدف استفاده بهینه از ظرفیت ساخته شود و در نتیجه قادر است به بیش از یک فضای فیزیکی اشاره کند. LUNهای مجازی که فراتر از ظرفیت فیزیکی ساخته میشوند را میتوان از طریق تکنیکهای موجود بهینهسازی کرد تا به بهترین شکل از فضای ذخیرهسازی استفاده کرد، زیرا تا زمانی که دادههایی روی استوریجهای فیزیکی نوشته نشدهاند، فضای ذخیرهسازی فیزیکی به کلاینتها تخصیص داده نمیشود. به عنوان کارشناس شبکه یا فضای ذخیرهسازی باید از این نکته اطلاع داشته باشید که گاهی اوقات شماره واحد منطقی مجازی thin LUN نامیده میشود. LUNها در یک آرایه ذخیرهسازی میتوانند از نوع Thick یا Thin باشند. در بیشتر موارد LUNها از نوع Thick هستند، اما در برخی معماریها از نوعThin نیز استفاده میشود.
یک LUN مجازی را میتوان در سطح سیستم عامل سرور (OS)، هایپروایزر یا کنترلکننده ذخیرهسازی تعریف کرد. از آنجایی که ماشین مجازی قادر به مشاهده LUN فیزیکی در سیستم ذخیرهسازی نیست، در نتیجه نیازی به منطقهبندی LUN وجود ندارد.
یک برنامه نرمافزاری میتواند یک LUN را به یک ماشین مجازی در حال اجرا بر روی یک سیستم عامل مهمان تخصیص دهد. برای این منظور، راهحلهای نرمافزاری مختلفی وجود دارد. به طور مثال، VMware’s Virtual Volumes، میتواند لایه مجازیسازی و دستگاههای ذخیرهسازی را برای پشتیبانی از ماشینهای مجازی در اختیارشان قرار دهد.
فرآیند مدیریت LUNها به چه صورتی انجام میشود؟
پس از ساخت شماره واحد منطقی، نوبت مدیریت آن است. کارشناسان شبکه و فضای ذخیرهسازی میتوانند از طریق یک برنامه نرمافزاری به مدیریت شماره واحدهای منطقی و مسیر بین آنها و میزبانها بپردازند. به طور کلی، مدیریت LUNها به کنترل دسترسپذیری، افزایش اندازه، حذف و ایمنسازی آنها اشاره دارد. فرآیند مدیریت LUNها استاندارد مشخصی ندارد و به نحوه طراحی شبکه و نحوه تعریف آنها اشاره دارد.
خوشبختانه فرآیند افزایش اندازه LUN ساده است. هیچ محدودیتی در زمینه مقدار فضایی که یک LUN میتواند داشته باشد، وجود ندارد. با این حال، باید به این نکته دقت کنید که فضای ذخیرهسازی بیش از حد مورد نیاز را اختصاص ندهید.
به طور معمول، فرآیند حذف اشاره به نوشتن روی فضای مورد استفاده در یک ولوم دارد و ارتباطی با باز کردن یا جدا کردن LUN ندارد. همچنین، به این نکته مهم دقت کنید که مدیران باید تنها کاربرانی باشند که قادر به حذف LUN هستند. در نهایت هنگام تعریف LUNها از منطقهبندی و ماسکزنی غافل نشوید. این دو راهحل قدرتمند با هدف افزایش ایمنی و اعمال محدودیتها مورد استفاده قرار میگیرد.
LUN با چه چالشهایی روبرو است؟
چالشهای مختلفی در این زمینه وجود دارد که بخش عمدهای از آنها در ارتباط با مدیریت منابع، عملیات ورودی/خروجی چند مسیره و نحوه ذخیرهسازی اطلاعات است. به عنوان مثال، افزایش اندازه LUNها باعث میشود منابع دیسک در مدت زمان کوتاهی از دست بروند. حتی اگر LUN اختصاص داده شده هرگز از آن منابع استفاده نکند، زیرا فرآیند تخصیص به شکل ایستا به LUN انجام میشود. در نتیجه، امکان استفاده از منبع تخصیص داده شده به LUN وجود نخواهد داشت. مکانیزم Thin provisioning به سرپرستان شبکه اجازه میدهد تا LUNهای بزرگی ایجاد کنند و مطمئن شوند که کلاینت یا کلاینتهایی که از آن استفاده میکنند با مشکل کمبود فضا روبرو نخواهند شد. با اینحال، مشکلی که ساخت LUNهای بزرگ به وجود میآورد این است که تخصیص منابع به کلاینتهای دیگر را با مشکل روبرو میکند. این مسئله به ویژه در ارتباط با مبحث مجازیسازی مشکلآفرین است. همین مسئله باعث شده تا کارشناسان شبکه در هنگام تخصیص فراتر از حد انتظار منابع ذخیرهسازی، از مکانیزم پروکسی استفاده کنند که رویکرد به مراتب سادهتری نسبت به آزادسازی فیزیکی فضای ذخیرهسازی دارد. به طور سنتی، مدیریت تعداد زیادی از LUNها در سرورهای مبتنی بر سیستم عامل ویندوز دشوار است. با این حال، سرویس ولومهای مشترک خوشهای CSV مخففCluster Shared Volumes میتواند فرآیند مدیریت را تسهیل کند. این فناوری، اولین بار همراه با ویندوز سرور 2012 در اختیار مدیران شبکه قرار گرفت و به مرور زمان تکامل پیدا کرد. امروزه، فناوری فوق به مدیران شبکه گزارشی در ارتباط با میزان فضای ذخیرهسازی مورد نیاز اضافی که قرار است به LUN تخصیص داده شود، ارائه میکند. در این حالت، سرپرستان شبکه با علم به اینکه چه میزان فضای خالی در دسترس خواهد بود، قادر به افزایش اندازه LUNها هستند.
چکیدهای از آنچه در مورد LUN ها آموختیم
در این مقاله ضمن معرفی LUN و انواع آن، به کاربردها، فرآیند مدیریت LUN و چالشهایی پرداختیم که این فناوری با آن روبروست. امیدواریم که این مقاله برای شما مفید بوده باشد. در صورتی که سوالی در زمینه LUNها داشتید، متخصصان ما آمادهاند تا در بخش نظرات پاسخگوی آن باشند.