نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • ویندوز 10
  • اتصال و پیکربندی iSCSI در ویندوز سرور. ذخیره سازی متصل به شبکه در iSCSI، چیست؟ IBM محصول مبتنی بر iSCSI را منتشر کرد

اتصال و پیکربندی iSCSI در ویندوز سرور. ذخیره سازی متصل به شبکه در iSCSI، چیست؟ IBM محصول مبتنی بر iSCSI را منتشر کرد

من در درجه اول برای خودم می نویسم، اما اگر برای کسی مفید باشد، این نیز خوب است.
وظیفه سازماندهی کپی سایه در یک سرور اشتراک گذاری فایل، اندازه پارتیشن 1 ترابایت است. برای ایجاد کپی های سایه، به پارتیشن دیگری با حداقل 1 ترابایت نیاز دارید، اما باید به دنبال سرمایه باشید، هارد دیسک برای یک رک بخرید، به طور کلی سریع نیست، اما دیروز به آن نیاز دارید. یک فضای ذخیره سازی شبکه Netgear ReadyNAS با RAID-5 روی برد و فضای خالی زیادی وجود دارد. تنها نکته ظریف این است که برای ایجاد کپی های سایه به یک حجم محلی نیاز دارید، نه یک درایو شبکه. و اینجا iSCSI به کمک ما می‌آید، من توضیح نمی‌دهم که چیست، هر کسی که به آن نیاز دارد آن را در ویکی‌پدیا می‌خواند، و هرکس به آن نیاز دارد، فکر می‌کنم از قبل می‌داند چیست. به طور خلاصه، پروتکل به شما امکان می دهد یک درایو شبکه را به یک حجم محلی تبدیل کنید.
بنابراین، برای شروع، به پنل مدیریت ReadyNAS بروید و روی تب iSCSI کلیک کنید یک LUN جدید ایجاد کنید


ارزش توجه به پارامتر را دارد فراهم آوردنگزینه ضخیم - ضخیم، کل حجم را به یکباره به LUN اختصاص می دهد، گزینه Thin - نازک، با پر شدن تخصیص می یابد. گزینه اول سریعتر است، دومی راحت تر است، اما تصمیم با شماست.
بعد از اینکه LUN را ایجاد کردیم، روی همان تب کلیک کنید یک گروه جدید ایجاد کنید. نام گروه و منبع هدف را تنظیم کنید.

یک عقب نشینی کوچک

IQN یک نام فرمت خاص است iqn . :، که برای هر دستگاه iSCSI در SAN منحصر به فرد است. جایی که:

سال-ماه- سال ثبت نام دامنه؛
reversed_domain_nameاملای نام دامنه به عقب
unique_name- یک نام دستگاه منحصر به فرد، به عنوان مثال، هدف در اینجا حاوی نامی است که شما مشخص کرده اید، و آغازگر شامل نام میزبان خواهد بود.

برای فهمیدن نام منبع هدف، به سروری که می‌خواهیم دیسک را به آن متصل کنیم، برویم. به علاوه کنترل پنل - آغازگر iSCSI. در پنجره ای که ظاهر می شود، به تب بروید پیکربندیو نام آغازگر را از آنجا کپی کنید.

برمی گردیم و فیلد را پر می کنیم. پس از آن به قسمت خصوصیات گروه بروید، روی علامت مثبت کلیک کنید تا یک آغازگر ایجاد شود، سپس نام آغازگر را وارد کنید که کمی قبل از آن کپی کردیم تا نام منبع مورد نظر ایجاد شود.

در قسمت رمز عبور رمز عبوری را که برای ورود استفاده می کنید وارد کنید. آغازگر iSCSI. روی ایجاد کلیک کنید و کادر را علامت بزنید اجازه.
دوباره به سرور آغازگر برمی گردیم، به تب بروید تشخیص، روی کشف پورتال کلیک کنید، در فیلدی که ظاهر می شود، آدرس ReadyNAS ما را یادداشت کنید.

در همان پنجره (جایی که آدرس را وارد می کنیم) کلیک کنید علاوه بر اینروی زبانه معمول هستندوارد ناماز مرحله قبل و رازرمز عبور مرحله قبل است.

در همان برگه، می توانید آداپتوری که با آن اتصال برقرار می شود، آدرس آغازگر و آدرس پورتال نهایی را انتخاب کنید (من آن را خاکستری دارم زیرا در یک سیستم از قبل پیکربندی شده اسکرین شات گرفتم، مال شما آن را فعال خواهد کرد. ).
پس از اینکه پورتال و مجوز را در برگه پیکربندی کردیم اشیاء پایانیمی توانید LUN ما را ببینید، کلیک کنید برای وصل کردن، اگر قبلاً متصل نیست و به تب بروید حجم ها و دستگاه ها.

آنجا کلیک کنید تنظیم خودکارو LUN ما به عنوان یک حجم محلی اضافه می شود. می توانید به مدیریت دیسک بروید و آن را به دلخواه پیکربندی کنید.

رابط سیستم کامپیوتر کوچک اینترنت (iSCSI) یک پروتکل انتقال داده است که برای تبادل داده بین سرورها و سیستم های ذخیره سازی (Storage Area Network, SAN) طراحی شده است. iSCSI ترکیبی از پروتکل SCSI و پشته پروتکل TCP/IP است و برای انتقال بلوک های داده از طریق شبکه های اترنت طراحی شده است. دستورات کنترل SCSI در بسته های IP ارسال می شوند و TCP کنترل جریان و قابلیت اطمینان انتقال داده را فراهم می کند.

هنگام استفاده از iSCSI، داده ها بین سرور و سیستم ذخیره سازی به صورت بلوک و به صورت خام منتقل می شوند. این به شما امکان می دهد تا از SAN تقریباً به گونه ای استفاده کنید که گویی مستقیماً به سرور متصل شده اند، نه از طریق شبکه. سیستم میزبان می تواند پارتیشن های منطقی را در SAN ایجاد کند، آنها را فرمت کند و مانند هارد دیسک های محلی معمولی از آنها استفاده کند. این تفاوت اصلی بین SAN و Network Area Storage (NAS) است که در سطح سیستم فایل کار می کنند و از پروتکل های انتقال فایل مانند SMB یا CIFS استفاده می کنند.

فناوری iSCSI به عنوان جایگزینی ارزان‌تر برای کانال فیبر (FC) توسعه داده شد. سیستم های مبتنی بر iSCSI از پروتکل های استاندارد پشتیبانی می کنند و می توانند بر روی هر زیرساخت شبکه موجود که از پروتکل IP پشتیبانی می کند ساخته شوند. برای کارکرد، iSCSI می تواند از رایج ترین دستگاه های شبکه (سوئیچ ها، روترها، آداپتورهای شبکه و غیره) استفاده کند، در حالی که FC به HBA های ویژه، کابل های نوری و سایر تجهیزات گران قیمت نیاز دارد.

معماری iSCSI مشتری-سرور است و شامل اجزای زیر است:

آغازگر iSCSI- یک مؤلفه مشتری که درخواست های اتصال را به مؤلفه iSCSI Target واقع در سمت سرور ارسال می کند. آغازگر را می توان به صورت نرم افزاری، به شکل درایور، یا در سخت افزار، به شکل یک آداپتور ویژه iSCSI پیاده سازی کرد.

هدف iSCSI- یک جزء سرور که به درخواست های مشتری گوش می دهد و ارتباطی بین مشتری و سرور iSCSI برقرار می کند. علاوه بر این، هدف با دیسک های مجازی iSCSI مرتبط است و پس از برقراری ارتباط، تمام دیسک های مجازی مرتبط با این هدف از طریق آغازگر در دسترس قرار می گیرند. یک هدف iSCSI می‌تواند یک سیستم ذخیره‌سازی تخصصی یا یک سرور معمولی ویندوز با نقش iSCSI Target نصب شده باشد.

دیسک های مجازی iSCSI -برای تقسیم فضای دیسک به پارتیشن های منطقی (شماره واحد منطقی، LUN) استفاده می شود. در ویندوز سرور 2012، iSCSI LUN ها دیسک های مجازی معمولی با فرمت VHD\VHDX هستند. به هر حال، در ویندوز سرور 2012، فقط فرمت VHD برای iSCSI پشتیبانی می‌شد که حداکثر اندازه LUN را 2 ترابایت محدود می‌کرد. Windows Server 2012 R2 از فرمت VHDX استفاده می کند که به شما امکان می دهد LUN هایی تا اندازه 64 ترابایت ایجاد کنید.

حال بایستیم و چند نکته را روشن کنیم:

هر سرور iSCSI می تواند یک یا چند هدف iSCSI داشته باشد.
هر هدف iSCSI را می توان به یک یا چند دیسک مجازی متصل کرد.
هر هدف iSCSI می تواند یک یا چند اتصال را از یک آغازگر iSCSI ارائه دهد.
به نوبه خود، هر آغازگر iSCSI می تواند به یک یا چند هدف iSCSI و بنابراین به یک یا چند دیسک مجازی متصل شود.

علاوه بر این، Windows Server 2012 از یک پیکربندی Loopback پشتیبانی می‌کند که در آن، Target و Initiator می‌توانند روی یک سرور قرار گیرند.

پشتیبانی iSCSI مدتی است که در سیستم عامل های مایکروسافت در دسترس بوده است. اولین نسخه Microsoft iSCSI Initiator به عنوان یک مؤلفه جداگانه در Windows 2000، Windows XP SP2 و Windows Server 2003 SP1 نصب شد و با شروع Windows Server 2008 و Vista، iSCSI Initiator در سیستم عامل تعبیه شد.

در مورد iSCSI Target، در اصل بخشی از نسخه ویژه سیستم عامل سرور Windows Data Storage Server 2003 بود که برای ساختن سیستم های ذخیره سازی در نظر گرفته شده بود و فقط به صورت از پیش نصب شده عرضه می شد. با این حال، از سال 2011، Microsoft iSCSI Software Target 3.3 برای دانلود و نصب بر روی ویندوز سرور 2008R2 در دسترس است و در ویندوز سرور 2012 به طور کامل در سیستم ادغام شده و به عنوان نقش سرور نصب می شود.

بیایید قسمت تئوری را تمام کنیم و شروع به تمرین کنیم. برای پیکربندی، ساده‌ترین گزینه را انتخاب می‌کنیم؛ از دو سرور با نصب ویندوز سرور 2012 R2 به عنوان سوژه‌های آزمایشی استفاده می‌کنیم: SRV2 برای نقش iSCSI Target و SRV3 برای آغازگر iSCSI.

راه اندازی سرویس iSCSI Initiator

ابتدا وضعیت سرویس آغازگر را در SRV3 بررسی می کنیم. برای انجام این کار، مدیر سرور را باز کنید و "iSCSI Initiator" را از منوی "Tools" انتخاب کنید.

همانطور که می بینید، به طور پیش فرض سرویس اجرا نمی شود. با کلیک بر روی "بله" در کادر محاوره ای، سرویس iSCSI Initiator را راه اندازی کرده و آن را در حالت راه اندازی خودکار قرار می دهیم.

سپس در پنجره Properties به تب "Configuration" بروید و مقدار IQN را به خاطر بسپارید، در هنگام راه اندازی سرور برای ما مفید خواهد بود.

IQN (نام واجد شرایط iSCSI) یک شناسه منحصر به فرد است که به هر هدف و آغازگر iSCSI اختصاص داده شده است. IQN از تاریخ (ماه و سال) ثبت دامنه، نام دامنه رسمی به عقب و هر نام دلخواه مانند نام سرور تشکیل می شود. چیزی شبیه به این معلوم می شود: iqn:1991-05.com.microsoft:srv3.contoso.com

می توانید سرویس iSCSI Initiator را راه اندازی کنید و حالت راه اندازی آن را از کنسول PowerShell با استفاده از دستورات زیر تنظیم کنید:

Start-Service msiscsi
Set-Service msiscsi -StartupType اتوماتیک

نصب نقش iSCSI Target Server

حالا بیایید به SRV2 برویم و شروع به تنظیم بخش سرور کنیم. اولین کاری که باید انجام دهیم این است که نقش iSCSI Target را روی سرور نصب کنیم. مدیر سرور را باز کنید، پیوند "افزودن نقش ها و ویژگی ها" را دنبال کنید

و نقش “iSCSI Target Server” را که در قسمت File and Storage Services\File and iSCSI Services قرار دارد را انتخاب کنید.

یا از دستور PowerShell استفاده کنید:

Install-WindowsFeature -Name FS-iSCSITarget-Server

آماده سازی دیسک

حال بیایید یک دیسک فیزیکی آماده کنیم که برای ذخیره دیسک های مجازی iSCSI استفاده می شود. یک هارد دیسک جدید 120 گیگابایتی به طور خاص به این منظور به سرور متصل شده است. دیسک در حال حاضر غیر فعال است (آفلاین). برای فعال سازی آن در Server Manager به قسمت File and Storage Services -> Disks رفته و روی دیسک کلیک کرده و آن را به Online منتقل کنید.

حال باید یک پارتیشن (یا حجم) جدید روی این دیسک ایجاد کنید که برای آن آیتم New Volume را در منوی زمینه انتخاب می کنیم.

دیسک فیزیکی که حجم روی آن ایجاد می شود را انتخاب کنید

اندازه حجم را نشان می دهد

و حرف درایو را انتخاب کنید.

سپس سیستم فایل دیسک، اندازه بخش را انتخاب می کنیم و برچسب حجم را مشخص می کنیم. اجازه دهید در اینجا به شما یادآوری کنم که دیسک های مجازی iSCSI را فقط می توان بر روی حجم های NTFS ایجاد کرد؛ سیستم فایل جدید ReFS (Resilient File System) پشتیبانی نمی شود.

ما به اطلاعات خلاصه نگاه می کنیم و اگر همه چیز درست است، روی "ایجاد" کلیک کنید، شروع به ایجاد حجم می کنیم.

همین مراحل را می توان با استفاده از PowerShell انجام داد. دیسک مورد نیاز را پیدا کنید:

دریافت دیسک | کجا ($_.OperationalStatus -eq ″آفلاین″)

ما آن را آنلاین ترجمه می کنیم:

Set-Disk -Number 1 -IsOffline $false

مقدار دهی اولیه:

Initialize-Disk -Number 1

ایجاد یک بخش:

New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D

و آن را به NTFS فرمت کنید:

قالب-حجم -DriveLetter D -FileSystem NTFS -NewFileSystemLabel ″iSCSI Storage″

ایجاد دیسک های مجازی iSCSI

نکته بعدی در برنامه ما ایجاد دیسک های مجازی iSCSI است. برای انجام این کار، به بخش iSCSI بروید و روی پیوند کلیک کنید و جادوگر بعدی را اجرا کنید.

حجمی که دیسک مجازی روی آن ذخیره می شود را انتخاب کنید.

به دیسک یک نام و توضیحات بدهید.

اندازه دیسک مجازی و نوع آن را مشخص کنید. شما می توانید از بین سه گزینه انتخاب کنید:

اندازه ثابت - دیسک ایجاد شده بلافاصله کل حجم اختصاص داده شده را اشغال می کند. این مولدترین، اما کم هزینه ترین گزینه است.
به صورت پویا در حال گسترش - در ابتدا یک دیسک با حداقل اندازه ایجاد می شود که سپس بسته به میزان داده های نوشته شده روی آن به صورت پویا تغییر می کند. بهترین گزینه از نظر استفاده از فضای دیسک؛
Differencing - در این گزینه باید محل دیسک والد را که دیسک ایجاد شده به آن مرتبط می شود را مشخص کنید. دیسک تفاوت بسته به نوع والد می تواند ثابت یا پویا باشد. این نوع دیسک مزایای خود را دارد، اما من شخصاً استفاده از آنها برای iSCSI را فایده ای نمی بینم.

