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

nvme-connect - اتصال به کنترلر NVMe-oF (پروتکل NVMe روی شبکه)

nvme connect [--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>]
                        [--config=<filename> | -J <filename>]
                        [--dhchap-secret=<secret> | -S <secret>]
                        [--dhchap-ctrl-secret=<secret> | -C <secret>]
                        [--nr-io-queues=<#> | -i <#>]
                        [--nr-write-queues=<#> | -W <#>]
                        [--nr-poll-queues=<#> | -P <#>]
                        [--queue-size=<#> | -Q <#>]
                        [--keep-alive-tmo=<#> | -k <#>]
                        [--reconnect-delay=<#> | -c <#>]
                        [--ctrl-loss-tmo=<#> | -l <#>] [--tos=<#> | -T <#>]
                        [--keyring=<keyring>] [--tls-key=<tls-key>]
                        [--tls-key-identity=<identity>]
                        [--duplicate-connect | -D] [--disable-sqflow ]
                        [--hdr-digest | -g] [--data-digest | -G] [--tls]
                        [--concat] [--dump-config | -O] [--application=<id>]
                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]

ایجاد یک اتصال انتقال (ترانسپورت) به یک سیستم راه دور (مشخص‌شده با --traddr و --trsvcid) و ساخت یک کنترلر NVMe over Fabrics برای زیرسیستم NVMe تعیین‌شده توسط گزینه --nqn.

-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>

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

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

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

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

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

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

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

-S <secret>, --dhchap-secret=<secret>

کلید امنیتی (رمز) احراز هویت درون‌باندی (In-band) پروتکل NVMe؛ باید طبق بخش 8.13.5.8 استاندارد NVMe 2.0 در قالب نمایش رمز (Secret representation) به صورت ASCII باشد.

-C <secret>, --dhchap-ctrl-secret=<secret>

کلید امنیتی کنترلر احراز هویت درون‌باندی NVMe برای احراز هویت دوطرفه؛ باید طبق بخش 8.13.5.8 استاندارد NVMe 2.0 در قالب نمایش رمز (Secret representation) به صورت ASCII باشد. در صورت عدم وجود، احراز هویت دوطرفه انجام نمی‌شود.

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

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

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

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

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

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

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

تعداد پیش‌فرض عناصر در صف‌های I/O ایجادشده توسط درایور را بازنویسی می‌کند.

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

مهلت زمانی پیش‌فرض زنده ماندن اتصال (Keep Alive برحسب ثانیه) را بازنویسی می‌کند.

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

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

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

مدت‌زمان پیش‌فرض مهلت از دست رفتن کنترلر (برحسب ثانیه) را بازنویسی می‌کند. این حداکثر زمانی است که هسته اتصال را مجدداً امتحان خواهد کرد، که هر بار تلاش پس از گذشت reconnect-delay ثانیه انجام می‌شود.

-T <#>, --tos=<#>

نوع سرویس (Type of Service) برای اتصال (TCP).

--keyring=<keyring>

دسته کلید (keyring) جهت جستجوی کلید TLS، که می‌تواند شناسه کلید یا نام دسته کلید باشد.

--tls-key=<tls-key>

کلید TLS برای اتصال (TCP)، که می‌تواند کلید TLS در قالب تبادل یا شناسه کلید باشد. به دلیل مسائل امنیتی اکیداً توصیه می‌شود کلید TLS از طریق خط فرمان ارائه نشود. در عوض در محیط عملیاتی، کلید باید با دستور nvme tls --import در مخزن کلید بارگذاری شود و فقط از گزینه --tls استفاده گردد. هسته کلید منطبق را انتخاب خواهد کرد.

--tls-key-identity=<identity>

هویت مورد استفاده برای tls-key. اگر هویتی مشخص نشود، کلید tls ارائه‌شده از طریق خط فرمان به عنوان یک کلید پیکربندی در نظر گرفته شده و یک کلید مشتق‌شده در دسته کلید بارگذاری می‌شود.

-D, --duplicate-connect

اجازه برقراری اتصالات تکراری بین همان میزبان انتقال و پورت زیرسیستم را می‌دهد.

--disable-sqflow

کنترل جریان SQ (صف ارسال) را غیرفعال می‌کند تا از به‌روزرسانی زنگ ورودی سرصفحه (head doorbell) برای صف‌های ارسال هنگام ارسال رویدادهای تکمیل nvme صرف‌نظر شود.

-g, --hdr-digest

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

-G, --data-digest

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

--tls

فعال‌سازی رمزنگاری TLS (پروتکل TCP).

--concat

فعال‌سازی الحاق امن (TCP).

-O, --dump-config

چاپ فایل پیکربندی JSON نهایی در خروجی استاندارد (stdout).

--context <STR>

تنظیم زمینه اجرای برنامه روی <STR>. این امکان هماهنگی مدیریت منابع سراسری را فراهم می‌کند.

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

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

-v, --verbose

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

•اتصال به یک زیرسیستم با نام nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 روی نشانی IPv4 برابر با 192.168.1.3. به‌طور پیش‌فرض پورت 4420 استفاده می‌شود:
# nvme connect --transport=rdma --traddr=192.168.1.3 \
--nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432

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

این برنامه توسط Jay Freyensee[1] و Christoph Hellwig[2] نوشته شده است.

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

1.
Jay Freyensee
mailto:james.p.freyensee@intel.com
2.
Christoph Hellwig
mailto:hch@lst.de
02/16/2026 NVMe