همانطور که در شکل فوق مشاهده میکنید مثال بسیار سادهای از پیادهسازی SAN Storage به همراه iSCSI است که معمولاً فقط در محیطهای لابراتوار از آن استفاده میشود. در تصویری که در ادامه مشاهده میکنید نمونه عملیاتیتری از پیادهسازی iSCSI را مشاهده میکنید که در این نوع طراحی که بسیار عملیاتیتر از طرح قبلی است ما برای هر کدام از شبکهها بصورت جداگانه بستر ایجاد کرده ایم، یک سوئیچ بصورت اختصاصی برای مدیریت ترافیک سرورها و یک سوئیچ دیگر بصورت اختصاصی برای مدیریت ترافیک کلاینتها باSAN Storage استفاده میشود که باعث خواهد شد ما Multi Path I/O داشته باشیم. از طرفی با این نوع طراحی Redundancy هم برای مسیرهای عبور ترافیک ایجاد کردهایم. یک iSCSI Initiator که در شکل 39 هم مشاهده میکنید در واقع یک نرمافزار یا سختافزار است که بر روی سرور یا کلاینت نصب میشود و دادهها را با استفاده از پروتکل iSCSI برای دستگاه ذخیرهسازی SAN Storage که به آن iSCSI Target گفته میشود ارسال میکند.
مزایای استفاده از iSCSI
با توجه به اینکه در iSCSI از استاندارد اترنت استفاده میشود، پروتکل iSCSI هیچ نیازی به سوئیچها و کارتهای گران قیمتی که در شبکههای Fibre Channel یا FC استفاده میشود، ندارد. همین کار باعث سادگی پیکربندی و مدیریت این پروتکل میشود، یکSAN Storage که دارای قابلیت FC باشد، دارای سرعت بسیار زیادی است که باعث بالا رفتن پهنای باند هم میشود اما از طرفی این تجهیزات بسیار گران قیمت هستند و همچنین نیازمند تخصصی خاصی که بتوانند آنها را پیکربندی کنند. از طرفی دیگرiSCSI SAN ها به راحتی با کارت شبکههای معمولی و سوئیچی معمولی کار میکنند و نیازمند شبکه جدید و بستر ارتباطی جدیدی نیستند، شما میتوانید این تکنولوژی را در شبکه فعلی موجود هم پیادهسازی کنید، در شبکههای کلان و Enterprise از این دو بصورت ترکیبی استفاده میشود.
پیکربندی iSCSI Target
در این بخش قصد داریم به پیکربندی Storage Server توسط پروتکل iSCSI بپردازیم. همانطور که پیشتر اشاره شد، یک Storage روی یک شبکه iSCSI Target و یک کلاینت که به iSCSI Target متصل میشود نیز اصطلاحاً iSCSI Initiator نامیده میشود. به سناریو شکل 40 دقت کنید.
با توجه به اینکه در iSCSI از استاندارد اترنت استفاده میشود، پروتکل iSCSI هیچ نیازی به سوئیچها و کارتهای گران قیمتی که در شبکههای Fibre Channel یا FC استفاده میشود، ندارد. همین کار باعث سادگی پیکربندی و مدیریت این پروتکل میشود، یکSAN Storage که دارای قابلیت FC باشد، دارای سرعت بسیار زیادی است که باعث بالا رفتن پهنای باند هم میشود اما از طرفی این تجهیزات بسیار گران قیمت هستند و همچنین نیازمند تخصصی خاصی که بتوانند آنها را پیکربندی کنند. از طرفی دیگرiSCSI SAN ها به راحتی با کارت شبکههای معمولی و سوئیچی معمولی کار میکنند و نیازمند شبکه جدید و بستر ارتباطی جدیدی نیستند، شما میتوانید این تکنولوژی را در شبکه فعلی موجود هم پیادهسازی کنید، در شبکههای کلان و Enterprise از این دو بصورت ترکیبی استفاده میشود.
پیکربندی iSCSI Target
در این بخش قصد داریم به پیکربندی Storage Server توسط پروتکل iSCSI بپردازیم. همانطور که پیشتر اشاره شد، یک Storage روی یک شبکه iSCSI Target و یک کلاینت که به iSCSI Target متصل میشود نیز اصطلاحاً iSCSI Initiator نامیده میشود. به سناریو شکل 40 دقت کنید.
جهت پیکربندی iSCSI Target میبایست ابتدا administration tools را توسط دستور زیر بر روی آن نصب نماییم:
# yum -y install targetcli
در ادامه به منظور پیکربندی iSCSI Target، برای مثال یک disk-image در زیر دایرکتوری /iscsi_disks ایجاد کرده و سپس آن را به عنوان یک SCSI device تنظیم میکنیم. برای این منظور، ابتدا توسط دستور mkdir دایرکتوری /iscsi_disks را ایجاد کرده و سپس با استفاده از دستور targetcli وارد کنسول مدیریتی iSCSI میشویم. در مرحله بعد توسط دستور cd، وارد دایرکتوری backstores/fileio شده و بعد اقدام به ایجاد یک disk-image با نام disk01 در مسیر /iscsi_image با حجم 10G میکنیم.
# yum -y install targetcli
در ادامه به منظور پیکربندی iSCSI Target، برای مثال یک disk-image در زیر دایرکتوری /iscsi_disks ایجاد کرده و سپس آن را به عنوان یک SCSI device تنظیم میکنیم. برای این منظور، ابتدا توسط دستور mkdir دایرکتوری /iscsi_disks را ایجاد کرده و سپس با استفاده از دستور targetcli وارد کنسول مدیریتی iSCSI میشویم. در مرحله بعد توسط دستور cd، وارد دایرکتوری backstores/fileio شده و بعد اقدام به ایجاد یک disk-image با نام disk01 در مسیر /iscsi_image با حجم 10G میکنیم.
در نهایت اگر فایروال Firewalld بر روی سیستم/سرور شما در حال اجراست، توسط دستورات زیر به سرویس iSCSI Target اجازه عبور میدهیم:
# firewall-cmd —add-service=iscsi-target —permanent
# firewall-cmd —reload
# firewall-cmd —add-service=iscsi-target —permanent
# firewall-cmd —reload
حال به منظور پیکربندی iSCSI Target، برای مثال یک disk image در زیر دایرکتوری /iscsi_disks ایجاد کرده و سپس آن را به عنوان یک shared disk تنظیم میکنیم. برای این منظور:
توجه داشته باشید که اگر SELinux بر روی سیستم/سرور شما فعال است، میبایست توسط دستورات زیر اقدام به تغییر SELinux Contextی به نام tgtd_var_lib_t نمایید:
# chcon -R -t tgtd_var_lib_t /iscsi_disks
# semanage fcontext -a -t tgtd_var_lib_t /iscsi_disks
# chcon -R -t tgtd_var_lib_t /iscsi_disks
# semanage fcontext -a -t tgtd_var_lib_t /iscsi_disks
همچنین اگر فایروال Firewalld بر روی سیستم/سرور شما در حال اجراست، توسط دستورات زیر به سرویس iSCSI Target اجازه دسترسی دهید:
# firewall-cmd —add-service=iscsi-target —permanent
# firewall-cmd —reload
# firewall-cmd —add-service=iscsi-target —permanent
# firewall-cmd —reload
در نهایت نیز توسط دستورات زیر اقدام به start کردن و سپس enable نمودن سرویس tgtd نموده تا بصورت خودکار در پروسههای boot بعدی اجرا شود:
# systemctl start tgtd
# systemctl enable tgtd
همچنین میتوانید وضعیت آن را توسط دستور زیر مشاهده و بررسی نمایید:
# tgtadm —mode target —op show
# systemctl start tgtd
# systemctl enable tgtd
همچنین میتوانید وضعیت آن را توسط دستور زیر مشاهده و بررسی نمایید:
# tgtadm —mode target —op show