حال باید iSCSI Target را مشخص کنید که این دیسک به آن متصل می شود. از آنجایی که هیچ هدفی روی سرور ایجاد نشده است، "هدف iSCSI جدید" را انتخاب کنید.

ما به هدف یک نام و توضیحات می دهیم.

و سرورهایی را که می توانند به آن دسترسی داشته باشند را نشان می دهیم.

هنگام انتخاب سرور می توانید از دو روش استفاده کنید. اگر آغازگر روی Windows Server 2012 یا Windows 8 باشد، می‌توانید به سادگی روی «Browse» کلیک کنید و سرور مورد نظر را از لیست انتخاب کنید. برای سیستم های قدیمی، باید شناسه سرور را به صورت دستی وارد کنید. به عنوان یک شناسه، می توانید IQN آغازگر، نام DNS یا آدرس IP سرور یا آدرس MAC آداپتور شبکه را مشخص کنید.

برو جلو. در صفحه بعد می توانید احراز هویت CHAP را بین سرورها پیکربندی کنید. CHAP (Challenge Handshake Authentication Protocol) پروتکلی برای تأیید صحت یک شریک اتصال، بر اساس استفاده از رمز عبور یا رمز مشترک است. برای iSCSI، می توانید احراز هویت یک طرفه یا دو طرفه (معکوس) CHAP را فعال کنید.

ما بررسی می کنیم که تنظیمات درست باشد و شروع به ایجاد دیسک می کنیم.

بیایید سعی کنیم همین کار را با استفاده از PowerShell انجام دهیم. بیایید یک دیسک مجازی 20 گیگابایتی iSCSI با دستور زیر ایجاد کنیم:

New-IscsiVirtualDisk -Path D:\iSCSIVirtualDisks\iSCSI2.vhdx

لطفاً توجه داشته باشید که به طور پیش فرض یک دیسک پویا ایجاد می شود؛ برای ایجاد یک VHD با اندازه ثابت باید از کلید استفاده کنید. -UseFixed.

اکنون یک هدف دوم iSCSI به نام iscsi-target-2 ایجاد می کنیم و IQN SRV3 را به عنوان سرور دسترسی مشخص می کنیم:

New-IscsiServerTarget -TargetName iscsi-target-2 -InitiatorIds ″IQN:iqn.1991-05.com.microsoft:srv3.contoso.com″

و نتیجه را با دستور بررسی کنید:

Get-IscsiServerTarget | fl TargetName، LunMappings

ارتباط

به SRV2 برمی گردیم، پنجره خصوصیات آغازگر را باز می کنیم، به تب Discovery می رویم و روی دکمه Discover Portal کلیک می کنیم.

نام یا آدرس IP پورتال را وارد کرده و OK کنید.

به طور پیش‌فرض، iSCSI از تمام آدرس‌های IP موجود استفاده می‌کند و اگر می‌خواهید ترافیک iSCSI فقط از طریق یک رابط شبکه خاص عبور کند، باید به تنظیمات پیشرفته بروید و IP مورد نظر را در قسمت «Connect using» مشخص کنید.

اکنون به تب Targets بروید، جایی که تمام اهداف iSCSI موجود برای اتصال باید نمایش داده شوند. هدف مورد نظر را انتخاب کنید و روی "اتصال" کلیک کنید.

فراموش نکنید که چک باکس «افزودن این اتصال به لیست اهداف مورد علاقه» را علامت بزنید، که اتصال خودکار به هدف را هنگام خاموش یا راه‌اندازی مجدد دستگاه تضمین می‌کند.

اتصال موفقیت آمیز است و اگر Snap-in Disk Management را باز کنید، دیسک جدیدی در آنجا ظاهر می شود. سپس با این دیسک مانند یک هارد دیسک معمولی متصل به صورت محلی رفتار می کنیم - آن را به Online انتقال می دهیم، مقداردهی اولیه می کنیم، پارتیشن هایی روی آن ایجاد می کنیم و آن را فرمت می کنیم.

همین کار را می توان با استفاده از PowerShell انجام داد. ما لیستی از اهداف موجود را نمایش می دهیم:

Get-IscsiTarget | fl

و به آنچه نیاز دارید متصل شوید:

Connect-IscsiTarget -NodeAddress ″iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target″ -IsPersistent $true

کلید -IsPersistent $trueاتصال خودکار را هنگام خاموش یا راه اندازی مجدد فراهم می کند.

خوب، برای قطع کردن، می توانید از دستور Disconnect-IscsiTarge استفاده کنید، مانند این:

Disconnect-IscsiTarget -NodeAddress ″iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target″ -تأیید:$false

نتیجه

این راه اندازی را کامل می کند. همانطور که گفتم، این ساده ترین و ابتدایی ترین گزینه برای راه اندازی فضای ذخیره سازی است. بسیاری از ویژگی های جالب در iSCSI وجود دارد. برای مثال، می‌توانید از سرویس نام iSCSI (iSNS) برای سهولت مدیریت، ورودی/خروجی چند مسیری (MPIO) برای تحمل خطا، و پیکربندی تأیید اعتبار CHAP و رمزگذاری ترافیک IPSec برای امنیت استفاده کنید. قصد دارم در مقالات بعدی در مورد برخی از این ویژگی ها بنویسم.

و در نهایت، نکات مهمی که باید هنگام سازماندهی یک سیستم ذخیره سازی iSCSI در نظر گرفت:

توصیه می شود iSCSI را در یک شبکه سریع، حداقل اترنت گیگابیت، مستقر کنید.
توصیه می شود ترافیک شبکه iSCSI را از سایر ترافیک ها جدا کنید و آن را در یک شبکه جداگانه قرار دهید، به عنوان مثال، با استفاده از یک VLAN یا تقسیم فیزیکی به زیر شبکه ها.
برای اطمینان از دسترسی بالا در سطح شبکه، استفاده از فناوری MPIO یا جلسات چند اتصالی (MCS) ضروری است. تیم آداپتور شبکه (NIC Teaming) برای اتصال به دستگاه های ذخیره سازی iSCSI پشتیبانی نمی شود.
هنگام استفاده از فناوری Storage Spaces، می توانید دیسک های مجازی iSCSI را در Storage Spaces ذخیره کنید، اما نمی توانید از iSCSI LUN برای ایجاد فضاهای ذخیره سازی استفاده کنید.
Cluster Shared Volume (CSV) نمی تواند برای ذخیره دیسک های مجازی iSCSI استفاده شود.

با ظهور کانال فیبر و SAN های ساخته شده بر روی آن، دنیای ذخیره سازی شرط خود را بر روی دسترسی شبکه به سیستم های ذخیره سازی گذاشته است. تقریباً همه به اتفاق آرا اعلام کردند که شبکه های ذخیره سازی آینده هستند. برای چندین سال، رابط FC استاندارد بلامنازع ساخت آنها باقی ماند، اما امروزه بسیاری می دانند که زمان تغییر فرا رسیده است. چند اشکال جدی برای SAN مبتنی بر FC وجود دارد - قیمت و مشکلات دسترسی جغرافیایی (در فاصله بیش از صدها کیلومتر) به دستگاه های راه دور. اخیراً تعدادی ابتکار ظاهر شده است که در مرحله استانداردسازی هستند و برای حل یا دور زدن این مشکلات طراحی شده اند. جالب ترین آنها iSCSI است.

ترکیب حروف iSCSI به طور فزاینده ای در صفحات روزنامه ها و دفترچه های تولید کنندگان پیشرو سیستم های ذخیره سازی داده ظاهر می شود. به منابع اختصاص داده شده به ذخیره سازی نگاهی بیندازید و مطمئناً آن را خواهید دید. اما، با نگاهی به مقالات و اخبار، به احتمال زیاد عبارات کاملاً متضادی خواهید یافت: برخی iSCSI را به عنوان رهبر غیرقابل انکار شبکه های ذخیره سازی در آینده نزدیک معرفی می کنند، برخی دیگر حتی قبل از تولد آن به آن پایان می دهند.

Sun مخالف ذخیره IP است

Sun با IP Storage مخالفت کرده است. Sun Microsystems سیستم های ذخیره سازی با دسترسی IP را آزاد نمی کند. به گزارش Byte and Switch، Mark Canepa، معاون تمام سیستم‌های ذخیره‌سازی Sun، اخیراً گفته است که IP Storage فقط یک رویا است.

کانپا گفت که " استفاده از TCP/IP برای سازماندهی SAN به دلیل تأخیر بالاتر در چنین شبکه هایی غیرعملی است. حتی اگر آینده‌ای برای شبکه‌های ذخیره‌سازی مبتنی بر IP وجود داشته باشد، سه تا پنج سال دیگر یا شاید هیچ‌وقت باقی نخواهد ماند. جریان ذخیره‌سازی نمی‌تواند در بالای یک پشته پروتکل هدف عمومی اجرا شود؛ نیازهای ویژه‌ای دارد. چالش های تکنولوژیکی پیاده سازی TCP/IP بسیار بیشتر از آن چیزی است که بسیاری از مردم فکر می کنند. به همین دلیل است که ما در Sun روی کانال فیبر شرط بندی می کنیم"، او گفت. تا به حال، هیچ سازنده سیستم ذخیره سازی چنین موضع روشنی در برابر IP Storage اتخاذ نکرده است. رقبای Sun، هیولت پاکارد و آی بی ام، کم و بیش فعالانه از این فناوری ها حمایت می کنند.

HP قول پشتیبانی از iSCSI را می دهد

« مارک تامپسون، رئیس بخش سیستم های ذخیره سازی شبکه HP گفت که نسخه نهایی فناوری جدید باید در سه ماهه اول سال 2002 ظاهر شود. این شرکت در نظر دارد طیف گسترده ای از محصولات را که از استاندارد iSCSI پشتیبانی می کنند را معرفی کند که برای ترکیب سیستم های ذخیره سازی در شبکه های IP طراحی شده است.»

HP اذعان می کند که کاربران سیستم های کانال فیبر احساس راحتی می کنند و بیشتر به سمت فناوری مدرن FCIP کشیده می شوند تا iSCSI. اما در عین حال، اچ پی معتقد است که تجربه راه حل های مبتنی بر IP و به ویژه اترنت، محصولات iSCSI را برای بسیاری از مشتریان جذاب خواهد کرد.

Computerworld، شماره 35/2001: "سیستم های ذخیره سازی فدرال"

IBM محصول مبتنی بر iSCSI را منتشر کرد

IBM TotalStorage IP Storage 200i اتصال مستقیم به درایوهای اترنت LAN را فراهم می کند. این سیستم ذخیره سازی با سرعت بالا از استاندارد صنعتی جدید iSCSI پشتیبانی می کند که پروتکل SCSI را از طریق IP ارائه می دهد.

خوب، چنین پیام های متناقضی برای ما چاره ای باقی نمی گذارد جز اینکه خودمان آن را بفهمیم و به طور مستقل جوانب مثبت و منفی را بسنجیم.

iSCSI

« iSCSI (Internet Small Computer System Interface) پروتکلی است که مبتنی بر TCP/IP است و برای ارتباط و مدیریت سیستم های ذخیره سازی، سرورها و کلاینت ها طراحی شده است.».

iSCSI شرح می دهد:

  • پروتکل انتقال برای SCSI که در بالای TCP اجرا می شود
  • مکانیزم جدید برای کپسوله کردن دستورات SCSI در یک شبکه IP
  • پروتکلی برای نسل جدیدی از سیستم های ذخیره سازی که از TCP/IP بومی استفاده خواهند کرد

بلافاصله خشم به وجود می آید، شما می خواهید همه چیز را در انبوه های جداگانه قرار دهید. همانطور که یکی از معلمان من گفت: "کتلت ها جدا هستند، مگس ها جدا هستند." واقعیت این است که قوانین تحویل بسته ها به IP و SCSI کاملاً مخالف است. در IP، بسته ها بدون رعایت یک توالی دقیق به گیرنده تحویل داده می شوند و او نیز داده ها را بازیابی می کند که به منابع خاصی نیاز دارد. در عین حال، طبق مشخصات SCSI، به عنوان رابط کانال، همه بسته ها باید یکی پس از دیگری بدون تاخیر ارسال شوند و نقض این ترتیب منجر به از دست رفتن اطلاعات می شود. علیرغم این واقعیت که به گفته برخی از کارشناسان، این مشکل باعث ایجاد ابهام در استفاده عملی از فناوری iSCSI می شود، امروزه تعدادی دستگاه در حال حاضر پیاده سازی شده اند که دوام آن را تایید می کنند. مهندسانی که روی iSCSI کار کردند توانستند این مشکل را به روشی خاص حل کنند. مشخصات iSCSI به اندازه های هدر بسته بزرگتر نیاز دارد. اطلاعات اضافی در هدر گنجانده شده است که به طور قابل توجهی سرعت مونتاژ بسته ها را افزایش می دهد.

به گفته یکی از طرفداران iSCSI، هیمور، مهندس ارشد سیستم در دانشگاه یوتا، مانع اصلی گسترش اترنت به عنوان فناوری زیربنایی برای ساخت شبکه‌های ذخیره‌سازی، تأخیر نسبتاً بالا (نزدیک به 75 میکروثانیه) است که به وجود می‌آید. با توجه به ویژگی های پشته TCP / IP. در سیستم های پیشرفته، هنگام دسترسی به هزاران فایل به طور همزمان، این می تواند به یک مشکل جدی تبدیل شود.

افرادی که روی iSCSI کار می کنند اهمیت تاخیر را درک می کنند. و با وجود این واقعیت که ابزارهای زیادی برای کاهش تأثیر پارامترهایی که باعث تاخیر در پردازش بسته های IP می شوند در حال توسعه هستند، فناوری iSCSI برای ساخت سیستم های سطح متوسط ​​قرار گرفته است.

iSCSI بسیار سریع در حال تکامل است. نیاز به یک استاندارد جدید به شدت احساس شد که به معنای واقعی کلمه در عرض 14 ماه پس از پیشنهاد ایجاد iSCSI، که توسط IETF در فوریه 2000 ارائه شد، دستگاه‌های زیادی ظاهر شدند که امکانات تعامل خود را نشان می‌دادند. در ژوئیه 2000، پیش نویس 0 برای iSCSI منتشر شد که آغاز کار بر روی اجرای این فناوری بود. در ژانویه 2001، در چارچوب SNIA (انجمن صنعت شبکه های ذخیره سازی)، یک انجمن IP Storage ایجاد شد که شش ماه بعد از آن 50 عضو داشت و در آوریل همان سال، محصولی ارائه شد که به زودی برنده "Enterprise" شد. جایزه محصول شبکه

چه چیزی در مورد iSCSI آنقدر شگفت انگیز است که بدون توجه به تناقضاتی که در استانداردها وجود دارد، در میان غول های صنعت کامپیوتر پشتیبانی می شود.

برخی از مهمترین وظایف و عملکردهای کاربردی که با استفاده از سیستم های ذخیره سازی داده پیاده سازی می شوند عبارتند از:

