SRP_DAEMON(8) USER COMMANDS SRP_DAEMON(8)

srp_daemon - شناسایی اهداف SRP در یک فابریک InfiniBand

srp_daemon [-vVcaeon] [-d umad-device | -i infiniband-device [-p port-num] | -j dev:port] [-t timeout(ms)] [-r retries] [-R rescan-time] [-f rules-file]

اهداف پروتکل SCSI RDMA در InfiniBand (به اختصار SRP) را در یک فابریک IB شناسایی کرده و به آن‌ها متصل می‌شود.

هر نمونه از srp_daemon روی یک درگاه محلی عمل می‌کند. هنگام بالا آمدن، یک اسکن مجدد کامل از فابریک انجام می‌دهد و سپس منتظر یک رویداد srp_daemon می‌ماند. یک رویداد srp_daemon می‌تواند پیوستن یک ماشین جدید به فابریک، تغییر در قابلیت‌های یک ماشین، تغییر در SA، یا منقضی شدن یک مهلت زمانی از پیش تعیین‌شده باشد.

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

برای هر هدفی که srp_daemon می‌یابد، بررسی می‌کند که آیا طبق قوانین خود (فایل قوانین پیش‌فرض /etc/srp_daemon.conf است) باید به این هدف متصل شود و آیا پیش‌تر به درگاه محلی متصل شده است یا خیر. اگر باید به این هدف متصل شود و هنوز متصل نشده باشد، srp_daemon می‌تواند جزئیات هدف را چاپ کند یا به آن متصل شود.

چاپ خروجی پرجزئیات‌تر.
چاپ خروجی بسیار پرجزئیات‌تر (حالت اشکال‌زدایی).
کار روی infiniband-device. این گزینه نباید همراه با -d یا -j استفاده شود.
کار روی درگاه port-num (پیش‌فرض 1). این گزینه باید همراه با -i استفاده شود و نباید همراه با -d یا -j استفاده شود.
کار روی شماره درگاه port از دستگاه InfiniBand با نام dev. این گزینه نباید همراه با -d، -i یا -p استفاده شود.
استفاده از فایل دستگاه umad-device (پیش‌فرض /dev/infiniband/umad0). این گزینه نباید همراه با -i، -p یا -j استفاده شود.
تولید خروجی مناسب برای ارسال از طریق لوله (pipe) مستقیم به یک فایل /sys/class/infiniband_srp/srp-<device>-<port>/add_target.
تمام اهداف موجود در فابریک را چاپ می‌کند، نه فقط اهدافی که از طریق درگاه محلی متصل نیستند. این رفتار مشابه رفتار ibsrpdm است.
دستور اتصال را اجرا می‌کند؛ یعنی اتصال به هدف را برقرار می‌سازد.
فقط یک اسکن مجدد انجام داده و همانند ibsrpdm خارج می‌شود.
اجبار به اسکن مجدد کامل هر rescan-time ثانیه یک‌بار. اگر -R مشخص نشود، هیچ اسکن مجددی بر اساس مهلت زمانی انجام نخواهد شد.
تلاش مجدد برای اتصال به هدف موجود پس از retry-timeout ثانیه. اگر -R مشخص نشود، از مهلت زمانی ۵ ثانیه استفاده می‌کند. اگر retry-timeout برابر 0 باشد، برای اتصال مجدد تلاشی نمی‌کند. دلیل تلاش مجدد srp_daemon برای اتصال به هدف این است که ممکن است سناریوی نادری رخ دهد که در آن srp_daemon برای افزودن یک هدف تلاش کند، در حالی که هدف در آستانه حذف شدن است ولی هنوز حذف نشده است.
تصمیم‌گیری برای این‌که به کدام اهداف متصل شود، بر اساس قوانین موجود در rules-file. اگر -f مشخص نشود، از فایل قوانین پیش‌فرض /etc/srp_daemon.conf استفاده می‌شود. هر خط در rules-file یک قانون است که بر اساس نویسه نخست خط (a برای مجاز یا d برای غیرمجاز)، می‌تواند اجازه اتصال یا عدم اجازه اتصال باشد. باقی‌مانده خط مقادیر id_ext، ioc_guid، dgid و service_id است. لطفاً برای نمونه‌ای از این فایل به بخش مثال‌ها نگاه کنید. srp_daemon مجاز یا غیرمجاز بودن هر هدف را بر اساس نخستین قانونی که با هدف تطابق داشته باشد مشخص می‌کند. اگر هیچ قانونی با هدف تطابق نداشته باشد، هدف مجاز شناخته شده و متصل خواهد شد. در یک قانون مجاز، تعیین ویژگی‌ها برای اتصال به هدف امکان‌پذیر است. ویژگی‌های پشتیبانی‌شده شامل max_cmd_per_lun و max_sect هستند.
استفاده از مهلت زمانی timeout میلی‌ثانیه برای پاسخ‌های MAD (پیش‌فرض: ۵ ثانیه).
انجام retries بار تلاش مجدد برای هر ارسال به MAD (پیش‌فرض: ۳ تلاش مجدد).
قالب جدید - استفاده از initiator_ext در دستور اتصال نیز.
فعال‌سازی یکپارچه‌سازی با systemd.

/etc/srp_daemon.conf - فایل پیکربندی قوانین پیش‌فرض که مشخص می‌کند به کدام اهداف متصل شود. می‌تواند با استفاده از گزینه -f rules-file لغو و بازنویسی شود. هر خط در این فایل یک قانون است که بر اساس نویسه نخست خط (a یا d به ترتیب)، می‌تواند اجازه اتصال یا عدم اجازه اتصال باشد. باقی‌مانده خط مقادیر id_ext، ioc_guid، dgid و service_id است. لطفاً برای نمونه‌ای از این فایل به بخش مثال‌ها نگاه کنید. srp_daemon مجاز یا غیرمجاز بودن هر هدف را بر اساس نخستین قانونی که با هدف مطابقت داشته باشد تعیین می‌کند. اگر هیچ قانونی با هدف مطابقت نداشته باشد، هدف مجاز دانسته شده و متصل خواهد شد. در یک قانون مجاز، تعیین ویژگی‌ها برای اتصال به هدف امکان‌پذیر است. ویژگی‌های پشتیبانی‌شده عبارتند از max_cmd_per_lun و max_sect.

srp_daemon -e -i mthca0 -p 1 -R 60 (اتصال به اهداف قابل دسترسی از طریق درگاه 1 از mthca0. انجام یک اسکن مجدد کامل در هر دقیقه)

srp_daemon -o -c -a (چاپ دستورات اتصال برای اهداف موجود در فابریک و خروج - مشابه ibsrpdm)

srp_daemon -e -f rules.txt (اتصال به اهداف مجاز در فایل قوانین rules.txt)

نمونه‌ای برای فایل پیکربندی قوانین (مانند /etc/srp_daemon.conf):
------------------------------------------------------------------------
# Rules file example
# This is a comment
# disallow the following dgid
d       dgid=fe800000000000000002c90200402bd5
# allow target with the following ioc_guid
a       ioc_guid=00a0b80200402bd7
# allow target with the following id_ext and ioc_guid. And setting max_cmd_per_lun to 31.
a       id_ext=200500A0B81146A1,ioc_guid=00a0b80200402bef,max_cmd_per_lun=31
# disallow all the rest
d

ibsrpdm(8)

<rolandd@cisco.com>
<ishai@mellanox.co.il>
September 5, 2006 OpenFabrics