'\" t .\" Title: nvme-connect .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/16/2026 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: Persian .\" .TH "NVME\-CONNECT" "1" "02/16/2026" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" nvme\-connect \- اتصال به کنترلر NVMe-oF (پروتکل NVMe روی شبکه) .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fInvme connect\fR [\-\-transport= | \-t ] [\-\-nqn= | \-n ] [\-\-traddr= | \-a ] [\-\-trsvcid= | \-s ] [\-\-host\-traddr= | \-w ] [\-\-host\-iface= | \-f ] [\-\-hostnqn= | \-q ] [\-\-hostid= | \-I ] [\-\-config= | \-J ] [\-\-dhchap\-secret= | \-S ] [\-\-dhchap\-ctrl\-secret= | \-C ] [\-\-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=] [\-\-tls\-key=] [\-\-tls\-key\-identity=] [\-\-duplicate\-connect | \-D] [\-\-disable\-sqflow ] [\-\-hdr\-digest | \-g] [\-\-data\-digest | \-G] [\-\-tls] [\-\-concat] [\-\-dump\-config | \-O] [\-\-application=] [\-\-output\-format= | \-o ] [\-\-verbose | \-v] .fi .SH "توضیحات (DESCRIPTION)" .sp ایجاد یک اتصال انتقال (ترانسپورت) به یک سیستم راه دور (مشخص‌شده با \-\-traddr و \-\-trsvcid) و ساخت یک کنترلر NVMe over Fabrics برای زیرسیستم NVMe تعیین‌شده توسط گزینه \-\-nqn\&. .SH "گزینه‌ها (OPTIONS)" .PP \-t , \-\-transport= .RS 4 این فیلد ساختار شبکه (fabric) مورد استفاده برای شبکه NVMe\-over\-Fabrics را مشخص می‌کند\&. مقادیر متنی فعلی عبارتند از: .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt. T{ مقدار T}:T{ تعریف T} T{ rdma T}:T{ شبکه فابریک یک شبکه rdma است (RoCE،‏ iWARP،‏ Infiniband،‏ rdma پایه، و غیره)\&. T} T{ fc T}:T{ \fBدر حال توسعه (WIP)\fR شبکه فابریک یک شبکه کانال فیبر (Fibre Channel) است\&. T} T{ tcp T}:T{ شبکه فابریک یک شبکه TCP/IP است\&. T} T{ loop T}:T{ اتصال به یک مقصد (تارگت) NVMe over Fabrics روی میزبان محلی T} .TE .sp 1 .RE .PP \-n , \-\-nqn .RS 4 این فیلد نام زیرسیستم NVMe را برای اتصال به آن مشخص می‌کند\&. .RE .PP \-a , \-\-traddr= .RS 4 این فیلد نشانی شبکه کنترلر را تعیین می‌کند\&. برای انتقال‌هایی که از آدرس‌دهی IP استفاده می‌کنند (مانند rdma)، این مقدار باید یک نشانی مبتنی بر IP (مانند IPv4) باشد\&. .RE .PP \-s , \-\-trsvcid= .RS 4 این فیلد شناسه سرویس انتقال (transport service id) را مشخص می‌کند\&. برای انتقال‌هایی که از آدرس‌دهی IP استفاده می‌کنند (مانند rdma)، این فیلد شماره پورت است\&. به‌طور پیش‌فرض، شماره پورت IP برای انتقال RDMA برابر 4420 است\&. .RE .PP \-w , \-\-host\-traddr= .RS 4 این فیلد نشانی شبکه استفاده‌شده روی میزبان برای اتصال به کنترلر را تعیین می‌کند\&. برای TCP، این گزینه نشانی مبدا را روی سوکت تنظیم می‌کند\&. .RE .PP \-f , \-\-host\-iface= .RS 4 این فیلد رابط شبکه مورد استفاده روی میزبان برای اتصال به کنترلر را مشخص می‌کند (مانند eth1،‏ enp2s0،‏ enx78e7d1ea46da)\&. این گزینه اتصال را مجبور به برقراری از طریق یک رابط خاص می‌کند به‌جای اینکه انتخاب آن به سیستم واگذار شود\&. .RE .PP \-q , \-\-hostnqn= .RS 4 مقدار پیش‌فرض Host NQN را که میزبان NVMe را شناسایی می‌کند جایگزین می‌نماید\&. اگر این گزینه مشخص نشود، مقدار پیش‌فرض ابتدا از مسیر /etc/nvme/hostnqn خوانده می‌شود\&. در صورت عدم وجود آن، مقدار NQN تولیدشده خودکار از ماژول هسته NVMe Host استفاده می‌شود\&. مقدار Host NQN به‌طور یکتا میزبان NVMe را مشخص می‌کند\&. .RE .PP \-I , \-\-hostid= .RS 4 شناسه یکتای جهانی (UUID) برای شناسایی که باید فرمت‌بندی شده باشد\&. .RE .PP \-J , \-\-config= .RS 4 استفاده از فایل پیکربندی JSON مشخص‌شده به‌جای فایل پیش‌فرض /etc/nvme/config\&.json یا \fInone\fR جهت نخواندن فایل پیکربندی موجود\&. ساختار فایل پیکربندی JSON در این نشانی مستند شده است: \m[blue]\fBhttps://github\&.com/linux\-nvme/libnvme/blob/master/doc/config\-schema\&.json\fR\m[] .RE .PP \-S , \-\-dhchap\-secret= .RS 4 کلید امنیتی (رمز) احراز هویت درون‌باندی (In-band) پروتکل NVMe؛ باید طبق بخش 8.13.5.8 استاندارد NVMe 2.0 در قالب \fIنمایش رمز (Secret representation)\fR به صورت ASCII باشد\&. .RE .PP \-C , \-\-dhchap\-ctrl\-secret= .RS 4 کلید امنیتی کنترلر احراز هویت درون‌باندی NVMe برای احراز هویت دوطرفه؛ باید طبق بخش 8.13.5.8 استاندارد NVMe 2.0 در قالب \fIنمایش رمز (Secret representation)\fR به صورت ASCII باشد\&. در صورت عدم وجود، احراز هویت دوطرفه انجام نمی‌شود\&. .RE .PP \-i <#>, \-\-nr\-io\-queues=<#> .RS 4 تعداد پیش‌فرض صف‌های ورودی/خروجی (I/O) ایجادشده توسط درایور را بازنویسی می‌کند\&. .RE .PP \-W <#>, \-\-nr\-write\-queues=<#> .RS 4 صف‌های اضافی که برای عملیات نوشتن I/O استفاده می‌شوند را می‌افزاید\&. .RE .PP \-P <#>, \-\-nr\-poll\-queues=<#> .RS 4 صف‌های اضافی که برای نظرسنجی (polling) عملیات I/O حساس به تاخیر استفاده می‌شوند را می‌افزاید\&. .RE .PP \-Q <#>, \-\-queue\-size=<#> .RS 4 تعداد پیش‌فرض عناصر در صف‌های I/O ایجادشده توسط درایور را بازنویسی می‌کند\&. .RE .PP \-k <#>, \-\-keep\-alive\-tmo=<#> .RS 4 مهلت زمانی پیش‌فرض زنده ماندن اتصال (Keep Alive برحسب ثانیه) را بازنویسی می‌کند\&. .RE .PP \-c <#>, \-\-reconnect\-delay=<#> .RS 4 تاخیر پیش‌فرض (برحسب ثانیه) قبل از تلاش مجدد برای اتصال پس از قطع ارتباط را بازنویسی می‌کند\&. .RE .PP \-l <#>, \-\-ctrl\-loss\-tmo=<#> .RS 4 مدت‌زمان پیش‌فرض مهلت از دست رفتن کنترلر (برحسب ثانیه) را بازنویسی می‌کند\&. این حداکثر زمانی است که هسته اتصال را مجدداً امتحان خواهد کرد، که هر بار تلاش پس از گذشت \fIreconnect\-delay\fR ثانیه انجام می‌شود\&. .RE .PP \-T <#>, \-\-tos=<#> .RS 4 نوع سرویس (Type of Service) برای اتصال (TCP)\&. .RE .PP \-\-keyring= .RS 4 دسته کلید (keyring) جهت جستجوی کلید TLS، که می‌تواند شناسه کلید یا نام دسته کلید باشد\&. .RE .PP \-\-tls\-key= .RS 4 کلید TLS برای اتصال (TCP)، که می‌تواند کلید TLS در قالب تبادل یا شناسه کلید باشد\&. به دلیل مسائل امنیتی اکیداً توصیه می‌شود کلید TLS از طریق خط فرمان ارائه نشود\&. در عوض در محیط عملیاتی، کلید باید با دستور \fInvme tls \-\-import\fR در مخزن کلید بارگذاری شود و فقط از گزینه \fI\-\-tls\fR استفاده گردد\&. هسته کلید منطبق را انتخاب خواهد کرد\&. .RE .PP \-\-tls\-key\-identity= .RS 4 هویت مورد استفاده برای tls\-key\&. اگر هویتی مشخص نشود، کلید tls ارائه‌شده از طریق خط فرمان به عنوان یک کلید پیکربندی در نظر گرفته شده و یک کلید مشتق‌شده در دسته کلید بارگذاری می‌شود\&. .RE .PP \-D, \-\-duplicate\-connect .RS 4 اجازه برقراری اتصالات تکراری بین همان میزبان انتقال و پورت زیرسیستم را می‌دهد\&. .RE .PP \-\-disable\-sqflow .RS 4 کنترل جریان SQ (صف ارسال) را غیرفعال می‌کند تا از به‌روزرسانی زنگ ورودی سرصفحه (head doorbell) برای صف‌های ارسال هنگام ارسال رویدادهای تکمیل nvme صرف‌نظر شود\&. .RE .PP \-g, \-\-hdr\-digest .RS 4 چکیده هدر (header digest) را تولید/بررسی می‌کند (TCP)\&. .RE .PP \-G, \-\-data\-digest .RS 4 چکیده داده (data digest) را تولید/بررسی می‌کند (TCP)\&. .RE .PP \-\-tls .RS 4 فعال‌سازی رمزنگاری TLS (پروتکل TCP)\&. .RE .PP \-\-concat .RS 4 فعال‌سازی الحاق امن (TCP)\&. .RE .PP \-O, \-\-dump\-config .RS 4 چاپ فایل پیکربندی JSON نهایی در خروجی استاندارد (stdout)\&. .RE .PP \-\-context .RS 4 تنظیم زمینه اجرای برنامه روی \&. این امکان هماهنگی مدیریت منابع سراسری را فراهم می‌کند\&. .RE .PP \-o , \-\-output\-format= .RS 4 تنظیم قالب گزارش روی \fInormal\fR، \fIjson\fR یا \fIbinary\fR\&. در هر بار تنها یک قالب خروجی می‌تواند استفاده شود\&. .RE .PP \-v, \-\-verbose .RS 4 افزایش جزئیات اطلاعات در خروجی\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اتصال به یک زیرسیستم با نام nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 روی نشانی IPv4 برابر با 192\&.168\&.1\&.3\&. به‌طور پیش‌فرض پورت 4420 استفاده می‌شود: .sp .if n \{\ .RS 4 .\} .nf # nvme connect \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e \-\-nqn=nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 .fi .if n \{\ .RE .\} .RE .SH "همچنین ببینید (SEE ALSO)" .sp nvme\-discover(1) nvme\-connect\-all(1) .SH "نویسندگان (AUTHORS)" .sp این برنامه توسط \m[blue]\fBJay Freyensee\fR\m[]\&\s-2\u[1]\d\s+2 و \m[blue]\fBChristoph Hellwig\fR\m[]\&\s-2\u[2]\d\s+2 نوشته شده است\&. .SH "NVME" .sp بخشی از مجموعه nvme\-user .SH "نکات (NOTES)" .IP " 1." 4 Jay Freyensee .RS 4 \%mailto:james.p.freyensee@intel.com .RE .IP " 2." 4 Christoph Hellwig .RS 4 \%mailto:hch@lst.de .RE