وظایفی که به طور موثر با استفاده از روش های مدرن اجرا می شوند:

    · یکپارچه سازی سیستم های ذخیره سازی داده ها · پشتیبان گیری از داده ها · خوشه بندی سرور · تکرار (تکراری) · بازیابی بلایا

ویژگی های جدیدی که به طور موثر با استفاده از IP Storage پیاده سازی می شوند:

    · توزیع جغرافیایی SAN · QoS · امنیت

در عین حال، سیستم‌های ذخیره‌سازی داده‌های جدید که iSCSI برای آنها یک پروتکل بومی خواهد بود، مزایای زیادی ایجاد می‌کند:

    · ارائه فناوری یکپارچه برای اتصال سیستم های ذخیره سازی، سرورها و کلاینت ها در LAN، WAN، SAN · تجربه صنعت قابل توجه در فناوری های اترنت و SCSI · امکان فاصله جغرافیایی قابل توجه سیستم های ذخیره سازی · امکان استفاده از ابزارهای مدیریت شبکه TCP/IP

علاوه بر این، برای انتقال داده ها به فضای ذخیره سازی با رابط iSCSI، می توانید نه تنها از رسانه ها، سوئیچ ها و روترهای شبکه های LAN/WAN موجود، بلکه از کارت های شبکه معمولی در سمت کلاینت نیز استفاده کنید. با این حال، در این مورد، هزینه های سربار قابل توجهی برای قدرت پردازنده در سمت مشتری ایجاد می شود که از چنین کارتی استفاده می کند. به گفته توسعه دهندگان، پیاده سازی نرم افزار iSCSI می تواند به سرعت رسانه انتقال داده گیگابیتی اترنت با بار قابل توجه و تا 100 درصد بر روی CPU های مدرن برسد. در این رابطه، توصیه می شود از کارت های شبکه ویژه ای استفاده کنید که مکانیسم هایی را برای تخلیه CPU از پردازش پشته TCP پشتیبانی می کنند. در زمان نگارش این مقاله (ژوئن 2002) چنین کارتهایی توسط اینتل تولید شد.

آداپتور ذخیره سازی IP اینتل PRO/1000T توسط اینتل با قیمت 700 دلار در هر واحد ارائه می شود. این دستگاه دارای پردازنده قدرتمند Xscale، حافظه 32M است و محاسبات مربوط به پروتکل های iSCSI و TCP/IP و همچنین محاسبه TCP، IP frame checksums را به پردازنده یکپارچه منتقل می کند. عملکرد آن، طبق تست‌های داخلی شرکت، می‌تواند به ۵۰۰ مگابیت بر ثانیه در ۳ تا ۵ درصد بار CPU سیستم میزبان برسد.

بیایید نگاهی دقیق تر به iSCSI بیندازیم

شکل 1. شبکه IP با استفاده از دستگاه های iSCSI

در مثال نشان داده شده در شکل 1، هر سرور، ایستگاه کاری و درایو از یک رابط اترنت و یک پشته پروتکل iSCSI پشتیبانی می کند. روترهای IP و سوئیچ های اترنت برای سازماندهی اتصالات شبکه استفاده می شوند.

با معرفی SAN، ما توانستیم از پروتکل SCSI در زیرساخت های شبکه استفاده کنیم و انتقال داده ها را با سرعت بالا در سطح بلوک بین عناصر چندگانه شبکه ذخیره سازی فراهم کنیم.

رابط سیستم کامپیوتر کوچک اینترنت نیز دسترسی بلوکی به داده ها را فراهم می کند، اما نه به تنهایی، بلکه در بالای شبکه های TCP/IP.

معماری SCSI معمولی بر اساس یک مدل "مشتری"/"سرور" است. یک "کلینت"، مانند یک سرور یا ایستگاه کاری، درخواست هایی را برای خواندن یا نوشتن داده ها از یک مجری - یک "سرور"، مانند یک سیستم ذخیره سازی، آغاز می کند. دستورات صادر شده توسط "مشتری" و پردازش شده توسط "سرور" در بلوک توصیفگر فرمان (CDB) قرار می گیرند. "سرور" دستور را اجرا می کند و پایان اجرای آن با یک سیگنال خاص نشان داده می شود. کپسول‌سازی و تحویل مطمئن تراکنش‌های CDB بین آغازگرها و اجراکنندگان از طریق یک شبکه TCP/IP، وظیفه اصلی iSCSI است، و باید در یک محیط غیر سنتی SCSI، بالقوه غیرقابل اعتماد شبکه‌های IP انجام شود.

در اینجا مدلی از لایه‌های پروتکل iSCSI وجود دارد که درک ترتیب کپسوله‌سازی دستورات SCSI برای انتقال آنها از طریق رسانه فیزیکی را ممکن می‌سازد.


شکل 2. مدل لایه های پایین پروتکل iSCSI

پروتکل iSCSI انتقال بلوک های داده را نظارت می کند و صحت کامل بودن عملیات I/O را تایید می کند. که به نوبه خود از طریق یک یا چند اتصال TCP ارائه می شود.

iSCSI دارای چهار جزء است:

  • مدیریت نام ها و آدرس ها (آدرس iSCSI و قراردادهای نامگذاری).
  • مدیریت جلسات (iSCSI Session Management).
  • رسیدگی به خطا (iSCSI Error Handling).
  • امنیت (iSCSI Security).

مدیریت نام ها و آدرس ها

از آنجایی که دستگاه های iSCSI اعضای یک شبکه IP هستند، دارای نهادهای شبکه جداگانه هستند. یک موجودیت شبکه می تواند شامل یک یا چند گره iSCSI باشد.


شکل 3. مدل موجودیت شبکه

گره iSCSI یک شناسه دستگاه های SCSI (در نهاد شبکه) است که از طریق شبکه قابل دسترسی است. هر گره iSCSI یک نام iSCSI منحصر به فرد (حداکثر 255 بایت طول) دارد که طبق قوانین اتخاذ شده برای نامگذاری گره ها در اینترنت شکل می گیرد. به عنوان مثال: "fqn.com.ustar.storage.itdepartment.161". این نام فرمی قابل خواندن برای انسان دارد و می تواند توسط یک سرور نام دامنه (DNS) پردازش شود. بنابراین، نام iSCSI شناسایی صحیح دستگاه iSCSI را بدون توجه به موقعیت فیزیکی آن تضمین می کند. در عین حال، در فرآیند نظارت و انتقال داده ها بین دستگاه ها، استفاده از ترکیبی از آدرس IP و پورت TCP که توسط پورتال شبکه ارائه می شود، راحت تر است. پروتکل iSCSI، علاوه بر نام‌های iSCSI، از نام‌های مستعار پشتیبانی می‌کند، که معمولاً برای سهولت شناسایی و مدیریت توسط مدیران سیستم در سیستم‌های مدیریتی نمایش داده می‌شوند.

مدیریت جلسه

یک جلسه iSCSI از یک مرحله احراز هویت (فاز ورود) و یک مرحله تبادل (فاز ویژگی کامل) تشکیل شده است که با یک دستور خاص تکمیل می شود.

مرحله احراز هویت iSCSI مشابه فرآیند ورود به کانال فیبر کانال (PLOGI) است. برای مذاکره با پارامترهای مختلف بین دو نهاد شبکه و تأیید حقوق دسترسی آغازگر استفاده می شود. اگر مرحله احراز هویت iSCSI موفقیت آمیز باشد، مجری ورود به آغازگر را تایید می کند، در غیر این صورت ورود تایید نمی شود و اتصال TCP بسته می شود.

به محض تایید ورود، جلسه iSCSI به مرحله تبادل منتقل می شود. اگر بیش از یک اتصال TCP برقرار شده باشد، iSCSI نیاز دارد که هر جفت فرمان/پاسخ از طریق یک اتصال TCP عبور کند. این روش تضمین می‌کند که هر فرمان خواندن یا نوشتن بدون نیاز به ردیابی اضافی هر درخواست هنگام عبور از رشته‌های مختلف اجرا می‌شود. با این حال، تراکنش های مختلف می توانند به طور همزمان از طریق اتصالات TCP مختلف در یک جلسه منتقل شوند.


شکل 4. iSCSI مثال بنویسید

در پایان تراکنش، آغازگر آخرین داده ها را ارسال/دریافت می کند و مجری پاسخی ارسال می کند که انتقال موفقیت آمیز داده ها را تایید می کند.

در صورت نیاز به بستن یک جلسه، از دستور خروج iSCSI استفاده می شود که اطلاعات مربوط به دلایل پایان جلسه را منتقل می کند. همچنین می‌تواند اطلاعاتی را در مورد اینکه کدام اتصال باید در صورت بروز خطای اتصال بسته شود، برای بستن اتصالات مشکل‌ساز TCP منتقل کند.

خطا در پردازش

با توجه به احتمال بالای رخ دادن خطا در حین انتقال داده در برخی از انواع شبکه های IP، به ویژه پیاده سازی های WAN که iSCSI می تواند در آنها کار کند، این پروتکل اقدامات مدیریت خطای زیادی را ارائه می دهد.

برای اینکه مدیریت خطا و بازیابی شکست به درستی عمل کنند، آغازگر و اجراکننده هر دو باید بتوانند دستورات را تا زمانی که تایید شوند بافر کنند. هر دستگاه نهایی باید بتواند به‌عنوان بخشی از یک تراکنش، یک PDU گم‌شده یا خراب را به‌عنوان بخشی از یک تراکنش برای بازیابی انتقال داده بازیابی کند.

سلسله مراتب مدیریت و بازیابی خطای iSCSI شامل موارد زیر است:

  1. در پایین ترین سطح، تشخیص خطا و بازیابی اطلاعات در سطح وظیفه SCSI، به عنوان مثال، ارسال مجدد یک PDU از دست رفته یا آسیب دیده.
  2. در سطح بعدی، ممکن است خطایی در اتصال TCP رخ دهد که وظیفه SCSI را منتقل می کند، یعنی اتصال TCP ممکن است آسیب ببیند. در این مورد، تلاش برای بازیابی اتصال انجام می شود.
  3. و در نهایت، خود جلسه iSCSI ممکن است خراب شود. اگر ترمیم در سطوح دیگر به درستی انجام شود، معمولاً خاتمه و ترمیم جلسه مورد نیاز نیست، اما ممکن است برعکس این اتفاق بیفتد. این وضعیت مستلزم بستن تمام اتصالات TCP، تکمیل تمام وظایف، دستورات SCSI ناتمام و راه اندازی مجدد جلسه با ورود مجدد است.

ایمنی

با توجه به استفاده از iSCSI در شبکه هایی که دسترسی غیرمجاز به داده ها امکان پذیر است، این مشخصات امکان استفاده از انواع روش ها را برای بهبود امنیت فراهم می کند. ابزارهای رمزگذاری مانند IPSec که از لایه‌های پایین‌تر استفاده می‌کنند، نیازی به مذاکره اضافی ندارند، زیرا برای لایه‌های بالایی از جمله iSCSI شفاف هستند. برای احراز هویت، می توان از راه حل های مختلفی استفاده کرد، به عنوان مثال، Kerberos یا Private Key Exchange؛ یک سرور iSNS می تواند به عنوان مخزن کلید استفاده شود.

سایرین (iFCP، FCIP)

به عنوان بخشی از کار بر روی فناوری های ذخیره سازی داده های شبکه، کارگروه مهندسی اینترنت (IETF) یک گروه کاری ذخیره سازی IP (IPS) در زمینه های زیر ایجاد کرد:

  • iSCSI (رابط سیستم های کامپیوتری کوچک اینترنتی)
  • FCIP (کانال فیبر از طریق TCP/IP)
  • iFCP (پروتکل کانال فیبر اینترنت)
  • iSNS (سرویس نام فضای ذخیره‌سازی اینترنت)

و همچنین، همانطور که قبلا ذکر شد، در ژانویه 2001، یک انجمن IP Storage در چارچوب SNIA (انجمن صنعت شبکه ذخیره سازی) سازماندهی شد. امروز انجمن شامل سه زیر گروه است: FCIP، iFCP، iSCSI. که هر کدام نشان دهنده پروتکلی است که تحت حفاظت IETF است.

FCIP- یک پروتکل تونلی ایجاد شده بر اساس TCP/IP، که وظیفه آن اتصال FC SAN های جغرافیایی دوردست بدون هیچ گونه تاثیری بر پروتکل های FC و IP است.

iFCP- یک پروتکل ایجاد شده بر اساس TCP/IP برای اتصال سیستم های ذخیره سازی داده FC به شبکه های ذخیره سازی داده FC، با استفاده از زیرساخت IP همراه با یا به جای سوئیچینگ FC و عناصر مسیریابی.

iSCSI- در بالا بحث شد ...

برای درک بهتر موقعیت این سه پروتکل، ما یک بلوک دیاگرام از شبکه های ساخته شده با استفاده از آنها را ارائه می دهیم.


شکل 5. بلوک دیاگرام شبکه های ذخیره سازی IP

کانال فیبر از طریق IP

کمترین انقلابی در بین سه مورد ذکر شده در بالا، پروتکل Fiber Channel over IP است. عملاً هیچ تغییری در ساختار SAN یا سازماندهی خود سیستم های ذخیره سازی داده ایجاد نمی کند. ایده اصلی این پروتکل پیاده سازی امکان ترکیب شبکه های ذخیره سازی داده های جغرافیایی دور است.

پشته پروتکل FCIP به این صورت است:


شکل 6. لایه های پایین پروتکل FCIP

FCIP به حل موثر مشکل توزیع سرزمینی و جمع آوری SAN در فواصل طولانی کمک می کند. مزایای اصلی آن این است که این پروتکل برای شبکه های FC SAN موجود کاملاً شفاف است و بر استفاده از زیرساخت شبکه های مدرن MAN/WAN متمرکز است. بنابراین، برای ارائه عملکرد جدید، کاربرانی که به دنبال فرصت هایی برای اتصال FC SAN های دوردست جغرافیایی هستند، تنها به یک دروازه FCIP و اتصال به شبکه MAN/WAN نیاز دارند. یک SAN توزیع شده جغرافیایی که با استفاده از FCIP ساخته شده است توسط دستگاه های SAN به عنوان یک شبکه FC معمولی درک می شود و برای شبکه MAN/WAN که به آن متصل است، ترافیک IP منظم را نشان می دهد.

پیش نویس استاندارد IETF IPS - FCIP کارگروه تعریف می کند:

  • قوانین محصور کردن فریم های FC برای انتقال از طریق TCP/IP.
  • قوانین استفاده از کپسوله سازی برای ایجاد ارتباط مجازی بین دستگاه های FC و عناصر شبکه FC؛
  • محیط TCP/IP برای پشتیبانی از ایجاد ارتباطات مجازی و ارائه تونل زنی ترافیک FC بر روی شبکه IP، از جمله مسائل امنیتی، یکپارچگی داده و سرعت انتقال داده.

از جمله مشکلات کاربردی که می توان با استفاده از پروتکل FCIP به طور موثر حل کرد عبارتند از: پشتیبان گیری از راه دور، بازیابی اطلاعات و دسترسی عمومی به داده ها. هنگام استفاده از ارتباطات پرسرعت MAN/WAN، می‌توانید با موفقیت از موارد زیر استفاده کنید: تکثیر داده‌های همزمان و دسترسی توزیع‌شده مشترک به سیستم‌های ذخیره‌سازی داده.

iFCP

