NVME-CONNECT-ALL(1) NVMe Manual NVME-CONNECT-ALL(1)

nvme-connect-all - کشف و اتصال به کنترل‌کننده‌های فابریک (Fabrics)

nvme connect-all [--transport=<trtype> | -t <trtype>]
                        [--nqn=<subnqn> | -n <subnqn>]
                        [--traddr=<traddr> | -a <traddr>]
                        [--trsvcid=<trsvcid> | -s <trsvcid>]
                        [--host-traddr=<traddr> | -w <traddr>]
                        [--host-iface=<iface> | -f <iface>]
                        [--hostnqn=<hostnqn> | -q <hostnqn>]
                        [--hostid=<hostid> | -I <hostid>]
                        [--raw=<filename> | -r <filename>]
                        [--device=<device> | -d <device>]
                        [--config=<filename> | -J <cfg>]
                        [--keep-alive-tmo=<sec> | -k <sec>]
                        [--reconnect-delay=<#> | -c <#>]
                        [--ctrl-loss-tmo=<#>     | -l <#>]
                        [--nr-io-queues=<#> | -i <#>]
                        [--nr-write-queues=<#> | -W <#>]
                        [--nr-poll-queues=<#> | -P <#>]
                        [--queue-size=<#> | -Q <#>] [--keyring=<#>]
                        [--tls_key=<#>] [--hdr-digest | -g] [--data-digest | -G]
                        [--persistent | -p] [--tls] [--concat] [--quiet]
                        [--dump-config | -O] [--nbft] [--no-nbft]
                        [--nbft-path=<STR>] [--context=<STR>]
                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]

یک یا چند درخواست کشف (Discovery) را به یک کنترل‌کنندهٔ کشف NVMe over Fabrics ارسال کرده و کنترل‌کننده‌هایی را برای رکوردهای کشف بازگردانده‌شده ایجاد می‌کند.

اگر هیچ پارامتری داده نشود، دستور nvme connect-all تلاش خواهد کرد فایل /etc/nvme/discovery.conf را پیدا کند تا از آن برای تأمین فهرستی از دستورات connect-all جهت اجرا استفاده نماید. اگر فایل /etc/nvme/discovery.conf وجود نداشته باشد، دستور با یک خطا متوقف می‌شود.

در غیر این صورت، باید با استفاده از گزینه‌های --transport، --traddr و در صورت نیاز --trsvcid، یک کنترل‌کنندهٔ کشف خاص مشخص شود و یک درخواست کشف به کنترل‌کنندهٔ کشف مشخص‌شده ارسال خواهد شد.

برای اطلاعات و پیش‌زمینهٔ بیشتر، مستندات دستور nvme-discover(1) را مشاهده کنید.

-t <trtype>, --transport=<trtype>

این فیلد نوع ساختار شبکه (Fabric) مورد استفاده را برای یک شبکهٔ NVMe-over-Fabrics مشخص می‌کند. مقادیر رشته‌ای فعلی عبارتند از:
مقدار تعریف
rdma ساختار شبکه یک شبکهٔ rdma است (شامل RoCE، iWARP، Infiniband، rdma پایه و غیره).
fc WIP ساختار شبکه یک شبکهٔ کانال فیبر (Fibre Channel) است.
tcp ساختار شبکه یک شبکهٔ TCP/IP است.
loop اتصال به یک هدف NVMe over Fabrics بر روی میزبان محلی.

-n <subnqn>, --nqn <subnqn>

این فیلد نام زیرسیستم NVMe را برای اتصال مشخص می‌کند.

-a <traddr>, --traddr=<traddr>

این فیلد نشانی شبکهٔ کنترل‌کنندهٔ کشف را مشخص می‌کند. برای ترابری‌هایی که از آدرس‌دهی IP استفاده می‌کنند (مانند rdma)، این مقدار باید یک نشانی مبتنی بر IP (مانند IPv4) باشد.

-s <trsvcid>, --trsvcid=<trsvcid>

این فیلد شناسهٔ سرویس ترابری (Transport Service ID) را مشخص می‌کند. برای ترابری‌هایی که از آدرس‌دهی IP استفاده می‌کنند (مانند rdma)، این فیلد همان شماره درگاه (پورت) است. به‌طور پیش‌فرض، شماره درگاه IP برای ترابری RDMA برابر 4420 است.

-w <traddr>, --host-traddr=<traddr>

این فیلد نشانی شبکهٔ مورد استفاده در میزبان را برای اتصال به کنترل‌کننده مشخص می‌کند. برای TCP، این گزینه نشانی مبدا را روی سوکت تنظیم می‌کند.

-f <iface>, --host-iface=<iface>

این فیلد رابط شبکهٔ مورد استفاده در میزبان را برای اتصال به کنترل‌کننده مشخص می‌کند (مانند IP eth1، enp2s0، enx78e7d1ea46da). این گزینه اتصال را وادار می‌سازد تا به‌جای تصمیم‌گیری توسط سیستم، بر روی یک رابط مشخص برقرار شود.

-q <hostnqn>, --hostnqn=<hostnqn>

مقدار پیش‌فرض Host NQN را که میزبان NVMe را مشخص می‌کند بازنویسی می‌کند. اگر این گزینه مشخص نشود، مقدار پیش‌فرض ابتدا از مسیر /etc/nvme/hostnqn خوانده می‌شود. در صورت عدم وجود آن فایل، مقدار NQN تولیدشدهٔ خودکار از ماژول هستهٔ NVMe Host استفاده خواهد شد. مقدار Host NQN به‌طور یکتا میزبان NVMe را مشخص می‌کند و ممکن است توسط کنترل‌کنندهٔ کشف برای کنترل منابعِ هدف NVMe که برای اتصال به میزبان NVMe اختصاص می‌یابند استفاده شود.

-I <hostid>, --hostid=<hostid>

شناسه یکتای جهانی (UUID) قالب‌بندی‌شده جهت کشف شدن.

-r <filename>, --raw=<filename>

این فیلد خروجی دستور nvme connect-all را دریافت کرده و آن را در یک فایل باینری خام ذخیره می‌کند. به‌طور پیش‌فرض، nvme connect-all خروجی را در stdout می‌ریزد.

-d <device>, --device=<device>

این فیلد یک دستگاه را به عنوان ورودی می‌گیرد. این دستگاه باید یک دستگاه پایدار مرتبط با یک کنترل‌کنندهٔ کشف باشد که پیش‌تر توسط دستور «connect-all» یا «discover» ایجاد شده است. <device> از قالب *nvme پیروی می‌کند (مانند nvme0، nvme1).

-J <filename>, --config=<filename>

استفاده از فایل پیکربندی JSON مشخص‌شده به‌جای فایل پیش‌فرض /etc/nvme/config.json یا مقدار none برای جلوگیری از خواندن فایل پیکربندی موجود. قالب فایل پیکربندی JSON در نشانی زیر مستند شده است: https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json

-k <#>, --keep-alive-tmo=<#>

مدت‌زمان پایان مهلت زنده‌مانی (keep alive timeout) پیش‌فرض (به ثانیه) را بازنویسی می‌کند. این گزینه در مرحله کشف نادیده گرفته می‌شود، اما به فراخوانی بعدی connect ارسال خواهد شد.

-c <#>, --reconnect-delay=<#>

تأخیر پیش‌فرض (به ثانیه) را قبل از تلاش مجدد برای اتصال پس از قطع ارتباط بازنویسی می‌کند.

-l <#>, --ctrl-loss-tmo=<#>

مدت‌زمان وقفهٔ از دست رفتن کنترل‌کننده (controller loss timeout) پیش‌فرض (به ثانیه) را بازنویسی می‌کند.

-i <#>, --nr-io-queues=<#>

تعداد پیش‌فرض صف‌های ورودی/خروجی (I/O) ایجادشده توسط درایور را بازنویسی می‌کند. این گزینه در مرحله کشف نادیده گرفته می‌شود، اما به فراخوانی بعدی connect ارسال خواهد شد.

-W <#>, --nr-write-queues=<#>

صف‌های اضافی را که برای عملیات نوشتن ورودی/خروجی (I/O) استفاده می‌شوند اضافه می‌کند.

-P <#>, --nr-poll-queues=<#>

صف‌های اضافی را که برای نظرسنجی (polling) ورودی/خروجی‌های حساس به تأخیر استفاده می‌شوند اضافه می‌کند.

-Q <#>, --queue-size=<#>

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

--keyring=<#>

دسته‌کلید (Keyring) برای جستجوی کلید TLS.

--tls_key=<#>

کلید TLS برای اتصال (TCP).

-g, --hdr-digest

چکیدهٔ سرآیند (header digest) را تولید یا اعتبارسنجی می‌کند (TCP).

-G, --data-digest

چکیدهٔ داده (data digest) را تولید یا اعتبارسنجی می‌کند (TCP).

-p, --persistent

پس از دریافت صفحهٔ لاگ کشف، کنترل‌کنندهٔ کشف را حذف نمی‌کند.

--tls

رمزنگاری TLS را فعال می‌کند (TCP).

--concat

الحاق امن (secure concatenation) را فعال می‌کند (TCP).

--quiet

پیام‌های خطا را سرکوب و پنهان می‌کند.

-O, --dump-config

فایل پیکربندی JSON حاصل را در stdout چاپ می‌کند.

--nbft

تنها جداول NBFT بررسی شوند.

--no-nbft

جداول NBFT بررسی نشوند.

--nbft-path=<STR>

استفاده از یک مسیر تعریف‌شده توسط کاربر برای جداول NBFT.

--context <STR>

زمینهٔ اجرا (execution context) را بر روی <STR> تنظیم می‌کند. این امکان، مدیریت هماهنگ منابع سراسری را فراهم می‌آورد.

-o <fmt>, --output-format=<fmt>

قالب گزارش‌دهی را روی normal، json یا binary تنظیم می‌کند. در هر بار تنها یک قالب خروجی می‌تواند استفاده شود.

-v, --verbose

افزایش جزئیات اطلاعات در خروجی.

•اتصال به تمام رکوردهای بازگردانده‌شده توسط کنترل‌کنندهٔ کشف با نشانی IPv4 برابر 192.168.1.3 برای تمامی منابع اختصاص‌یافته به میزبان NVMe با نام host1-rogue-nqn روی شبکهٔ RDMA؛ به‌طور پیش‌فرض درگاه (پورت) 4420 استفاده می‌شود:
# nvme connect-all --transport=rdma --traddr=192.168.1.3 \
--hostnqn=host1-rogue-nqn
•اجرای دستور nvme connect-all با استفاده از جداول پیش‌فرض NBFT تعریف‌شده در سیستم:
# nvme connect-all --nbft
•اجرای دستور nvme connect-all با یک مسیر مشخص‌شده توسط کاربر برای جدول NBFT:
# nvme connet-all --nbft-path=/sys/firmware/acpi/tables/NBFT1
•اجرای دستور nvme connect-all با استفاده از یک فایل /etc/nvme/discovery.conf:
# Machine default 'nvme discover' commands. Query the
# Discovery Controller's two ports (some resources may only
# be accessible on a single port). Note an official
# nqn (Host) name defined in the NVMe specification is being used
# in this example.
-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
-t rdma -a 192.168.1.4   -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432

در اعلان خط فرمان، عبارت «nvme connect-all» را وارد کنید.

nvme-discover(1) nvme-connect(1)

بخشی از مجموعهٔ nvme-user

02/16/2026 NVMe