پروتکل کانال فیبر اینترنت پروتکلی است که انتقال ترافیک FC را از طریق انتقال TCP/IP بین دروازه‌های iFCP فراهم می‌کند. در این پروتکل، لایه انتقال FC با انتقال شبکه IP جایگزین می شود، ترافیک بین دستگاه های FC با استفاده از TCP/IP مسیریابی و سوئیچ می شود. پروتکل iFCP امکان اتصال سیستم های ذخیره سازی FC موجود را به یک شبکه IP با پشتیبانی از خدمات شبکه ای که این دستگاه ها نیاز دارند را فراهم می کند.

پشته پروتکل iFCP به شکل زیر است:


شکل 7. لایه های پایین پروتکل iFCP

iFCP، با توجه به مشخصات:

  • فریم های FC را برای حمل و نقل در یک اتصال TCP از پیش تعریف شده پوشش می دهد.
  • سرویس های پیام رسانی و مسیریابی FC در دستگاه دروازه iFCP همپوشانی دارند، بنابراین، ساختارها و اجزای شبکه FC در یک FC SAN مشترک ادغام نمی شوند، بلکه توسط ابزارهای TCP/IP مدیریت می شوند.
  • به صورت پویا تونل های IP را برای فریم های FC ایجاد می کند

یکی از ویژگی های مهم iFCP این است که ارتباط دستگاه به دستگاه FC را از طریق شبکه IP فراهم می کند که بسیار انعطاف پذیرتر از ارتباطات SAN-to-SAN است. بنابراین، برای مثال، اگر iFCP یک پیوند TCP بین جفت‌های N_Port دو دستگاه FC داشته باشد، آن پیوند ممکن است سطح QoS خود را داشته باشد که با سطح QoS جفت دستگاه FC دیگر متفاوت خواهد بود.

نتیجه

به طور خلاصه، من می خواهم اطمینان کامل خود را ابراز کنم که کانال فیبر در آینده نزدیک در هیچ کجا ناپدید نخواهد شد، بازار FC SAN رشد و توسعه خواهد یافت. در عین حال، پروتکل‌های ذخیره‌سازی IP فرصتی را برای استفاده مؤثر از شبکه‌های ذخیره‌سازی در آن دسته از وظایف برنامه‌ای که FC نمی‌تواند پیاده‌سازی مؤثری برای آنها ارائه کند، فراهم می‌کند. با استفاده از پروتکل های FCIP و iFCP، شبکه های ذخیره سازی به صورت جغرافیایی توزیع می شوند. و معرفی iSCSI به نوبه خود امکان استفاده از مزایای SAN را در مناطقی که هنوز محقق نشده باقی مانده اند یا در چارچوب فناوری های رایج امروزی به طور ناکارآمد اجرا می شوند، ممکن می سازد.

P.S.

توسعه سریع شبکه های ذخیره سازی داده ها مبنایی برای شکل گیری مفهوم شبکه جهانی فضای ذخیره سازی شد. WWSAN یک شبکه ذخیره سازی در سراسر جهان است و ایجاد زیرساختی را فراهم می کند که دسترسی و ذخیره سازی داده های توزیع شده در سراسر جهان را با سرعت بالا فراهم می کند. این مفهوم بسیار نزدیک به WWW است که امروزه وجود دارد، اما بر اساس خدمات دیگر است. یکی از نمونه‌های اصلی، خدمات یک «مدیر» است که با ارائه ارائه به سراسر جهان سفر می‌کند. WWWSAN انتقال شفاف داده‌های «موبایل» را به دنبال حرکت شخصی صاحب آن در سراسر جهان فراهم می‌کند. بنابراین، مهم نیست که "مدیر" کجا باشد، او همیشه این فرصت را خواهد داشت که با سرعت بالا به داده های مورد نیاز خود دسترسی پیدا کند، کار با آنها نیازی به همگام سازی پیچیده و گاهی اوقات بسیار ناکارآمد از طریق WWW ندارد.

به جرات می توان گفت که مفهوم ساخت یک شبکه ذخیره سازی داده در سراسر جهان کاملاً با توسعه فناوری های مدرن ذخیره سازی IP مطابقت دارد.

اصطلاحات و اختصارات:

  • SAN - شبکه منطقه ذخیره سازی
  • CDB - بلوک توصیفگر فرمان، پروتکل توصیفگر فرمان (توضیح).
  • PDU - واحد داده پروتکل، واحد تبادل پروتکل، ماژول داده پروتکل.
  • QoS - abbr. از کیفیت خدمات، کیفیت و کلاس خدمات انتقال داده ارائه شده (معمولاً شبکه را از نظر تأخیر و پهنای باند سیگنال توصیف می کند).
  • SNIA - انجمن صنعت شبکه های ذخیره سازی، انجمن صنعت سیستم های ذخیره سازی شبکه.
  • DNS - سرور نام دامنه، سرور نام دامنه.
  • PLOGI - ورود درگاه کانال فیبر.
  • iSCSI - رابط سیستم های کامپیوتر کوچک اینترنت
  • FCIP - کانال فیبر از طریق TCP/IP
  • iFCP - پروتکل کانال فیبر اینترنت
  • iSNS - سرویس نام ذخیره‌سازی اینترنتی
  • WWSAN - شبکه جهانی فضای ذخیره سازی، یک شبکه ذخیره سازی داده در سراسر جهان

ادبیات:

  • "سان بعد از فیبر کانال" - لوکاس مریان. 02/12/2002: Computerworld, #05/2002;
  • آموزش ذخیره سازی IP, - SNIA;
  • iSCSI Technical White Paper, - SNIA.
  • پروتکل کانال فیبر اینترنت (iFCP) - مروری فنی، - SNIA.
  • انجمن ذخیره سازی، - HP EMEA، 12-13 ژوئن، 2002.

ابزارهای ساخت شبکه های ذخیره سازی به خودی خود بسیار گسترده هستند. با این حال، برخی از استانداردها و فناوری ها محبوبیت زیادی به دست آورده اند. پس از کانال فیبر، دومین پروتکل محبوب iSCSI است.

اطلاعات کلی در مورد iSCSI

iSCSI حروف اول عبارت Internet Small Computer System Interface هستند. گاهی اوقات این ترکیب حروف به عنوان اینترنت SCSI یا IP SCSI رمزگشایی می شود و علیرغم این واقعیت که چنین تفاسیری کاملاً با تفسیر اصلی مطابقت ندارد ، آنها حق زندگی دارند ، زیرا آنها به طور دقیق ماهیت iSCSI را توصیف می کنند - پروتکلی از پشته TCP/IP برای اتصال شبکه های خارجی سیستم های ذخیره سازی داده در حالت دسترسی بلوک.

همانطور که در بالا ذکر شد، این روش بر اساس ترجمه دستورات SCSI بر روی یک شبکه IP است. در حین کار، از پورت های TCP/IP، به طور پیش فرض 860 و 3260 استفاده می شود. در اصل، iSCSI نوعی حمل و نقل مانند یک پله برقی برای جابجایی دستورالعمل ها و داده های SCSI از طریق یک اتصال شبکه خارجی است. اجرای نهایی محیطی برای شبیه سازی یک گذرگاه SCSI محلی از طریق یک شبکه اترنت خارجی و غیره است.

برخلاف بسیاری از پروتکل‌های دیگر (FCIP، FCoE، و غیره)، که اساساً شاخه‌ای از کانال فیبر هستند، پروتکل iSCSI یک پیاده‌سازی مستقل است و استانداردی است که از ابتدا برای کار بر روی TCP/IP توسعه یافته است.

هدف iSCSi و آغازگر iSCSi

برای سازماندهی هر شبکه ذخیره سازی داده، سه جزء مورد نیاز است: یک سیستم ذخیره سازی داده، یک بخش مشتری و یک رسانه انتقال داده. در مورد iSCSI، اصطلاحات " هدف"و" آغازگر" به ترتیب.

هدف یا دستگاه هدف، - به زبان ساده، اساس سیستم ذخیره سازی، می تواند یک پیاده سازی نرم افزاری خالص، یک پیاده سازی نرم افزاری-سخت افزاری یا یک پیاده سازی کاملا سخت افزاری داشته باشد.

آغازگر- یک ماژول، اغلب یک برنامه، کمتر یک راه حل سخت افزاری با سیستم عامل خاص خود، که به شما امکان می دهد یک اتصال ایجاد کنید (آغاز کنید) و عملکردهای لازم را در سمت مشتری ارائه دهید - انتقال دستورات و داده های SCSI از طریق یک شبکه IP.

آدرس دهی هدف iSCSI

برای اطمینان از عملکرد موفقیت آمیز و بدون خطا، سیستم های ذخیره سازی متصل به شبکه باید یک آدرس شبکه منحصر به فرد داشته باشند. به عنوان مثال، شبکه های منطقه ذخیره سازی بر اساس کانال فیبراز آدرس های ویژه WWWN استفاده کنید. SAN های مبتنی بر iSCSI نیز سیستم آدرس دهی IQN خود را دارند ( نام واجد شرایط iSCSI).

هر یک از این آدرس ها یک شناسه منحصر به فرد است که برای شناسایی دقیق دستگاه های ذخیره سازی کار می کند. چگونه چنین منحصر به فردی حاصل می شود؟ بیایید فرمت IQN را در نظر بگیریم.

فرض کنید یک هدف iSCSI با آدرس زیر داریم: iqn.2017– 02.com.example:storage:diskarrays-sn-a9786410.

این با جزئیات بیشتر به چه معناست:
>iqn- پیشوندی که نشان می دهد آدرس متعلق به قالب IQN است.
> به دنبال آن یک نشانگر تاریخ به شکل "سال-ماه" ("سال-ماه") ارائه می شود که اغلب تاریخ ایجاد هدف را نشان می دهد. > یک نام دامنه رزرو شده، اغلب از فروشنده سخت افزار.
> کولون با شناسه هدف منحصر به فرد iSCSI دنبال می شود.

این سیستم یک راه حل کاملا راحت است. با مطالعه IQN، به راحتی می توانید اطلاعات بیشتری در مورد زمان ایجاد، نوع تجهیزات و/یا فروشنده به دست آورید.

توجه داشته باشید.به قیاس با کانال فیبرسرویس iSNS (سرویس نام ذخیره سازی اینترنتی) به شما امکان می دهد از جمله شبکه های iSCSI را مدیریت کنید. این امکان استفاده را فراهم می کند iSNSبه عنوان یک نقطه ورود متمرکز واحد برای عملیات SAN.

گزینه های اجرای هدف iSCSI

پیاده سازی نرم افزار

نمونه ای از پیاده سازی نرم افزار یک محصول نرم افزاری است نرم افزار StarWind iSCSI Target، که اجرای iSCSI target را بر روی سرورهای معمولی که سیستم عامل های خانواده MS Windows را اجرا می کنند، فراهم می کند. شما فقط باید برنامه را نصب کنید، تنظیمات جزئی را انجام دهید و ذخیره سازی بلوک سطح ورودی شما آماده اتصال به سرور دیگری است.

پیاده سازی سخت افزار

به عنوان یک پیاده سازی سخت افزاری، می توانید دستگاه های تخصصی را تصور کنید، به عنوان مثال از HP - HP P2000 MSAبا سفت‌افزار ویژه، رابط‌های تخصصی با تراشه و سفت‌افزار ویژه که بیشتر وظایف پردازش ترافیک را بر عهده می‌گیرد.

پیاده سازی نرم افزار و سخت افزار

این یک نوع راه حل مصالحه است - به عنوان مثال، یک سرور معمولی مبتنی بر پلت فرم اینتل x86_64، اما برای مثال با آداپتورهای شبکه تخصصی (TOE) و یک سیستم عامل سازگار NexentaStor، به شما امکان می دهد سازماندهی کنید هدف iSCSIهمانطور که می گویند، "درست از جعبه."

iSCSI HBA چیست؟

گاهی اوقات می توانید یک بیان پایدار پیدا کنید iSCSI HBA (آداپتور باس میزبان). در حقیقت، ما در مورد ماژول های شبکه سخت افزاری ویژه صحبت می کنیم که به شما امکان می دهد با انتقال بخشی از عملکرد به آداپتور شبکه، پردازنده را راحت کنید.

دو نوع از این دستگاه ها وجود دارد:
> موتورهای تخلیه TCP، به اختصار TOE. این دستگاه ها را می توان در جاهایی یافت که نیاز به افزایش عملکرد و در عین حال کاهش بار روی کل سیستم (پردازنده و غیره) باشد. این دستگاه فقط قادر به انجام عملیات پشتیبانی TC/IP است، اما قادر به استفاده از سایر قابلیت ها برای افزایش عملکرد سیستم های iSCSI نیست.

> دانلود کامل iSCSI HBAیک راه حل جامع است که شامل انتقال توابع برای پشتیبانی از TCP/IP و iSCSI به این دستگاه است. این انتخاب بهتری برای عملکرد در نظر گرفته می شود، اما البته هزینه بیشتری نسبت به TOE دارد.

با این حال، اینکه چه چیزی برای یک مورد خاص مناسب تر است، با آزمون های عملی بهتر مشخص می شود. توجه داشته باشید. بسیاری از آداپتورهای شبکه اترنت 10 گیگابیتی مدرن از پروتکل iSCSI پشتیبانی می کنند. بنابراین، هنگام انتخاب یک آداپتور شبکه برای ساخت iSCSI SAN، باید نه تنها روی قیمت اجزا، بلکه بر روی عملکردهای اضافی نیز تمرکز کنید. مشخصات مربوطه باید در وب سایت سازنده تجهیزات روشن شود.

تفاوت بین میزان فایل و وسعت دستگاه

علاوه بر سیستم‌های انتقال ترافیک، روش‌های مختلفی برای ذخیره داده‌ها به طور مستقیم در داخل ذخیره‌سازی وجود دارد.

بخشی از سیستم ذخیره سازی که مسئول ذخیره سازی داده های قابل دسترسی از طریق پروتکل iSCSI است Extent نامیده می شود.

فایل وسعت یا ظرف

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

با این رویکرد، ابتدا یک دیسک فیزیکی یا آرایه دیسک برای یک سیستم فایل خاص فرمت می شود، یک فایل کانتینر عظیم در این فایل سیستم ایجاد می شود، داخل آن سیستم فایل داخلی خودش است و داده های مشتری از قبل روی آن قرار می گیرد (نگاه کنید به عکس. 1).

البته زمانی که هر لایه جدید ایجاد می شود، قسمت مشخصی از فضای دیسک صرف ثبت اطلاعات سرویس می شود. در نتیجه حجم نهایی iSCSI بر اساس File Extent همیشه کمتر از حجم یک حجم منطقی خواهد بود و تلفات کلی می تواند بسیار قابل توجه باشد.

اکثر پیاده سازی ها اینگونه عمل می کنند هدف iSCSI. این روش ذخیره سازی، به بیان ملایم، بسیار خطرناک است. کوچکترین خطا در سیستم فایل هنگام نوشتن این فایل عظیم - و تمام داده های موجود در آن از بین می رود. چنین خطاهایی به راحتی به دلیل بوت سرد غیرمجاز، عملکرد نادرست کنترلر RAID (مخصوصاً برای کنترلرهای RAID تعبیه شده در مادربرد) و غیره رخ می دهد. بدون چک یا برنامه هایی مانند CheckDiskو نه به هیچ طریق دیگری تمام امید فقط برای یک نسخه پشتیبان به موقع است.

این روش علاوه بر امنیت پایین و مصرف فضای آزاد، به زبان ساده، چندان سازنده نیست. روش کار "همه در یک فایل" یک آنالوگ مستقیم از کار یک برنامه بایگانی است.

هزینه های سربار نیز با عملکرد بی پایان برنامه بایگانی در حالت فعال قابل مقایسه است.

گستره دستگاه

این روش یک راه حل ساده تر و اقتصادی تر است. از نام آن بر می آید که نه یک فایل جداگانه برای ذخیره، بلکه از کل دستگاه استفاده می شود. در این مورد، نیازی به ایجاد نوعی "matryoshka" نیست: سیستم فایل خارجی - محفظه فایل - سیستم فایل داخلی. در عوض، داده‌ها مستقیماً روی حجم دیسک با فرمت RAW نوشته می‌شوند. این به شما امکان می دهد تا به طور قابل توجهی سربار را کاهش دهید و از خطاهای احتمالی، به عنوان مثال، به دلیل چکمه سرد جلوگیری کنید.

گستره دستگاهبه شما امکان می دهد هنگام انتقال داده ها عملکرد بیشتری ارائه دهید، همچنین از بسیاری از مشکلات مرتبط با ویژگی های یک سیستم عامل خاص، اجرای خاص آغازگر iSCSI و غیره جلوگیری کنید. البته تمام این مزایا در صورت وجود درایور مناسب برای پیاده سازی سخت افزاری در دسترس خواهد بود هدف iSCSI. در غیر این صورت، دستگاه به سادگی کار نخواهد کرد.

گستره دستگاهرا می توان در سیستم های روی پلت فرم BSD یافت - FreeBSD و مشتقات آن: FreeNAS و NAS4Free.

تضمین امنیت هنگام ساخت iSCSI SAN

طرفداران پروتکل Fiber Channel، هنگام بحث در مورد مسائل مربوط به اجرای امنیت اتصال، همیشه Zoning را به یاد می آورند، مکانیزمی که در شبکه های FC وجود دارد. مکانیسم های مشابهی در iSCSI SAN وجود دارد.

محدود کردن دسترسی به شبکه با استفاده از هدف iSCSI

تقریباً تمام پیاده‌سازی‌های هدف iSCSI این توانایی را دارند که دسترسی به تمام آدرس‌ها را به‌جز گروه کوچکی از سرورها که به منابع ذخیره‌سازی نیاز دارند، به صورت برنامه‌نویسی محدود کنند. این روش را می توان با آن مقایسه کرد منطقه بندی نرم افزاریدر کانال فیبر، زمانی که آدرس پورت (دستگاه) به عنوان یک ویژگی استفاده می شود: آدرس IP برای iSCSI یا WWWN برای کانال فیبر.

محدود کردن دسترسی به شبکه از طریق ابزارهای خارجی

امکان دیگری که به نظر من موفقیت آمیزتر است، استفاده از سیستم های خارجی برای محدود کردن دسترسی به شبکه است. بنابراین، در بیشتر موارد، شبکه‌های iSCSI بر روی اترنت ساخته می‌شوند؛ جداسازی برخی از بخش‌ها با استفاده از VLAN یک روش خوب برای ایزوله کردن iSCSI SAN است که به طور موثر در برابر دسترسی غیرمجاز محافظت می‌کند. در اصل، VLAN برای iSCSI را می توان با منطقه بندی سخت افزاری برای کانال فیبر.در هر دو مورد، دسترسی بر اساس درگاه هایی که دستگاه ها به آن متصل هستند، محدود می شود.

احراز هویت CHAP

اغلب برای بررسی مشروعیت اتصال آغازگر iSCSI با هدف iSCSIپروتکل اعمال شد CHAP (پروتکل احراز هویت چالشی با دست دادن). اساس این روش به اشتراک گذاری یک کلید مخفی (مشابه رمز عبور) بین مشتری و سرور است.

در اکثر پیاده سازی ها هدف iSCSIپیاده سازی CHAP زیر را می توان استفاده کرد:
احراز هویت پایه یا یک طرفه CHAP ( احراز هویت یک طرفه CHAP). در این مورد، هویت آغازگر فقط توسط هدف iSCSI کنترل می شود. یک شناسه خاص، مانند رمز عبور، برای اتصال همه آغازگرها استفاده می شود.
احراز هویت دوطرفه CHAP. این روش چنین فرض می کند هدف iSCSI و آغازگر iSCSIاصالت یکدیگر را کنترل کنید در این مورد، یک توصیفگر منحصر به فرد جداگانه (به عنوان مثال، ورود و رمز عبور) برای شرکت کننده تبادل داده ایجاد می شود. احراز هویت RADIUS

توجه داشته باشید.این پروتکل برای پشتیبانی از احراز هویت، مجوز و کسب اطلاعات در مورد منابع استفاده شده پیاده سازی شده است. همچنین برای سیستم های تعرفه خدماتی که به کاربر ارائه می شد، یعنی برای صورتحساب استفاده می شد.

ویژگی خاص این راه حل این است که برخلاف CHAP، اعتبارسنجی RADIUS بین سرور RADIUS و کلاینت RADIUS انجام می شود. چه زمانی آغازگردرخواست دسترسی به منابع هدف iSCSI، مشتری درخواست اتصال کاربر را به سرور RADIUS ارسال می کند. مسئولیت تایید احراز هویت توسط سرور RADIUS. به طور مشابه، تبادل داده ها و اطلاعات خدمات بین آغازگر iSCSI و هدف iSCSI.

البته برای پیاده سازی این طرح امنیتی باید حداقل یک سرور RADIUS در شبکه داشته باشید.

احراز هویت با استفاده از رمزگذاری

علاوه بر روش هایی که در بالا توضیح داده شد - احراز هویت و محدود کردن دسترسی از طریق شبکه - انواع مختلفی از رمزگذاری را می توان برای اطمینان از افزایش امنیت هنگام کار با iSCSI استفاده کرد. شایان ذکر است که لازم نیست فقط یک روش احراز هویت را انتخاب کنید. به عنوان مثال، می توانید از رمزگذاری و احراز هویت با استفاده از CHAP یا RADIUS استفاده کنید.

شناخته شده ترین روش استفاده از IPsec است، پروتکلی که احراز هویت و رمزگذاری داده ها را در سطح بسته IP اعمال می کند. هنگام استفاده از IPsec، تمام بسته های IP رمزگذاری شده و بازرسی می شوند. بر این اساس، همه شرکت کنندگان در یک تبادل شبکه باید یک کلید مشترک برای احراز هویت یکدیگر و رمزگذاری بسته ها داشته باشند.

توانایی رمزگذاری منابع iSCSI به عنوان پارتیشن های دیسک نیز خود را به خوبی ثابت کرده است. چنین حجمی فقط از طریق یک برنامه عامل خاص با ورود اجباری رمز عبور و اتصال گواهی مربوطه قابل اتصال است.

حوزه های کاربردی iSCSI

در اصل، حوزه‌های کاربرد دستگاه‌های ذخیره‌سازی مبتنی بر iSCSI مانند کانال فیبر، و همچنین برای هر نوع دیگر از سیستم‌های ذخیره‌سازی که منابع را در حالت دسترسی بلوک فراهم می‌کنند، یکسان است.

با این حال، تا همین اواخر، به دلیل پهنای باند کم شبکه اترنت گیگابیتی، استفاده از iSCSI کاملاً محدود بود. با انتشار استاندارد اترنت 10 گیگابیتی و آغاز تولید انبوه تجهیزات مربوطه، وضعیت به طرز چشمگیری تغییر کرد.

iSCSI به طور سنتی برای سیستم های راه اندازی راه دور، سیستم های پشتیبان گیری و ایجاد سیستم های ذخیره سازی کلاس C استفاده می شود.

در عین حال، قابلیت‌های خوب تجهیزات شبکه اترنت 10 گیگابیتی، استفاده از iSCSI SAN را هم هنگام ساخت سیستم‌های مجازی‌سازی و هم برای ذخیره‌سازی پایگاه‌های داده، به طور خلاصه، برای تمام وظایفی که قبلاً استاندارد کانال فیبر غالب بود، ممکن می‌سازد.

iSCSI با چه سرعتی اجرا می شود؟

بر خلاف گذرگاه SCSI داخلی که دسترسی مستقیم به دستگاه‌ها را فراهم می‌کند، بسته‌های iSCSI از طریق یک اتصال شبکه غیرقابل اعتماد منتقل می‌شوند. برای اطمینان از عملکرد پایدار و کنترل تبادل داده ها و دستورات SCSI در این شرایط، از افزونگی در عملکرد پروتکل iSCSI استفاده می شود. این افزونگی در انتقال اطلاعات سربار اضافی منعکس می شود که برای نظارت بر انتقال بلوک، تأیید کامل شدن صحیح عملیات I/O و رسیدگی به خطاها استفاده می شود. همچنین اطلاعات سرویس از طریق نام های مناسب برای سیستم شناسایی دستگاه ضروری است. یکی دیگر از مشکلاتی که هنگام تبادل داده ها حل می شود، تضمین امنیت است. البته، همه اینها، همراه با فرآیند encapsulation-de-encapsulation، منجر به سربار اضافی می شود (شکل 2 را ببینید).

به منظور نشان دادن چشم انداز استفاده واقعی از این فناوری، به عنوان مثال یک محاسبه کوچک انجام می دهیم.

فرض کنید از یک اتصال اترنت گیگابیتی استفاده می کنیم (1 گیگابیت بر ثانیه). با تبدیل به مگابایت در ثانیه، دریافت می کنیم: 1024/8 = 128 مگابیت بر ثانیه.

برای به دست آوردن توان عملیاتی با در نظر گرفتن تمام هزینه های سربار، البته در یک تقریب نسبتاً تقریبی، مقدار حاصل را بر 2: 128 / 2 = 64 مگابیت بر ثانیه.

مقدار به دست آمده با سرعت انتقال داده هارد دیسک های استاندارد IDE PATA قابل مقایسه است UDMA66 (66 مگابیت بر ثانیه).

توجه داشته باشید. شایان ذکر است که حتی ترکیب دو لینک، به عنوان مثال، با استفاده از پروتکل LACP، در 100٪ موارد بهره وری را دو برابر نمی کند. پیاده سازی نرم افزار خاص سیستم انتقال داده نقش عمده ای ایفا می کند. در واقع، باید انتظار افزایش عرض کانال در محدوده را داشته باشیم 1,4-1,7 از ارزش اصلی

آیا سیستم های ذخیره سازی iSCSI واقعاً ارزان هستند؟

زمانی استاندارد iSCSI با نام مستعار "کانال فیبر مرد فقیر" شناخته می شد. در آن زمان، در همان ابتدای توسعه، اعتقاد بر این بود که فقط کافی است چندین کارت شبکه و یک سوئیچ ساده خریداری کنید و می توانید یک شبکه ذخیره سازی داده بسازید. بعداً معلوم شد که این کاملاً درست نیست.

اولا،پهنای باند شبکه های خانواده اترنت برای مدت طولانی به حداکثر سرعت محدود شده است 1 گیگابیت بر ثانیه. در آن زمان، Fiber Channel قبلاً از شبکه ها پشتیبانی می کرد SAN در 2 و 4 گیگابیت بر ثانیه

ثانیاًتقریباً کل بار برای اطمینان از عملکرد iSCSI روی دستگاه‌های انتهایی هدف iSCSI و آغازگر iSCSI می‌افتد. بنابراین، استفاده از iSCSI به منابع سیستم اضافی نیاز دارد. این همان چیزی است که باعث ایجاد دستگاه هایی برای "تخلیه" قدرت محاسباتی شد - TOE و کامل iSCSI HBA.

سوم،نباید فراموش کنیم که استفاده از iSCSI به منابع اضافی در قالب تجهیزات شبکه نیاز دارد. آداپتورهای شبکه، سوئیچ ها، پچ پنل ها - همه اینها هزینه دارد. به عنوان مثال، هزینه یک کارت شبکه اترنت 10 گیگابیتی با هزینه آن قابل مقایسه است FC HBA 8 یا حتی 16 گیگابیت بر ثانیه

از همه اینها نتیجه می شود که هیچ راه حل جهانی طبق اصل "این را بگیرید - ارزان و شاد خواهد بود" وجود ندارد. هر گزینه، خواه مبتنی بر شبکه ذخیره سازی باشد iSCSI یا کانال فیبر، هم از نظر فنی و هم از نظر مالی نیاز به مطالعه دقیق دارد.

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

چگونه سرعت iSCSI SAN را افزایش دهیم؟

  • از سوئیچ اختصاصی استفاده کنید. هنگام کار هدف iSCSI"در یک شبکه مشترک" سوئیچ ها علاوه بر دسترسی به سیستم های ذخیره سازی، مجبور به سرویس دهی بسیاری از تراکنش های رقابتی، به عنوان مثال، بین رایانه های اداری هستند که سرعت واقعی تبادل شبکه را کاهش می دهد. سوئیچ اختصاصی نیز یک اقدام امنیتی عالی است (به زیر مراجعه کنید).
  • از اقدامات امنیتی غیر ضروری استفاده نکنید. هرچه مکانیسم های امنیتی بیشتری استفاده شود، سیستم ذخیره سازی به طور کلی کندتر کار می کند. بله، ذخیره‌سازی‌های مدرن iSCSI به شما این امکان را می‌دهند که همزمان از محدودیت دسترسی به شبکه نرم‌افزاری، احراز هویت دوطرفه و رمزگذاری IPsec استفاده کنید. اما همه اینها در شرایط عادی چقدر ضروری است؟هنگام حل مشکلات ساده، کافی است به سادگی از یک سوئیچ اختصاصی استفاده کنید.
  • از سریعترین شبکه استفاده کنید. با این حال، باید به خاطر داشته باشید: اگر از سایر اجزای پیکربندی ضعیف یا قدیمی استفاده شود، به عنوان مثال، یک پردازنده قدیمی یا یک کنترل کننده زیرسیستم دیسک قدیمی، سریع ترین شبکه بی فایده خواهد بود.
  • گلوگاه را پیدا کنید و تجهیزات را ارتقا دهید سیستم ذخیره سازی (هدف iSCSI). امکان استفاده از آداپتورهای شبکه با پشتیبانی داخلی iSCSI را فراموش نکنید.
  • در صورت امکان استفاده کنید گستره دستگاهبرای کاهش سربار هنگام کار با زیرسیستم دیسک هدف iSCSI.
  • مراقب فضای آزاد باشید. از پر کردن حجم‌های iSCSI نصب‌شده با بیش‌تر از آن خودداری کنید 75-80% از حجم آنها به منظور جلوگیری از کاهش عملکرد. به یاد داشته باشید، هر سیستم ذخیره سازی، خواه یک هارد دیسک یا ذخیره سازی SAN باشد، پس از تجاوز از حد تعیین شده، کند می شود.
  • حجم دیسک های خیلی بزرگ ایجاد نکنید. پارتیشن‌های بزرگ دیسک متصل شده از طریق شبکه در حالت دسترسی بلوک می‌توانند باعث کاهش عملکرد به دلیل مشکلات در نمایه‌سازی، جستجو و قرار دادن اطلاعات روی پارتیشن دیسک شوند. همچنین باید بدانید که اگر شبکه از کار بیفتد، ممکن است خطاهایی در سیستم فایل منابع بلوک متصل ظاهر شود. بررسی حجم عظیمی از خطاها می تواند کار بسیار دشواری باشد.

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

در ادامه مبحث استفاده مفید از تجهیزات سرور قدیمی، این بار در مورد استفاده از سرور مدل صحبت خواهیم کرد IBM System x3200 4362به عنوان یک ذخیره سازی شبکه قابل دسترسی از طریق پروتکل iSCSIمانند هدف iSCSI. که در ما قبلاً چنین سروری را به عنوان ذخیره‌سازی برای نسخه‌های پشتیبان ماشین‌های مجازی با حذف نرم‌افزار از آن در نظر گرفته‌ایمکوادستور . با این حال، در مورد ما، وضعیت با این واقعیت تشدید شد که در برخی از سایت های راه دور که در آن ، ماشین های مجازی که از آنها نسخه پشتیبان تهیه شده بود در نهایت یک دیسک اضافی برای ذخیره محتوا برای نقطه توزیع دریافت کردند SCCM . و، همانطور که می دانید، محتویات دیسک هایی که برای توزیع محتوا در SCCM استفاده می شود، می تواند هر از گاهی به طور فعال تغییر کند (به روز رسانی های جدید دانلود می شوند ، به روز رسانی های منقضی شده حذف می شوند، برخی از نرم افزارها برای استقرار دانلود می شوند و غیره). بنابراین با توجه به اینکه نرم افزار مورد استفاده نسخه رایگان نسخه پشتیبان Veeamبه شما اجازه نمی دهد دیسک های مجازی منفرد متعلق به این ماشین مجازی را از نسخه پشتیبان یک ماشین مجازی حذف کنید، ما مجبور شدیم در مورد افزایش فضای دیسک در همین سرورهای IBM تصمیم بگیریم. در همان زمان، این سوال در مورد سودمندی deduplication مطرح شد که در صورت تغییر مکرر محتوا، کارایی خود را از دست می دهد.

"گیلاس روی کیک" در موقعیت توصیف شده این بود که سرور، که در مورد ما به عنوان یک هدف iSCSI (از اجرای Quadstor) استفاده می شود، یک قفس دیسک بسیار متوسط ​​دارد - فقط 4 اسلات SAS/SATA از فرم 3.5 اینچی. عاملی که دو مورد از آن توسط سیستم عامل میزبان لینوکس اشغال شده است.

در اینجا ما یکی از راه حل های ممکن برای مجموعه مشکلات و محدودیت های شرح داده شده را در نظر خواهیم گرفت که شامل جایگزینی نصب کامل سیستم عامل لینوکس با نصب تخصصی بارگیری شده از درایو USB و در حال اجرا در RAM است.توزیع لینوکس پروژه سیستم عامل ذخیره سازی سازمانی (ESOS). در هسته خود، ESOS یک هسته لینوکس مدرن است که برای اجرا در RAM با نرم افزار پروژه یکپارچه بهینه شده است. ، که نمونه ای از آن را قبلاً استفاده کرده ایم .

طرح کلی رویدادها به این صورت خواهد بود:

  • دیسک های با ظرفیت کم را از قفس دیسکی که سیستم عامل میزبان روی آن نصب شده است خارج می کنیم و دیسک های با ظرفیت بیشتر را در این مکان قرار می دهیم (همه دیسک های موجود در سبد دارای ظرفیت یکسان خواهند بود)
  • در سطح کنترلر RAID سخت افزاری، هر یک از چهار دیسک متصل به قفس دیسک را به عنوان یک دستگاه مستقل تعریف می کنیم.
  • آماده سازی درایو USB قابل بوت با ESOS
  • ما سرور را با ESOS بوت می کنیم و یک آرایه RAID نرم افزاری از تمام درایوهای موجود در سبد ایجاد می کنیم.
  • ما iSCSI Target را در ESOS پیکربندی می کنیم و دیسک را در سمت سرور iSCSI Initiator متصل می کنیم
  • یک اتصال شبکه اضافی بین سرورها راه اندازی کنید و Multipath را فعال کنید
پیکربندی سرور

در مثال ما ساخت ساده ترین پیکربندی را با استفاده از آن در نظر خواهیم گرفت iSCSIاز دو سرور که یکی از آنها به عنوان یک هدف عمل می کند هدف iSCSIروی پایه ESOS نسخه 1.3.5، و دیگری به عنوان میزبان آغازگر عمل می کند آغازگر iSCSIروی پایه ویندوز سرور 2012 R2. برای بهبود در دسترس بودن و عملکرد، یک اتصال چند مسیره بین هدف و میزبان آغازگر برقرار خواهد شد. چند مسیری). برای جداسازی ترافیک iSCSI از ترافیک مدیریت سرور، یک آداپتور شبکه دو پورت اضافی در هر سرور نصب شده است.

1 ) سرور برای نقش هدف iSCSI(KOM-AD01-ESOS01)

سرور مدل IBM System x3200 4362با یک قفس دیسک برای 4 دیسک LFF HDD SAS/SATA و یک آداپتور شبکه نصب شده اضافی HP NC380Tآداپتور سرور چندکاره گیگابیتی دو پورت PCI Express (394795-B21). این سرور ESOS قابل بوت شدن را از طریق یک USB اجرا می کند. هر 4 دیسک از سبد دیسک سرور در ESOS برای سازماندهی یک آرایه RAID نرم افزار استفاده می شود که به نوبه خود به آغازگر میزبان ارائه می شود.

2 ) سرور برای نقش آغازگر iSCSI (KOM-AD01-VM01)

سرور مدل HP ProLiant DL380 G5به عنوان یک میزبان مجازی سازی مبتنی بر سیستم عامل Hyper-V عمل می کند Windows Server 2012 R2 Standard. سرور علاوه بر پیکربندی اولیه، به آداپتور شبکه نیز مجهز شده است HP NC380Tآداپتور سرور چندکاره گیگابیتی دو پورت PCI Express (394795-B21). دیسک متصل به این سرور از سرور ESOS از طریق پروتکل iSCSI برای کارهای پشتیبان گیری ماشین های مجازی Hyper-V استفاده خواهد شد.

ساده ترین نمودار برای اتصال رابط های شبکه سرور به شکل زیر خواهد بود:

پیکربندی کنترلر RAID در سرور IBM

صرف نظر از مدل سرور و کنترلر RAID مورد استفاده در مورد ما، می توان گفت که استفاده از توزیع ESOS که برای عملکرد آن نیازی به دیسک اختصاصی ندارد، در هر پیکربندی دیسک به ما این امکان را می دهد که از تمام منابع سبد دیسک استفاده کنیم. فضای دیسک مفید در برخی شرایط این استدلال می تواند قابل توجه باشد.

در مثال ما، 4 درایو SATA 7200 1TB یکسان در قفس دیسک نصب شده است.

برای اینکه خود را از توانایی های بسیار کم کنترلر RAID سخت افزاری که سرور ما به آن مجهز است رها کنیم و در آینده از قابلیت های ساخت آرایه RAID نرم افزاری مبتنی بر ESOS استفاده کنیم، باید هر دیسک را شبیه به آن کنیم. یک دستگاه فیزیکی جداگانه برای ESOS. بنابراین، در ابزار داخلی مدیریت کنترلر RAID، همه دیسک های RAID منطقی موجود را حذف می کنیم تا هر دیسک به عنوان یک دستگاه جداگانه نمایش داده شود.

برخی از کنترل‌کننده‌های RAID، مانند HP Smart Array، اجازه نمی‌دهند دیسک‌های نقشه‌برداری شده به‌عنوان دستگاه‌های دیسک مستقل نگاشت شوند. در چنین مواردی، باید برای هر دیسک جداگانه یک حجم RAID-0 جداگانه ایجاد کنید. در مورد ما، همه چیز ساده تر است، زیرا کنترل کننده در سرور ما نصب شده است منطق LSI SAS1064ETکاملاً ابتدایی است و در صورتی که این دیسک ها در یک آرایه RAID سخت افزاری قرار نگیرند، همه دیسک ها را به عنوان دستگاه های جداگانه نشان می دهد.

آماده سازی درایو USB قابل بوت ESOS

آخرین نسخه فعلی شاخه پایدار ESOS (شاخه 1.x.x) را از صفحه پروژه دانلود کنید ESOS - دانلودهای بسته . در همین صفحه می توانید توضیحاتی درباره سایر شاخه های ESOS (master - در حال توسعه و 0.1.x - منسوخ شده) پیدا کنید.

در مراحل نگارش این مقاله، نسخه مورد استفاده قرار گرفت 1.3.5 (25.01.2018 )، در لینک موجود است esos-1.3.5.zip . تا زمان انتشار، من قبلاً موفق شده بودم با نسخه جدیدتر 1.3.6 (2018/04/12) کار کنم.

از آنجایی که ESOS یک سیستم رم محور است، از یک درایو خارجی متصل از طریق یک درگاه USB معمولی راه اندازی می شود. یعنی ما به یک درایو USB با اندازه از نیاز خواهیم داشت 4 گیگابایتو بیشتر. اگر قصد دارید از شاخه اصلی استفاده کنید، طبق توصیه های سند برای به روز رسانی موفق بین نسخه هاارتقاء ، ممکن است دستگاه ذخیره سازی USB تا 5 گیگابایت فضای اضافی نیاز داشته باشد. در مورد ما، درایوهایی با درجات مختلف از اندازه "زیرزمین" از 8 گیگابایت و بزرگتر با موفقیت برای ESOS استفاده شد.

اعتبار پیش فرض:

  • نام کاربری: ریشه
  • کلمه عبور: esos

هنگامی که وارد می شوید، یک پوسته ویژه به طور خودکار راه اندازی می شود رابط کاربری مبتنی بر متن (TUI) که کار با سیستم را تا حد امکان ساده می کند. قسمت بالای TUI شامل یک منوی عملکرد اصلی است که به شما امکان می دهد تمام وظایف اصلی را برای پیکربندی سرور به عنوان ذخیره سازی برای SAN ها انجام دهید.

وظایف اصلی راه اندازی اولیه تغییر رمز عبور پیش فرض کاربر است ریشهو راه اندازی یک شبکه برای اجازه کار از راه دور با سیستم.

به آیتم های منو بروید سیستم > رمز عبور را تغییر دهیدو یک رمز عبور جدید برای کاربر تعیین کنید ریشه.

سپس بیایید به سیستم > تنظیمات شبکهو موردی را برای تنظیم پارامترهای اصلی شبکه انتخاب کنید تنظیمات عمومی شبکه

در فرمی که باز می شود، نام میزبان، نام دامنه DNS، آدرس IP دروازه پیش فرض و آدرس سرور DNS را مشخص کنید.

پس از تغییر تنظیمات شبکه، ESOS از شما می خواهد که سرویس شبکه را مجددا راه اندازی کنید تا تغییرات اعمال شوند. تا زمانی که حداقل تنظیمات شبکه را انجام نداده باشیم، می توانیم از راه اندازی مجدد سرویس شبکه خودداری کنیم.

برگردیم به سیستم > تنظیمات شبکه، آداپتور شبکه ای را که برای مدیریت از راه دور ESOS استفاده می شود انتخاب کنید و پارامترهای IP را پیکربندی کنید. در مثال ما، از یک پیکربندی استاتیک استفاده شده است و به رابط مدیریت ESOS آدرس IP 10.1.2.201/24 داده شده است. همانطور که متوجه شدم، مشخص کردن ماسک شبکه و آدرس پخش الزامی است، در غیر این صورت ممکن است هنگام ذخیره تنظیمات خطاهایی رخ دهد.

پس از ذخیره تغییرات انجام شده، دوباره یک سوال در مورد راه اندازی مجدد شبکه دریافت خواهیم کرد. حال به این سوال پاسخ مثبت می دهیم.

شبکه مجددا راه اندازی می شود و اگر تنظیمات مشخص شده با موفقیت اعمال شود، می توانیم از راه دور از طریق پروتکل SSH به ESOS متصل شویم.

برای هدف این یادداشت، ما از سایر تنظیمات موجود در ESOS مانند تنظیم زمان، پیکربندی ارسال نامه، مدیریت کاربران اضافی و غیره صرفنظر می کنیم. در عوض، ما فقط بر روی نکاتی تمرکز خواهیم کرد که در زمینه وظیفه ما مرتبط هستند. با این حال، قبل از اتصال به سرور ESOS خود از طریق SSH، می‌خواهم یک انحراف زیبایی کوچک در مورد طرح رنگ TUI ایجاد کنم.

رابط TUI ESOS دارای دو طرح رنگی است - یک رنگ استاندارد، که در رنگ های آبی و فیروزه ای طراحی شده است، همانطور که در تصاویر بالا نشان داده شده است، و یک جایگزین - تاریک، که در بهترین سنت های یک "سیاه چال با یک شمع" طراحی شده است. به نظر من هیچ یک از گزینه ها موفقیت آمیز نیست، زیرا هنگام اتصال از راه دور به کنسول سرور با کاهش رندر رنگ (به عنوان مثال، هنگام اتصال از طریق عملکرد) )، در برخی از مکان‌های TUI اثر ترکیب متن در پس‌زمینه وجود دارد. و اگر با کلاینت PuTTy SSH از یک سیستم ویندوز به TUI ESOS متصل شوید، به نظر من، طرح‌های رنگی استاندارد معمولاً به چیزی «اسیدی» تبدیل می‌شوند.

از آنجایی که ما عمدتاً با ESOS کار خواهیم کرد، البته، با استفاده از یک اتصال SSH راه دور، پس، به ویژه، برای مشتری PuTTy یک راه حل ساده وجود دارد - استفاده از طرح های رنگی قابل تنظیم در سمت مشتری SSH برای هر سلیقه و رنگ. نمونه هایی از این تنظیمات را قبلا در پست بررسی کردیم. . در مرحله بعد، برای کار با ESOS از طریق SSH از طرح PuTTy استفاده خواهیم کرد -گرگ و میش.

ایجاد RAID نرم افزاری در ESOS

پس از تکمیل تنظیمات اولیه اولیه ESOS، به پیکربندی سیستم دیسک سرور می رویم. بیایید یک آرایه RAID نرم افزاری ایجاد کنیم (بر اساس RAID نرم افزار لینوکس/mdraid) از 4 دیسکی که در اختیار ماست. برای انجام این کار، به منو بروید RAID نرم افزاری > آرایه را اضافه کنید

در لیست دستگاه های بلوک موجود برای گنجاندن در نرم افزار RAID، دیسک هایی را که از آنها یک آرایه RAID ایجاد می کنیم، یادداشت می کنیم.

پس از انتخاب دیسک ها، کلیک کنید وارد. صفحه پیکربندی RAID ظاهر می شود. بیایید آرایه را در روایات نام گذاری کنیم mdraid، مثلا md0. بیایید سطح RAID (در مورد ما RAID5 است) و اندازه بلوک را انتخاب کنیم. در مورد ما، آرایه برای کار پشتیبان‌گیری از فایل‌های بزرگ روی دیسک‌های ماشین مجازی مونتاژ شده است، بنابراین ما بزرگترین اندازه بلوک را انتخاب کردیم.

پس از فشار دادن دکمه خوبروال اولیه سازی آرایه RAID شروع خواهد شد. به منوی ناوبری در داخل بروید RAID نرم افزاری > وضعیت لینوکس MDو وضعیت آرایه RAID ایجاد شده را بررسی کنید.

در اینجا می‌توانیم منتظر بمانیم تا ساخت آرایه RAID به پایان برسد، یا می‌توانیم به راه‌اندازی سرور خود ادامه دهیم، زیرا در واقع ظرفیت دیسک آرایه از قبل برای ما در دسترس است.

پیکربندی هدف iSCSI

برای اینکه ظرفیت دیسک آرایه RAID که ایجاد کردیم با استفاده از پروتکل iSCSI به میزبان مجازی سازی از طریق شبکه ارائه شود، باید ایجاد کنیم. هدف iSCSI. برای انجام این کار، به منوی ناوبری بروید اهداف > iSCSI Target را اضافه کنید. در فرم ایجاد هدف، نام را مشخص کنید نام واجد شرایط iSCSI (IQN).

در مورد ما، از نام پیش فرض در قالب استفاده کردیم iqn.2018-03.esos.<имя сервера>: .تنها چیزی که در نام تغییر دادم برداشتن دو نقطه انتهای نام بود.

پس از ذخیره، اطلاعات iSCSI Target در صفحه اصلی ESOS ظاهر می شود، اما هدف غیرفعال می شود.

برای فعال کردن هدف، به منوی ناوبری در داخل بروید اهداف > فعال کردن/Target را غیرفعال کنید، از لیست اهداف، هدفی را که ایجاد کرده ایم انتخاب کرده و ویژگی های آن را تغییر دهید معلولبر فعال شد.

بیایید مطمئن شویم که در صفحه اصلی TUI اطلاعات مربوط به وضعیت هدف تغییر کرده است.

از لیست حالت های پخش دستگاه، که شرح آن را می توان در سند یافت36_Devices_and_Mappings - حالت های ورودی/خروجی SCST ، حالت مورد نظر ما را انتخاب کنید. مثال ما از حالت استفاده می کند vdisk_blockio، که دسترسی مستقیم به دستگاه های مسدود شده را فراهم می کند و استفاده از مکانیسم های کش لینوکس میانی را حذف می کند.

پس از انتخاب یک حالت، پنجره ای برای انتخاب دستگاه های بلوک موجود برای این حالت باز می شود. آرایه RAID ما را انتخاب کنید.

پس از این، فرمی برای تنظیم پارامترهای SCST برای دستگاه بلوک مجازی باز می شود vdisk_blockio. ما هر نام کوتاه و قابل فهم دستگاه را نشان خواهیم داد. این نام متعاقباً در کنار میزبان مجازی سازی که نقش آغازگر iSCSI را در Device Manager انجام می دهد، نمایش داده می شود. بنابراین، به عنوان نام از نام کوتاه شده میزبان و دستگاه RAID - ESOS01-MD0 استفاده کردم. پارامترهای باقی مانده را می توان در مقادیر پیش فرض خود رها کرد.

تنظیمات دستگاه بلوک مجازی را ذخیره می کنیم و به شرح هاست هایی می رویم که مجاز به اتصال به iSCSI Target ما هستند. اما قبل از اینکه هاست ها را توصیف کنید، باید یک گروه میزبان ایجاد کنید. به منو بروید میزبان ها > افزودن گروه

ما iSCSI Target را که قبلا ایجاد کرده بودیم انتخاب می کنیم، که گروه ایجاد شده از میزبان ها به آن تعلق دارد.

هر نام گروه میزبان را تنظیم کنید، برای مثال Group1، و کلیک کنید وارد

بنابراین، گروه میزبان ایجاد شده و به هدف iSCSI متصل می شود. اکنون باید هر میزبانی را که به عنوان عمل می کند توضیح دهیم آغازگر iSCSIبا انتساب این هاست به گروه هاست ایجاد شده. در مورد ما، تنها یک میزبان وجود خواهد داشت - میزبان مجازی سازی ما Hyper-Vمبتنی بر سیستم عامل ویندوز سرور 2012 R2.

قبل از اضافه کردن یک میزبان آغازگر به ESOS، بیایید نام آن را پیدا کنیم نام آغازگردر میزبان مجازی سازی ما با فراخوانی اپلت می توانید این نام را در کنترل پنل ویندوز سرور پیدا کنید (و در صورت تمایل تغییر دهید). آغازگر iSCSIو برگه را باز کنید پیکربندی

همانطور که می بینید، در مورد ما نام میزبان شروع کننده است iqn.1991-05.com.microsoft:kom-ad01-vm01.holding.com.

به TUI ESOS برمی گردیم و آغازگر میزبان را به منو اضافه می کنیم میزبان ها > آغازگر را اضافه کنید

در همان زمان، از ما سوال می شود که میزبان اضافه شده متعلق به کدام SCST Target است. ما تنها هدفی را که قبلا ایجاد و فعال کرده بودیم انتخاب می کنیم.

سپس گروه میزبان قبلی ایجاد شده را انتخاب می کنیم که میزبان آغازگر اضافه شده به آن مرتبط می شود.

و در آخر IQN هاست آغازگر را که قبلا متوجه شدیم وارد کرده و کلیک کنید وارد

بنابراین، در این مرحله در ESOS ما قبلاً یک هدف SCST ایجاد شده داریم (در مورد ما iSCSI Target)، یک دستگاه بلوک SCST مجازی داریم (یک آرایه RAID نرم افزار ترجمه شده است)، ما گروهی از میزبان ها و آغازگر میزبان را توضیح داده ایم. iSCSI Initiator) به این گروه متصل است. اکنون تنها کاری که باید انجام دهیم این است که دستگاه بلوک مجازی SCST را به گروه میزبان نگاشت کنیم. برای انجام این کار، به منوی ناوبری در دستگاه ها > نقشه به گروه میزبان.

دستگاه بلوک مجازی SCST را انتخاب کنید.

هدف SCST را انتخاب کنید.

گروه میزبانی که میزبان آغازگر در آن گنجانده شده است را انتخاب کنید.

در مرحله بعد، فرم تنظیمات باز می شود LUN-a که بصورت آنلاین پخش خواهد شد. شماره LUN را مشخص کنید (به طور پیش فرض، اولین LUN ترجمه شده به شماره 0 اختصاص داده شده است) و تنظیمات را با کلیک کردن ذخیره کنید. خوب.

با رفتن به منو می توانیم پیکربندی پخش نهایی دستگاه های مجازی SCST را مشاهده کنیم دستگاه ها > LUN/طرح بندی گروهی

حالا بیایید در مورد جداسازی ترافیک شبکه iSCSI از ترافیک مدیریتی خود سرور ESOS تصمیم بگیریم. ما مطمئن خواهیم شد که این نوع ترافیک در واسط های مختلف شبکه کاملاً از هم جدا شده است.

برای انجام این کار، ما رابط‌های شبکه جداگانه‌ای را در سمت سرور ESOS و در سمت سرویس گیرنده iSCSI Initiator با آدرس‌دهی IP متفاوت از آدرس‌دهی مورد استفاده برای مدیریت سرورها پیکربندی می‌کنیم. به عنوان مثال، در مورد ما، یک شبکه 10.1.2.0/24 برای مدیریت سرورها استفاده می شود، بنابراین برای جداسازی ترافیک iSCSI از یک زیر شبکه کوچک اختصاصی برای 6 هاست استفاده می کنیم - 192.168.168.0/29 (در سطح تجهیزات شبکه، می توانید علاوه بر این، این شبکه را به یک VLAN جداگانه جدا کنید).

ابتدا، اجازه دهید یک رابط شبکه اختصاص داده شده به iSCSI در سمت سرور ESOS را با رفتن به منوی ناوبری پیکربندی کنیم. سیستم > تنظیمات شبکهو آداپتور شبکه مناسب را انتخاب کنید.

بیایید یک آدرس IP ثابت در این رابط 192.168.168.1/29 تنظیم کنیم، ماسک زیر شبکه، آدرس پخش و افزایش اندازه را مشخص کنیم. MTU– 9000 (فناوری قاب جامبوباید توسط آداپتور شبکه پشتیبانی شود) برای بهبود عملکرد هنگام انتقال مقادیر زیادی داده.

هنگام ذخیره تنظیمات، به سؤال در مورد راه اندازی مجدد شبکه پاسخ مثبت خواهیم داد (تمام اتصالات شبکه به ESOS موقتاً از بین خواهند رفت).

پس از اتمام مراحل راه اندازی مجدد شبکه، اطلاعات خلاصه ای در مورد وضعیت اعمال تنظیمات جدید دریافت خواهیم کرد.

حالا بیایید به پیکربندی در سمت میزبان آغازگر برویم.

پیکربندی آغازگر iSCSI

در سمت میزبان مجازی سازی مبتنی بر ویندوز سرور، که ظرفیت دیسک را از سرور ESOS از طریق پروتکل iSCSI دریافت می کنیم، یک آداپتور شبکه اختصاصی را برای استفاده با پروتکل iSCSI پیکربندی می کنیم.

بیایید همه چیز را غیرفعال کنیم به جز آنچه ممکن است در این رابط اختصاصی هنگام کار با iSCSI نیاز داشته باشیم. به عنوان مثال، اجازه دهید فقط پشتیبانی از پروتکل را رها کنیم TCP/IPv4و QoS.

انتخاب یک پروتکل TCP/IPv4توسط دکمه خواصبیایید یک آدرس IP از شبکه ای که برای ترافیک iSCSI تعریف کرده ایم، به عنوان مثال 192.168.168.3/29 تنظیم کنیم. آدرس های دروازه پیش فرض و سرور DNS را خالی بگذارید. تنظیمات پیشرفته را با دکمه باز کنید پیشرفته.

روی زبانه DNSگزینه ثبت نام DNS را که به طور پیش فرض فعال است و در برگه غیرفعال کنید برنده می شودپشتیبانی را غیرفعال کنید LMHOSTو NetBIOS از طریق TCP/IP.

بیایید به برگه خصوصیات رابط اصلی شبکه بازگردیم و با استفاده از دکمه گفتگوی تنظیمات آداپتور شبکه را فراخوانی کنیم پیکربندی کنید.

در فرم باز شده در تب تنظیمات پیشرفته پیشرفتهبیایید گزینه ای برای پشتیبانی از بسته های بزرگ پیدا کنیم بسته جامبوو حداکثر مقدار ممکن را انتخاب کنید (در مثال ما 9014 است). روی زبانه مدیریت قدرتغیرفعال کردن سیستم برای خاموش کردن این آداپتور شبکه در حالت های ذخیره انرژی - به رایانه اجازه دهید این دستگاه را برای حالت ذخیره خاموش کند.

با دکمه ذخیره تمام پنجره ها را ببندید خوب.

حال بیایید در دسترس بودن سرور ESOS را از طریق رابط شبکه اختصاصی بررسی کنیم. اول ابزار ردیابیبرای اطمینان از اینکه ترافیک مستقیماً بین سرورها هدایت می شود.

tracert -d 192.168.168.1

سپس با استفاده از ابزار پینگبا روشن کردن پرچم ممنوعیت تکه تکه شدن (گزینه - f) و تعیین اندازه بسته های ارسال شده (گزینه - ل)

ping 192.168.168.1 -f -l 8000

در جایی، به عنوان مثال در سوئیچ که سرورهای ESOS و میزبان آغازگر ما به آن متصل هستند، پشتیبانی فعال نیست قاب جامبو، ما می توانیم پیام ها را دریافت کنیم" بسته باید تکه تکه شود اما DF تنظیم شود. "در مورد ما، بررسی با موفقیت انجام شد، بنابراین می‌توانیم به روند اتصال یک دیسک iSCSI ادامه دهیم.

بیایید به کنترل پنل ویندوز سرور برویم و اپلت را صدا کنیم آغازگر iSCSIو برگه را باز کنید کشفبیایید دکمه را فشار دهیم کشف پورتال. در پنجره تنظیمات تشخیص، آدرس IP سرور ESOS را از شبکه برای ترافیک iSCSI مشخص کنید و روی دکمه کلیک کنید. پیشرفته.

در قالب تنظیمات تشخیص پیشرفته، به عنوان آداپتور محلی انتخاب کنید مایکروسافت iSCSI Initiatorو آدرس IP پیکربندی شده قبلی از شبکه برای ترافیک iSCSI - 192.168.168.3. تنظیمات را با کلیک کردن ذخیره کنید خوبتا زمانی که به پنجره اصلی اپلت برگردیم.

پس از آن، به تب بروید اهداف، جایی که در بخش اهداف کشف شدهموردی که قبلا ذکر شد باید ظاهر شود IQNسرور ESOS ما با وضعیت غیر فعال. یعنی سیستم شناسایی کرده ولی هنوز وصل نشده. برای اتصال به iSCSI Target، از دکمه استفاده کنید اتصال.

در پنجره اتصال باز شده، مطمئن شوید که پرچم اضافه کردن هدف متصل به لیست اهداف مورد علاقه روشن است - این اتصال را به لیست اضافه کنید اهداف مورد علاقه(برای اتصال خودکار بعدی به هدف در صورت راه اندازی مجدد سرور). بیایید دکمه را فشار دهیم پیشرفته.

در قالب تنظیمات اتصال پیشرفته، ما به صراحت رابط های شبکه را از شبکه برای ترافیک iSCSI نشان خواهیم داد، که باید برای انتقال ترافیک iSCSI برای یک اتصال جلسه معین استفاده شود. یعنی همانطور که IP آغازگراز لیست آدرس رابط iSCSI اختصاص داده شده به میزبان ما 192.168.168.3 را انتخاب کنید و به عنوان IP پورتال هدفاز لیست آدرس رابط iSCSI اختصاص داده شده در سرور ESOS - 192.168.168.1 را انتخاب کنید.

پنجره را ببندید و ذخیره کنید تنظیمات پیشرفتهو به Target متصل شویدو مطمئن شوید که وضعیت اتصال به تغییر کرده است متصل

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

بیایید مطمئن شویم که در کنسول کنترل "Device Manager"/ مدیریت دستگاه (devmgmt.msc) در فصل درایوهای دیسکیک دیسک SCSI اضافی با نامی که قبلاً در سرور ESOS برای دستگاه بلوک مجازی SCST تعریف کرده بودیم ظاهر شده است.

مرحله بعدی باید دیسک متصل شده از طریق پروتکل iSCSI را مقداردهی اولیه کنیم. برای انجام این کار، به کنسول مدیریت دیسک بروید مدیریت دیسک (diskmgmt.msc، دیسک مناسب را انتخاب کرده و در حالت قرار دهید برخط.

پس از اینکه دیسک با موفقیت وضعیت خود را تغییر داد، دیسک را مقداردهی اولیه کرده و آن را به عنوان مثال در سیستم فایل NTFS فرمت می کنیم و هر برچسب حجمی را که درک می کنیم تنظیم می کنیم. از این پس در رابط گرافیکی ویندوز، این دیسک برای عملیات استاندارد فایل در دسترس ما قرار می گیرد.

در این مرحله، اگر به کنسول سرور ESOS نگاه کنیم، اطلاعات مربوط به جلسه اتصال میزبان آغازگر را در پایین TUI مشاهده خواهیم کرد.

در این مرحله، راه اندازی اولیه ساده ترین پیکربندی iSCSI را می توان کامل در نظر گرفت.

ساده ترین تست عملکرد

پس از اتصال دیسک از طریق iSCSI، توصیه می شود حداقل برخی از اندازه گیری های عملکرد ساده را انجام دهید تا بفهمید در نهایت به چه چیزی رسیدیم و از چنین دیسکی چه انتظاری می توان داشت.

واقعاً ارزش این را ندارد که به اعدادی که Windows Explorer هنگام کپی فایل‌های بزرگ از درایو محلی سرور به درایو iSCSI به ما نشان می‌دهد تکیه کنیم، زیرا ما اطلاعات عینی را در آنجا نخواهیم دید. به عنوان مثال، در مورد من، هنگام کپی کردن چندین فایل ISO بزرگ (با محتویات مختلف)، سرعت حدود 150-160 مگابایت بر ثانیه بود که با سرعت مجاز واقعی لینک iSCSI بین دو سرور 1 گیگابیت بر ثانیه من تفاوت زیادی دارد. (~ 125 مگابایت بر ثانیه). علاوه بر این، سرعت کم و بیش واقعی هنگام کپی کردن فایل اول نمایش داده می شود و هنگام کپی کردن فایل های بعدی کمی افزایش می یابد (شاید حافظه پنهان سیستم فایل و سایر حافظه های پنهان سطوح مختلف در کار گنجانده شده باشد).

برای انواع مختلف اندازه گیری، همیشه می خواهید از برخی ابزارهای "بومی" استفاده کنید که نیازی به نصب نرم افزار اضافی ندارند، اما متأسفانه این همیشه امکان پذیر نیست. در سیستم های کلاینت ویندوز، این ابزار برای ارزیابی عملکرد زیرسیستم های مختلف از جمله دیسک استفاده می شود. WinSAT (دیسک winsat )، با این حال، من این ابزار را در ویندوز سرور 2012 R2 ندیدم. از همین رو
من دو فایل را از Windows 10 x64 client OS - WinSAT.exe و WinSATAPI.dll از فهرست %windir%\System32 در فهرست سرور مشابه کپی کردم. اکنون می توانید با اجرای آن از یک خط فرمان با حقوق مدیر، سعی کنید از این ابزار استفاده کنید.

winsat disk-drive T-count 3

اینجا بعد از کلمه کلیدی دیسکگزینه –drive نام حرف درایوی را که می خواهیم تست کنیم و گزینه –count تعداد چرخه های تست را مشخص می کند.

همانطور که متوجه شدم، این ابزار اجازه آزمایش با استفاده از بلوک های بزرگ داده (بیش از 1 مگابایت) را نمی دهد، یعنی برای آزمایش موقعیت هایی با تعداد زیادی فایل کوچک مناسب تر است. وضعیت ما برعکس است - پشتیبان گیری از دیسک های ماشین مجازی به تعداد کمی فایل با اندازه قابل توجه نیاز دارد.

یکی دیگر از ابزارهای ساده ابزار است Diskspd(DiskSpd: ابزاری برای عملکرد ذخیره سازی قوی ) که جایگزین ابزار شدSQLIO Disk Subsystem Benchmark Tool (SQLIO) . ما ابزار را دانلود می کنیم، آن را روی سرور باز می کنیم و آن را با مجموعه ای از پارامترها اجرا می کنیم که با زمینه وظیفه ما مطابقت دارد.

cd /d C:\Tools\Diskspd-v2.0.17\amd64fre\ Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T:\io1.dat T:\io2.dat

پارامترهایی که استفاده می کنیم به این معنی است:
-d60: زمان اجرای تست 60 ثانیه
-b1M: در بلوک های 1 مگابایتی کار می کند
-s: انجام عملیات دسترسی متوالی
-w100: انجام تست نوشتن کامل (بدون تست خواندن)
-t1: تعداد رشته‌ها در هر هدف (با فایل T:\io.dat)
-c100G: فایل هایی با حجم 100 گیگابایت ایجاد کنید
در پایان نام فایل های تولید شده برای آزمون ذکر شده است.

با کمی تفاوت، توجه می کنم که در زمان نگارش، ما از نرم افزاری برای پشتیبان گیری از ماشین های مجازی Hyper-V استفاده می کنیم.پشتیبان گیری و تکرار Veeam بنابراین هنگام انتخاب اندازه بلوک برای تست، از مشخصات این نرم افزار اقدام می کنم. همانطور که از سند فهمیدمفشرده سازی داده ها و حذف مجدد ، VBR در عملیات پشتیبان گیری در SAN از بلوک های 1024 مگابایتی استفاده می کند، بنابراین این اندازه بلوکی است که در طول آزمایش استفاده خواهیم کرد.

برای مقایسه، اجازه دهید تست را دوباره با همان مجموعه شرایط اجرا کنیم، اما مدت آن را به 5 دقیقه افزایش دهیم.

در اینجا به وضوح می توانید ببینید که تحت بارگذاری طولانی مدت عملکرد به طور قابل توجهی کاهش می یابد. من می توانم فرض کنم که این به این دلیل است که "گلوگاه" در این مورد از ناحیه زیرسیستم شبکه به ناحیه دیسک های آهسته مورد استفاده در سمت سرور ESOS ما حرکت می کند.

برای طرفداران ابزارهای گرافیکی، یک ابزار رایگان ساده دیگر ممکن است برای انجام چنین آزمایشات سطحی عملکرد زیرسیستم دیسک در ویندوز مفید باشد. معیار دیسک ATTO. می توانید آن را از لینک دانلود کنید:معیار دیسک . رابط کاربری ابزار ساده و واضح است و احتمالاً چیزی برای اظهار نظر در مورد آن وجود ندارد.

درباره برخی ابزارهای آزمایش پیچیده تر، مانندآیومتر من نمی گویم، زیرا در چارچوب وظیفه ما هیچ هدفی برای مقابله با معیارها وجود ندارد. و شاخص‌های ابزارهای ساده فقط به منظور داشتن مبنایی برای مقایسه در آینده بدست می‌آیند، زمانی که بین سرور ESOS و میزبان Hyper-V نه یک پیوند، مانند این مرحله از پیکربندی، بلکه دو پیوند و مکانیسم چند مسیری درگیر

راه اندازی Multipath

بنابراین، ما یک دیسک متصل از طریق iSCSI و برخی از شاخص‌های تست عملکرد اولیه داریم که می‌توانیم از آنها بسازیم. حال بیایید سعی کنیم این شاخص ها را با افزودن یک آداپتور شبکه گیگابیتی دیگر به سرور ESOS و میزبان آغازگر و ترکیب کار آنها با استفاده از مکانیسم Multipath در سمت میزبان آغازگر بهبود دهیم.

بیایید با راه اندازی سرور ESOS شروع کنیم. در منوی پیمایش اصلی، به سیستم > تنظیمات شبکه، یک آداپتور شبکه اضافی را انتخاب کنید که برای اتصال دیگر از طریق پروتکل iSCSI استفاده می شود و پارامترهای IP را پیکربندی کنید. در مثال ما، از یک پیکربندی استاتیک استفاده شده است و به رابط اضافی ESOS iSCSI آدرس IP 192.168.168.2/29 داده شده است، و اندازه نیز افزایش یافته است. MTU.

تنظیمات شبکه را در ESOS ذخیره می‌کنیم و به راه‌اندازی یک آداپتور شبکه اضافی در سمت میزبان شروع‌کننده، یعنی سرور مبتنی بر ویندوز سرور ما با آغازگر iSCSI می‌رویم.

ما دومین رابط iSCSI را به قیاس با اولی پیکربندی می کنیم و آن را IP 192.168.168.4/29 تنظیم می کنیم.

بیایید رابط پیکربندی شده قبلی با آدرس 192.168.168.3 را غیرفعال کنیم (در این حالت دیسک iSCSI می افتد) و مطمئن شویم که رابط های iSCSI پیکربندی شده اضافی سرور ESOS و میزبان شروع کننده یکدیگر را می بینند.

در اپلت کنترل پنل آغازگر iSCSIروی زبانه کشفبا تعیین پیوند 192.168.168.2 یک مسیر تشخیص اضافی اضافه کنید - 192.168.168.4

از آنجایی که قبلاً یک اتصال iSCSI به هدف را بدون پرچم فعال ایجاد کردیم چند مسیری، اکنون بهتر است این اتصال را غیرفعال کنیم و دوباره ایجاد کنیم، اما با فعال بودن ویژگی چند مسیری.

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

حالا به تب برویم اهدافو خاموش کردن را انجام دهید (دیسک اولیه و متصل شده در سیستم iSCSI از ویندوز ناپدید می شود)

سپس هدف iSCSI را دوباره وصل می کنیم، اما این بار با گزینه فعال چند مسیر را فعال کنید(و دکمه را فراموش نکنید پیشرفتهایجاد یک اتصال صریح از رابط های 192.168.168.1 - 192.168.168.3 )

پس از اطمینان از اینکه هدف به حالت بازگشته است متصلویژگی های آن را باز کنید تا اتصال دوم را از طریق یک رابط اختصاصی اضافی اضافه کنید

روی زبانه اهدافبریم سراغ دکمه خواصبه ویژگی های هدف متصل شده و از دکمه استفاده کنید افزودن جلسهبرای راه اندازی اتصال دوم

به هر حال، این دکمه است MCSما می توانیم بررسی کنیم که اولین جلسه ایجاد شده در واقع از رابط شبکه اختصاصی ما استفاده می کند.

بنابراین با استفاده از دکمه افزودن جلسهبیایید یک اتصال اضافی به iSCSI Target با تعیین جفت واسط های اضافی که قبلاً پیکربندی کرده بودیم به عنوان واسط اضافه کنیم (192.168.168.2 - 192.168.168.4 )

یک ورودی برای جلسه دوم اکنون باید در لیست جلسات ظاهر شود.

همچنین جلسه اضافی ایجاد شده در سمت سرور ESOS را خواهیم دید.

در سمت میزبان شروع کننده، به بخش "مدیر دستگاه" نگاه کنید مدیریت دستگاه (devmgmt.msc) و مطمئن شوید که در بخش درایوهای دیسکیک دیسک SCSI اضافی با همین نام ظاهر شد (ESOS01-MD0).

یعنی اکنون، در سمت سرور ویندوز، ما در واقع همان دیسک را به عنوان دو دستگاه جداگانه می بینیم. برای اینکه سیستم با این دیسک به عنوان یک دستگاه کار کند، با استفاده از هر دو پیوند شبکه iSCSI به سرور ESOS، باید پشتیبانی را فعال کنیم. MPIOبرای iSCSI. برای انجام این کار، به کنترل پنل ویندوز بروید، اپلت را باز کنید MPIOو روی زبانه چند مسیر را کشف کنیدگزینه را فعال کنید پشتیبانی از دستگاه های iSCSI را اضافه کنید. پس از این، دکمه را فشار دهید اضافه کردنو به سوال راه اندازی مجدد سرور پاسخ مثبت دهید.

پس از راه اندازی مجدد، اجازه دهید دوباره به کنسول Device Manager نگاهی بیندازیم و مطمئن شویم که اکنون دیسک iSCSI ما به صورت یک دستگاه نمایش داده می شود و یک نام دارد. ... دستگاه دیسک چند مسیری. خصوصیات دیسک را باز کنید و روی زبانه قرار دهید MPIOبیایید بررسی کنیم که دیسک از دو مسیر قابل دسترسی است.

ما می توانیم اطلاعات دقیق تر در مورد مسیرهای اتصال را در اپلت کنترل پنل مشاهده کنیم آغازگر iSCSI.

اینجا روی دکمه کلیک کنید MPIOما اطلاعاتی در مورد اتصالات مورد استفاده خواهیم دید.

در این مرحله، راه اندازی اولیه Multipath را می توان کامل در نظر گرفت.

اکنون برای ارزیابی تغییرات سرعت کار با دیسک iSCSI که در نتیجه سازماندهی پیوند دوم و راه اندازی Multipath به دست آورده ایم، آزمایش ساده ای از نوشتن خطی فایل های بزرگ روی دیسک انجام می دهیم. به کاری که قبلا انجام دادیم:

Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T:\io1.dat T:\io2.dat

با قضاوت بر اساس آنچه Diskspd در این مورد به ما نشان می دهد، به طور متوسط، هر فایل با سرعت ~225MB/s نوشته شده است که برابر با 1800Mb/s است. یعنی در نهایت سرعتی نزدیک به کل توان عملیاتی دو پیوند سازمان یافته iSCSI بدست می آوریم.

آزمون مشابه، اما طولانی تر (5 دقیقه):

Diskspd.exe -d300 -b1M -s -w100 -t1 -c100G T:\io1.dat T:\io2.dat

مقدار متوسط ​​~48.5 مگابایت بر ثانیه که هنگام کار با هر فایل به دست می آید، به طور قابل توجهی بهتر از 16 مگابایت بر ثانیه در یک پیوند iSCSI منفرد به نظر می رسد.

بر اساس این اندازه‌گیری‌های ساده، می‌توان فهمید که به لطف اتصال Multipath، نه تنها در دسترس بودن آن را افزایش دادیم، بلکه شاخص‌های عملکرد بهبود یافته‌ای را نیز دریافت کردیم. و این خوب است.

درایو فلش USB ESOS با تعویض داغ

با توجه به اینکه هنگام مونتاژ راه حل بودجه ای که در مثال ما توضیح داده شد، می توانیم از درایوهای USB ارزان استفاده کنیم، در برخی موارد ممکن است نیاز به تعویض این درایو باشد (مثلاً در صورت خرابی). با توجه به اینکه ESOS یک سیستم لینوکس کاملا سازگار برای کار در رم است، تعویض درایو USB یک عملیات بسیار ساده است که پردازش صحیح آن توسط توسعه دهنده این سیستم پیاده سازی شده است.

در واقع، تعویض درایو در چند مرحله ساده انجام می شود:

  • در یک سیستم ESOS که قبلاً بارگذاری شده و در حال اجرا است، در هر زمان، درایو USB (درایویی که باید جایگزین شود) که این سیستم از آن بوت شده است را بردارید.
  • ما یک درایو USB جدید با ESOS را با استفاده از روش استانداردی که در بخش "تهیه درایو USB قابل بوت ESOS" در بالا توضیح داده شد آماده می کنیم و این درایو را در یک سرور ESOS در حال اجرا نصب می کنیم.
  • ما روش همگام سازی پیکربندی ESOS در حال اجرا در RAM با سیستم فایل در درایو USB را فراخوانی می کنیم. آیتم منو سیستم > پیکربندی همگام سازی

پس از این، توصیه می شود سرور را راه اندازی مجدد کنید و مطمئن شوید که سیستم با موفقیت از درایو USB جدید شروع می شود. در طول اولین راه‌اندازی از درایو USB جایگزین شده، ESOS برخی از مراحل خدمات را انجام می‌دهد و تنها در چند دقیقه سرور برای استفاده آماده می‌شود و پیکربندی را که قبلاً پیکربندی کرده بودیم بارگیری می‌کند.

با توجه به توضیحات سند 13_ارتقا ، دقیقاً به همان روش ساده سرور ESOS به نسخه جدیدتر به روز می شود که نگهداری چنین سیستمی را بسیار تسهیل می کند.

نتیجه

در پایان، می خواهم بگویم که در مثال ما، به لطف سیستم ESOS، ما توانستیم حداکثر از سبد دیسک یک سرور قدیمی از همه جهات خارج شویم و در میزبان مجازی سازی ظرفیت دیسک کاملا مناسب برای وظیفه پشتیبان گیری از ماشین های مجازی و من فقط می‌توانم از توسعه‌دهنده ESOS برای کار انجام شده تشکر کنم و برای پروژه موفقیت‌آمیز بیشتر آرزو کنم.

بهترین مقالات در این زمینه