{"id":453985,"date":"2025-04-01T15:16:53","date_gmt":"2025-04-01T15:16:53","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=453985"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=453985","title":{"rendered":"<span>NVME over RoCE. \u041f\u0440\u0438\u043c\u0435\u0440\u044f\u0435\u043c \u043d\u0430 \u0441\u0435\u0431\u044f<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0422\u0430\u043a \u043f\u043e\u0432\u0435\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e \u0438\u0442\u043e\u0433\u0430\u043c \u0441\u0432\u043e\u0438\u0445 \u043e\u043f\u044b\u0442\u043e\u0432 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043f\u0438\u0441\u0430\u043b \u0441\u044e\u0434\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u043c\u0435\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/770174\/\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 NVME over TCP \u2014 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 1 \u0434\u0438\u0441\u043a\u0430 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0421\u0435\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/838192\/\">\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u0411\u0414 \u0441\u043e 100 \u0434\u043e 200\u0413\u0431\/c \u0438\u043b\u0438 \u00abfailure is always an option\u00bb<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/821855\/\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 iScsi \u0432 L3-\u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043a\u0430\u043d\u0430\u043b\u0430 \u0438 \u0421\u0425\u0414<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0432\u0435\u0436\u0438\u0439 \u043e\u043f\u044b\u0442 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0435\u0449\u0451 \u043e\u0434\u043d\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0438 \u0432\u0441\u0435 \u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043e \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 wiki-\u0441\u0442\u0430\u0442\u044c\u0438, \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044e.<\/p>\n<h2>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h2>\n<p>\u0420\u0435\u0448\u0438\u043b\u0438 \u043a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434 \u043f\u043e\u0434 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043d\u0435\u043c \u0431\u044b\u043b\u043e 4&#215;3\u0422\u0431  NVME \u0434\u0438\u0441\u043a\u0430 \u0438 12&#215;12\u0422\u0431 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441 \u0431\u043b\u0438\u043d\u0430\u043c\u0438, \u0432\u0438\u0441\u044f\u0449\u0438\u043c\u0438 \u043d\u0430 RAID \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435.<\/p>\n<p>\u041f\u0440\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0432 RAID 10 \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u0434 \u0431\u0430\u0437\u0443 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e. \u041d\u043e, <em>\u043f\u043e \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438<\/em>, \u0432 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u043e\u0439\u043a\u0435, \u0447\u0442\u043e \u0438 \u0441\u0435\u0440\u0432\u0435\u0440, \u0431\u044b\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0421\u0425\u0414, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u043f\u043e NVME\/ RoCE (RDMA over Converged Ethernet).<\/p>\n<p>\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043c\u044b\u0441\u043b\u044c:<br \/> \u0410 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e 4 \u043f\u043e\u0440\u0442\u0430 \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 4 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0438 \u043f\u043e\u0438\u0433\u0440\u0430\u0435\u043c\u0441\u044f \u0441 <em>RoCE<\/em>! \u0417\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0446\u0438\u0444\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u0430\u0445 \u0434\u0438\u0441\u043a\u043e\u0432. \u0418 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439.<\/p>\n<p>\u0422\u0430\u043a \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434  \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443: 140\u0422\u0431.  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e 70 \u0434\u0438\u0441\u043a\u043e\u0432 2\u0422\u0431 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0430\u043d\u044b \u0441 \u0421\u0425\u0414 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e  NVME over RDMA<\/p>\n<p>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d 4 \u0441\u0435\u0442\u0435\u0432\u044b\u0445  \u043a\u0430\u0440\u0442\u044b \u043f\u043e 2 x 25\u0413\u0431 \u043f\u043e\u0440\u0442\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439. 4 \u043f\u043e\u0440\u0442\u0430 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u0438 \u0441\u043a\u043e\u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b.<\/p>\n<p>\u041d\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0431\u044b\u043b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442 FRR \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0421\u0423\u0411\u0414, \u0430 \u0432\u043e\u0442 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f  4 \u043d\u0435\u0441\u043a\u043e\u043c\u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0435\u0439 \u0438\u0437 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441 \u0421\u0425\u0414, \u0434\u043b\u044f NVME\/RoCE \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0432 NetBox.<\/p>\n<p>\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0441\u0432\u0438\u0442\u0447\u0435\u0439. \u0423 \u043d\u0438\u0445 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043d\u0443\u0436\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 RoCE \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0414\u0430 \u0438 \u043f\u0440\u043e\u0449\u0435 \u0442\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443  NVME \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb. \u0421 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0434\u043b\u044f NVME-cli \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 NVMEt.<\/p>\n<pre><code># lsmod | grep NVME NVME_rdma              57344  0 rdma_cm               151552  1 NVME_rdma ib_core               475136  6 rdma_cm,NVME_rdma,iw_cm,ib_uverbs,mlx5_ib,ib_cm NVME                   57344  8 NVMEt_tcp              40960  0 NVMEt                 155648  1 NVMEt_tcp NVME_fabrics           36864  1 NVME_rdma NVME_core             180224  164 NVMEt,NVME,NVME_rdma,NVME_fabrics t10_pi                 16384  3 NVMEt,sd_mod,NVME_core # lsmod | grep mlx mlx5_ib               450560  0 ib_uverbs             188416  1 mlx5_ib ib_core               475136  6 rdma_cm,NVME_rdma,iw_cm,ib_uverbs,mlx5_ib,ib_cm mlx5_core            1867776  1 mlx5_ib mlxfw                  49152  1 mlx5_core pci_hyperv_intf        16384  1 mlx5_core tls                   126976  1 mlx5_core psample                20480  1 mlx5_core  <\/code><\/pre>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440 \u0432\u0438\u0434\u0435\u043b \u0421\u0425\u0414 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <code>discovery<\/code>, \u043d\u043e \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u043e RoCE.<\/p>\n<pre><code># NVME discover -t rdma -a 255.255.255.83 -s 4420   Discovery Log Number of Records 1, Generation counter 2 =====Discovery Log Entry 0====== trtype: rdma adrfam: ipv4 subtype: NVME subsystem treq: not specified portid: 8 trsvcid: 4420 subnqn: QRG7T-8RHQY-B4CVX-R8MWM-W43BT traddr: 255.255.255.83 rdma_prtype: roce-v2 rdma_qptype: connected rdma_cms: rdma-cm rdma_pkey: 0x0000 <\/code><\/pre>\n<p>\u041f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0431\u044b\u043b\u0430 \u0432\u0438\u0434\u043d\u0430, \u043d\u043e \u043f\u0440\u0438\u0446\u0435\u043f\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c. \u041a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435 \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a \u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0431\u044b\u043b\u0430 \u0433\u043e\u0442\u043e\u0432\u0430. \u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0438, \u0437\u0430\u0448\u0435\u0434\u0448\u0430\u044f \u043d\u0435 \u0432 \u0442\u0443 \u0434\u0432\u0435\u0440\u044c<\/h2>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u0440\u0430\u0437 \u043d\u0443\u0436\u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u0445. \u041f\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0421\u0425\u0414 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 OFED. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435  Mellanox OFED \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441 \u0441\u0430\u0439\u0442\u0430 nvidia, \u0442\u043e \u043e\u043d\u0438 \u0442\u0443\u0442.<br \/> <a href=\"https:\/\/developer.nvidia.com\/networking\/mlnx-ofed-eula\">Mellanox OFED (MLNX_OFED) Software<\/a>.<\/p>\n<p>\u041d\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0448\u044c. \u042f\u0434\u0440\u043e \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0438 \u0432\u0441\u0435 \u0442\u0430\u043a\u043e\u0435. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 \u043b\u0443\u0447\u0448\u0435\u043c \u0432\u0438\u0434\u0435. \u041d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 gcc, \u0432\u043a\u043b\u044e\u0447\u0430\u044f  <a href=\"https:\/\/www.google.com\/search?q=%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%BE%D1%80+%D1%84%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD&amp;udm=2\">\u0444\u043e\u0440\u0442\u0440\u0430\u043d<\/a>,<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">Operating System<\/p>\n<\/th>\n<th>\n<p align=\"left\">Required Packages Installation Command<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">RHEL\/OL\/Fedora<\/p>\n<\/td>\n<td>\n<p align=\"left\">yum install perl pciutils python gcc-g<strong>fortran<\/strong> libxml2-python tcsh libnl.i686 libnl expat glib2 tcl libstdc++ bc tk gtk2 atk cairo numactl pkgconfig ethtool lsof<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e.<\/p>\n<p>\u0414\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435  \u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0444\u043b\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430<br \/> <code>.\/mlnxofedinstall --add-kernel-support --skip-repo<\/code><\/p>\n<p>\u0438\u0437 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430<\/p>\n<pre><code># ls -l total 356 -rwxr-xr-x 1 root root 3077 Dec 2 22:57 common_installers.pl -rwxr-xr-x 1 root root 26026 Dec 2 22:57 common.pl -rwxr-xr-x 1 root root 27150 Dec 2 22:57 create_mlnx_ofed_installers.pl -rw-r--r-- 1 root root 6 Dec 2 22:57 distro drwxr-xr-x 6 root root 153 Dec 2 22:58 docs -rwxr-xr-x 1 root root 5508 Dec 2 22:57 is_kmp_compat.sh -rw-r--r-- 1 root root 956 Dec 2 22:58 LICENSE -rwxr-xr-x 1 root root 21541 Dec 2 22:57 mlnx_add_kernel_support.sh -rwxr-xr-x 1 root root 228908 Dec 2 22:57 mlnxofedinstall -rw-r--r-- 1 root root 1771 Dec 2 22:57 RPM-GPG-KEY-Mellanox drwxr-xr-x 3 root root 8192 Dec 2 22:59 RPMS drwxr-xr-x 2 root root 45 Dec 2 22:57 src -rwxr-xr-x 1 root root 15883 Dec 2 22:57 uninstall.sh <\/code><\/pre>\n<p>\u041f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u0430 \u0441\u043e\u0432\u0435\u0442\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b. \u041c\u044b \u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 <code>dracut -f<\/code> \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u043b \u0440\u0435\u0431\u0443\u0442. \u0420\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0435\u0442\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c discover.<\/p>\n<p>\u041d\u043e \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0438\u0439 \u0434\u043e \u0441\u043c\u0435\u043d\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 Discover \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0440\u0443\u0433\u0430\u044f\u0441\u044c \u043d\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u0430\u0442\u0430\u043b\u043e\u0433.<\/p>\n<pre><code>Failed to open \/dev\/NVME-fabrics: No such file or directory <\/code><\/pre>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0442\u044c.<\/p>\n<h3>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0435\u0442\u0438<\/h3>\n<p>\u041d\u0430 4 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d MTU 5500, \u043a\u0430\u043a \u043d\u0430 \u0421\u0425\u0414. \u0414\u0430\u043b\u0435\u0435, \u043d\u0430 \u043d\u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u043e \u043f\u043e VLAN \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0435\u0439 \u0432<br \/> NetBox. \u0421\u0425\u0414 \u0443\u043a\u0430\u0437\u0430\u043b\u043e VLAN \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 \u0438 IP \u041f\u043e\u0434\u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \/24<\/p>\n<pre><code># ip a | grep -A2 \": ens\" 4: ens2f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d0:98 brd ff:ff:ff:ff:ff:ff altname enp75s0f0np0 5: ens2f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d0:99 brd ff:ff:ff:ff:ff:ff altname enp75s0f1np1 6: ens4f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d1:80 brd ff:ff:ff:ff:ff:ff altname enp152s0f0np0 7: ens4f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d1:81 brd ff:ff:ff:ff:ff:ff altname enp152s0f1np1 -- 14: ens2f0np0.200@ens2f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d0:98 brd ff:ff:ff:ff:ff:ff inet 192.168.200.20\/24 brd 192.168.200.255 scope global noprefixroute ens2f0np0.200 -- 15: ens2f1np1.200@ens2f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d0:99 brd ff:ff:ff:ff:ff:ff inet 192.168.202.21\/24 brd 192.168.202.255 scope global noprefixroute ens2f1np1.200 -- 16: ens4f0np0.201@ens4f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d1:80 brd ff:ff:ff:ff:ff:ff inet 192.168.201.22\/24 brd 192.168.201.255 scope global noprefixroute ens4f0np0.201 -- 17: ens4f1np1.201@ens4f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d1:81 brd ff:ff:ff:ff:ff:ff inet 192.168.203.23\/24 brd 192.168.203.255 scope global noprefixroute ens4f1np1.201 <\/code><\/pre>\n<p>\u041f\u0438\u043d\u0433\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438, \u0430\u0440\u043f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0430 \u0432\u0435\u0440\u043d\u044b\u0435 IP<\/p>\n<pre><code># arp -a | grep 168 ? (192.168.202.11) at 4:e6 [ether] on ens2f1np1.200 ? (192.168.201.12) at 9:d5 [ether] on ens4f0np0.201 ? (192.168.200.10) at 4:e5 [ether] on ens2f0np0.200 ? (192.168.203.13) at 9:d6 [ether] on ens4f1np1.201 <\/code><\/pre>\n<p>\u041d\u043e \u0432\u043e\u0442 <em>discovery<\/em> \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0447\u0435\u0440\u0435\u0437<\/p>\n<pre><code>lsmod | grep mlx lsmod | grep ib lsmod | grep NVME  <\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435, <s>\u041a\u043e\u043b\u0435\u0441\u043e \u043f\u0438\u043d\u0430\u043b\u0438<\/s> \u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!<\/p>\n<h2>\u0428\u0430\u0433 \u043d\u0430\u0437\u0430\u0434. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430<\/h2>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043f\u0435\u0446 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043e\u0442\u043a\u0430\u0442\u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 <code>uninstall.sh<\/code><br \/> \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0432\u044b\u0434\u0430\u043b\u0438 <code>dracut -f<\/code> \u0438 \u043e\u043f\u044f\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0432\u0441\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u043e\u0441\u044c.<br \/> \u041d\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Discovery \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b!<\/p>\n<p>\u0421\u043d\u043e\u0432\u0430 \u0443\u0432\u0438\u0434\u0435\u043b\u0438 \u0438\u043c\u044f \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0430 \u043d\u0430 \u0421\u0425\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0430\u043d\u044b \u0434\u0438\u0441\u043a\u0438 \u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0442\u0434\u0430\u043b\u0438 ID \u0445\u043e\u0441\u0442\u0430 \u043d\u0430 \u0421\u0425\u0414, \u0447\u0442\u043e\u0431\u044b \u0442\u0430\u043c \u0435\u0433\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b\u0438 ID \u0438\u0449\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<pre><code># cat \/etc\/NVME\/hostnqn nqn.2014-08.org.NVMExpress:uuid:12345678-abcd-1234-abcd-abcd12345678 # <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0441 MTU. \u041e\u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u043b\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0441\u0442\u0430\u043b\u043e 1500. \u042d\u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0430 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e IP \u043d\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u043b\u0438.<\/p>\n<p>\u042d\u0442\u043e \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f MTU \u0442\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c:<\/p>\n<pre><code>ip a | grep \": ens\" | tr \"@:\" \" \" | awk '{print $2}' | while read net; do ip link set $net mtu 5500; done <\/code><\/pre>\n<h2>Phase 3. PROFIT !!!<\/h2>\n<p>\u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e <s>\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c<\/s> \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u043b\u0430\u043b\u0438 \u0442\u0435\u0441\u0442\u044b \u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0434\u0438\u0441\u043a\u043e\u043c, \u0434\u043b\u044f \u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>NVME connect -t rdma -a 192.168.200.10 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT NVME connect -t rdma -a 192.168.202.11 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT NVME connect -t rdma -a 192.168.201.12 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT NVME connect -t rdma -a 192.168.203.13 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT <\/code><\/pre>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434 \u0447\u0435\u0442\u044b\u0440\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0430 \u0441\u043a\u043e\u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u2014 \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u0430 \u0441\u0432\u043e\u0439 \u043f\u043e\u0440\u0442.<\/p>\n<p>\u0423\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code>NVME list-subsys NVME-subsys0 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-1 \\ +- NVME0 pcie 10000:01:00.0 live NVME-subsys1 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-2 \\ +- NVME1 pcie 10000:02:00.0 live NVME-subsys2 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-3 \\ +- NVME2 pcie 10000:03:00.0 live NVME-subsys3 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-4 \\ +- NVME3 pcie 10000:04:00.0 live NVME-subsys4 - NQN=QRG7T-8RHQY-B4CVX-R8MWM-W43BT \\ +- NVME4 rdma traddr=192.168.200.10 trsvcid=4420 live +- NVME5 rdma traddr=192.168.203.13 trsvcid=4420 live +- NVME6 rdma traddr=192.168.202.11 trsvcid=4420 live +- NVME7 rdma traddr=192.168.201.12 trsvcid=4420 live <\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u044b\u0435 4 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441 0 \u043f\u043e 3, \u044d\u0442\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0441\u043a\u0438. \u0427\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044d\u0442\u043e rdma \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441 multipath \u043f\u043e \u0447\u0435\u0442\u044b\u0440\u0435\u043c \u043f\u0443\u0442\u044f\u043c. \u0427\u0442\u043e\u0431\u044b \u0443\u0442\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c multipath \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 <code>round-robin<\/code> \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043e\u0432\u043e\u0439 <code>numa<\/code> \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>echo round-robin &gt; \/sys\/class\/NVME-subsystem\/NVME-subsys4\/iopolicy <\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e \u0447\u0442\u0435\u043d\u0438\u044e \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c\u0438&#8230;<\/p>\n<h2>\u0417\u0430\u043c\u0435\u0440\u044b \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438<\/h2>\n<p>\u0421\u0442\u0435\u043d\u0434 \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 rpm\/el8 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 \u0441 \u044f\u0434\u0440\u043e\u043c 5.15. \u0411\u043e\u043b\u0435\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u044f\u0434\u0440\u0430 \u043c\u043e\u0433\u0443\u0442 <s>\u0443\u043b\u0443<\/s>\u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b.<\/p>\n<h3>\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 4k \u0431\u043b\u043e\u043a\u0430<\/h3>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=100s --time_based --name=testRoCe --filename \/dev\/NVME4n1 --bs=4k --iodepth=64 --size=10T --readwrite=randread testRoCe: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 fio-3.19 Starting 1 process Jobs: 1 (f=1): [r(1)][100.0%][r=1092MiB\/s][r=280k IOPS][eta 00m:00s] testRoCe: (groupid=0, jobs=1): err= 0: pid=34261: Wed Feb 12 15:41:17 2025 read: IOPS=263k, BW=1028MiB\/s (1077MB\/s)(100GiB\/100001msec) slat (nsec): min=1498, max=47876, avg=2842.19, stdev=1074.15 clat (usec): min=43, max=199500, avg=240.00, stdev=452.73 lat (usec): min=45, max=199503, avg=242.93, stdev=452.73 clat percentiles (usec): | 1.00th=[ 122], 5.00th=[ 149], 10.00th=[ 169], 20.00th=[ 188], | 30.00th=[ 200], 40.00th=[ 212], 50.00th=[ 227], 60.00th=[ 239], | 70.00th=[ 251], 80.00th=[ 269], 90.00th=[ 293], 95.00th=[ 318], | 99.00th=[ 379], 99.50th=[ 429], 99.90th=[ 2606], 99.95th=[ 5866], | 99.99th=[20841] bw ( MiB\/s): min= 37, max= 1099, per=100.00%, avg=1028.48, stdev=194.54, samples=199 iops : min= 9570, max=281388, avg=263290.58, stdev=49801.55, samples=199 lat (usec) : 50=0.01%, 100=0.21%, 250=68.43%, 500=31.04%, 750=0.12% lat (usec) : 1000=0.02% lat (msec) : 2=0.05%, 4=0.07%, 10=0.03%, 20=0.03%, 50=0.01% lat (msec) : 100=0.01%, 250=0.01% cpu : usr=15.83%, sys=66.98%, ctx=110505, majf=0, minf=76 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, &gt;=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, &gt;=64=0.0% issued rwts: total=26305570,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=64   Run status group 0 (all jobs): READ: bw=1028MiB\/s (1077MB\/s), 1028MiB\/s-1028MiB\/s (1077MB\/s-1077MB\/s), io=100GiB (108GB), run=100001-100001msec   Disk stats (read\/write): NVME4n1: ios=0\/0, merge=0\/0, ticks=0\/0, in_queue=0, util=0.00% <\/code><\/pre>\n<h3>\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 1m \u0431\u043b\u043e\u043a\u0430<\/h3>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=100s --time_based --name=testRoCe --filename \/dev\/NVME4n1 --bs=1024k --iodepth=192 --size=10T --readwrite=read testRoCe: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=192 fio-3.19 Starting 1 process Jobs: 1 (f=1): [R(1)][100.0%][r=11.4GiB\/s][r=11.7k IOPS][eta 00m:00s] testRoCe: (groupid=0, jobs=1): err= 0: pid=34402: Wed Feb 12 15:43:43 2025 read: IOPS=11.7k, BW=11.4GiB\/s (12.2GB\/s)(1138GiB\/100006msec) slat (usec): min=20, max=1213, avg=85.07, stdev=170.91 clat (usec): min=4880, max=47071, avg=16381.94, stdev=649.94 lat (usec): min=5457, max=47386, avg=16467.10, stdev=659.94 clat percentiles (usec): | 1.00th=[14877], 5.00th=[15401], 10.00th=[15533], 20.00th=[16188], | 30.00th=[16188], 40.00th=[16188], 50.00th=[16319], 60.00th=[16319], | 70.00th=[16319], 80.00th=[16909], 90.00th=[16909], 95.00th=[17695], | 99.00th=[18482], 99.50th=[18482], 99.90th=[19792], 99.95th=[20055], | 99.99th=[25560] bw ( MiB\/s): min=10879, max=11686, per=100.00%, avg=11669.20, stdev=56.61, samples=199 iops : min=10879, max=11686, avg=11669.20, stdev=56.62, samples=199 lat (msec) : 10=0.01%, 20=99.92%, 50=0.08% cpu : usr=0.69%, sys=27.41%, ctx=129515, majf=0, minf=49163 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, &gt;=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.1% issued rwts: total=1165727,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=192   Run status group 0 (all jobs): READ: bw=11.4GiB\/s (12.2GB\/s), 11.4GiB\/s-11.4GiB\/s (12.2GB\/s-12.2GB\/s), io=1138GiB (1222GB), run=100006-100006msec   Disk stats (read\/write): NVME4n1: ios=0\/0, merge=0\/0, ticks=0\/0, in_queue=0, util=0.00% <\/code><\/pre>\n<h3>\u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 NVME \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u0447\u0442\u0435\u043d\u0438\u0438 4k \u0431\u043b\u043e\u043a\u0430<\/h3>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=100s --time_based --name=testRoCe --filename \/dev\/NVME1n1 --bs=4k --iodepth=64 --size=10T --readwrite=randread testRoCe: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 fio-3.19 Starting 1 process Jobs: 1 (f=1): [r(1)][100.0%][r=1800MiB\/s][r=461k IOPS][eta 00m:00s] testRoCe: (groupid=0, jobs=1): err= 0: pid=34511: Wed Feb 12 15:45:51 2025 read: IOPS=418k, BW=1633MiB\/s (1712MB\/s)(159GiB\/100001msec) slat (nsec): min=1069, max=41278, avg=1643.67, stdev=549.70 clat (usec): min=6, max=351, avg=151.04, stdev=34.76 lat (usec): min=8, max=386, avg=152.77, stdev=35.12 clat percentiles (usec): | 1.00th=[ 135], 5.00th=[ 135], 10.00th=[ 135], 20.00th=[ 137], | 30.00th=[ 137], 40.00th=[ 137], 50.00th=[ 137], 60.00th=[ 139], | 70.00th=[ 139], 80.00th=[ 141], 90.00th=[ 233], 95.00th=[ 237], | 99.00th=[ 241], 99.50th=[ 241], 99.90th=[ 243], 99.95th=[ 245], | 99.99th=[ 247] bw ( MiB\/s): min= 1023, max= 1817, per=100.00%, avg=1635.28, stdev=316.76, samples=199 iops : min=262137, max=465284, avg=418630.98, stdev=81089.70, samples=199 lat (usec) : 10=0.01%, 20=0.01%, 50=0.01%, 100=0.01%, 250=100.00% lat (usec) : 500=0.01% cpu : usr=25.55%, sys=67.93%, ctx=45, majf=0, minf=76 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, &gt;=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, &gt;=64=0.0% issued rwts: total=41803341,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=64   Run status group 0 (all jobs): READ: bw=1633MiB\/s (1712MB\/s), 1633MiB\/s-1633MiB\/s (1712MB\/s-1712MB\/s), io=159GiB (171GB), run=100001-100001msec   Disk stats (read\/write): NVME1n1: ios=41692898\/0, merge=0\/0, ticks=279606\/0, in_queue=279606, util=99.96% <\/code><\/pre>\n<h3>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 NVME, 1m \u0431\u043b\u043e\u043a, \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435.<\/h3>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=100s --time_based --name=testRoCe --filename \/dev\/NVME1n1 --bs=1024k --iodepth=192 --size=10T --readwrite=read testRoCe: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=192 fio-3.19 Starting 1 process Jobs: 1 (f=1): [R(1)][100.0%][r=6290MiB\/s][r=6289 IOPS][eta 00m:00s] testRoCe: (groupid=0, jobs=1): err= 0: pid=72615: Thu Feb 13 10:45:48 2025   read: IOPS=6285, BW=6286MiB\/s (6591MB\/s)(614GiB\/100021msec)     slat (usec): min=21, max=894, avg=157.81, stdev=52.47     clat (usec): min=5395, max=50417, avg=30379.53, stdev=1321.18      lat (usec): min=5422, max=50597, avg=30537.44, stdev=1322.08     clat percentiles (usec):      |  1.00th=[29754],  5.00th=[30016], 10.00th=[30278], 20.00th=[30278],      | 30.00th=[30278], 40.00th=[30278], 50.00th=[30278], 60.00th=[30278],      | 70.00th=[30278], 80.00th=[30278], 90.00th=[30540], 95.00th=[30540],      | 99.00th=[32900], 99.50th=[39060], 99.90th=[42206], 99.95th=[43779],      | 99.99th=[44827]    bw (  MiB\/s): min= 6031, max= 6300, per=100.00%, avg=6294.40, stdev=18.76, samples=199    iops        : min= 6031, max= 6300, avg=6294.40, stdev=18.81, samples=199   lat (msec)   : 10=0.06%, 20=0.13%, 50=99.80%, 100=0.01%   cpu          : usr=0.61%, sys=15.40%, ctx=548424, majf=0, minf=49163   IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, &gt;=64=100.0%      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.1%      issued rwts: total=628713,0,0,0 short=0,0,0,0 dropped=0,0,0,0      latency   : target=0, window=0, percentile=100.00%, depth=192  Run status group 0 (all jobs):    READ: bw=6286MiB\/s (6591MB\/s), 6286MiB\/s-6286MiB\/s (6591MB\/s-6591MB\/s), io=614GiB (659GB), run=100021-100021msec  Disk stats (read\/write):   NVME1n1: ios=5017173\/0, merge=0\/0, ticks=101951869\/0, in_queue=101951869, util=100.00%  <\/code><\/pre>\n<h3>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 RAID-10 \u043d\u0430 \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0445 \u0434\u0438\u0441\u043a\u0430\u0445 \u043f\u0440\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u0447\u0442\u0435\u043d\u0438\u0438 4k \u0431\u043b\u043e\u043a\u0430<\/h3>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=100s --time_based --name=testRoCe --filename \/dev\/sdb --bs=4k --iodepth=64 --size=10T --readwrite=randread testRoCe: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 fio-3.19 Starting 1 process Jobs: 1 (f=1): [r(1)][100.0%][r=9.99MiB\/s][r=2556 IOPS][eta 00m:00s] testRoCe: (groupid=0, jobs=1): err= 0: pid=34704: Wed Feb 12 15:55:42 2025 read: IOPS=2567, BW=10.0MiB\/s (10.5MB\/s)(1003MiB\/100054msec) slat (nsec): min=1767, max=47677, avg=2136.54, stdev=209.69 clat (usec): min=1106, max=387852, avg=24913.93, stdev=21125.61 lat (usec): min=1108, max=387854, avg=24916.15, stdev=21125.61 clat percentiles (msec): | 1.00th=[ 4], 5.00th=[ 5], 10.00th=[ 7], 20.00th=[ 9], | 30.00th=[ 12], 40.00th=[ 15], 50.00th=[ 18], 60.00th=[ 23], | 70.00th=[ 29], 80.00th=[ 39], 90.00th=[ 55], 95.00th=[ 67], | 99.00th=[ 95], 99.50th=[ 112], 99.90th=[ 161], 99.95th=[ 182], | 99.99th=[ 239] bw ( KiB\/s): min= 9469, max=10848, per=100.00%, avg=10292.05, stdev=221.79, samples=199 iops : min= 2367, max= 2712, avg=2573.01, stdev=55.45, samples=199 lat (msec) : 2=0.09%, 4=2.51%, 10=22.23%, 20=30.00%, 50=32.94% lat (msec) : 100=11.45%, 250=0.78%, 500=0.01% cpu : usr=0.47%, sys=0.53%, ctx=252418, majf=0, minf=75 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, &gt;=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, &gt;=64=0.0% issued rwts: total=256889,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=64   Run status group 0 (all jobs): READ: bw=10.0MiB\/s (10.5MB\/s), 10.0MiB\/s-10.0MiB\/s (10.5MB\/s-10.5MB\/s), io=1003MiB (1052MB), run=100054-100054msec   Disk stats (read\/write): sdb: ios=256481\/0, merge=0\/0, ticks=6386655\/0, in_queue=6386656, util=99.89% <\/code><\/pre>\n<h3>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 RAID-10 \u043d\u0430 \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0445 \u0434\u0438\u0441\u043a\u0430\u0445 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e 1m \u0431\u043b\u043e\u043a\u0430\u043c\u0438<\/h3>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=100s --time_based --name=testRoCe --filename \/dev\/sdb --bs=1024k --iodepth=192 --size=10T --readwrite=read testRoCe: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=192 fio-3.19 Starting 1 process Jobs: 1 (f=1): [R(1)][100.0%][r=1532MiB\/s][r=1532 IOPS][eta 00m:00s] testRoCe: (groupid=0, jobs=1): err= 0: pid=72763: Thu Feb 13 10:49:02 2025   read: IOPS=1526, BW=1527MiB\/s (1601MB\/s)(149GiB\/100057msec)     slat (usec): min=30, max=17583, avg=653.70, stdev=395.98     clat (msec): min=56, max=2634, avg=125.00, stdev=185.45      lat (msec): min=56, max=2634, avg=125.66, stdev=185.45     clat percentiles (msec):      |  1.00th=[   69],  5.00th=[   77], 10.00th=[   81], 20.00th=[   85],      | 30.00th=[   90], 40.00th=[   94], 50.00th=[  100], 60.00th=[  105],      | 70.00th=[  110], 80.00th=[  120], 90.00th=[  136], 95.00th=[  163],      | 99.00th=[  885], 99.50th=[ 1754], 99.90th=[ 2567], 99.95th=[ 2601],      | 99.99th=[ 2635]    bw (  MiB\/s): min= 1185, max= 1604, per=100.00%, avg=1528.30, stdev=48.53, samples=199    iops        : min= 1185, max= 1604, avg=1527.58, stdev=48.31, samples=199   lat (msec)   : 100=51.74%, 250=45.78%, 500=0.96%, 750=0.43%, 1000=0.22%   lat (msec)   : 2000=0.47%, &gt;=2000=0.41%   cpu          : usr=0.14%, sys=3.96%, ctx=300216, majf=0, minf=49163   IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, &gt;=64=100.0%      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.1%      issued rwts: total=152778,0,0,0 short=0,0,0,0 dropped=0,0,0,0      latency   : target=0, window=0, percentile=100.00%, depth=192  Run status group 0 (all jobs):    READ: bw=1527MiB\/s (1601MB\/s), 1527MiB\/s-1527MiB\/s (1601MB\/s-1601MB\/s), io=149GiB (160GB), run=100057-100057msec  Disk stats (read\/write):   sdb: ios=2442366\/0, merge=0\/0, ticks=25114665\/0, in_queue=25114665, util=100.00%  <\/code><\/pre>\n<h2>\u041d\u0430\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 70 \u0434\u0438\u0441\u043a\u0430\u043c\u0438<\/h2>\n<p>\u041f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 70 \u0434\u0438\u0441\u043a\u043e\u0432 \u043e\u043d\u0438 \u0432\u0441\u0435 \u0432 \u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043d\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432<br \/> \u043e\u0442 1 \u0434\u043e 70<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a:<br \/> NVME<strong>4<\/strong>n<em>XX<\/em>. \u0413\u0434\u0435 <strong>4<\/strong> \u2014 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 NVME, \u0430 <em>XX<\/em> \u2014 \u043d\u043e\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430 (\u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441).<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 udev \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c ID \u0434\u0438\u0441\u043a\u043e\u0432 \u0432 wwid \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0443 \u043d\u0438\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0446\u0438\u0444\u0440 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442.<\/p>\n<p><em>\u041f\u0440\u0438\u043c\u0435\u0440<\/em><\/p>\n<p>\u0421\u0435\u043c\u0438\u0434\u0435\u0441\u044f\u0442\u044b\u0439 \u0434\u0438\u0441\u043a \u043d\u0430 \u0421\u0425\u0414 \u044d\u0442\u043e <code>12345678900987654321123450000046<\/code><\/p>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0438\u0449\u0435\u043c \u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0432 udev<\/p>\n<pre><code>udevadm info -q all -a \/dev\/NVME4n70     looking at device '\/devices\/virtual\/NVME-subsystem\/NVME-subsys4\/NVME4n70': KERNEL==\"NVME4n70\" SUBSYSTEM==\"block\" DRIVER==\"\" ATTR{alignment_offset}==\"0\" ATTR{capability}==\"40\" ATTR{discard_alignment}==\"0\" ATTR{diskseq}==\"1557\" ATTR{events}==\"\" ATTR{events_async}==\"\" ATTR{events_poll_msecs}==\"-1\" ATTR{ext_range}==\"256\" ATTR{hidden}==\"0\" ATTR{inflight}==\" 0 0\" ATTR{nguid}==\"xxx-2af100000046\" ATTR{nsid}==\"70\" ATTR{range}==\"0\" ATTR{removable}==\"0\" ATTR{ro}==\"0\" ATTR{size}==\"4292870144\" ATTR{stat}==\" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\" ATTR{uuid}==\"xxx-2af100000046\" ATTR{wwid}==\"eui.xxx2af100000046\"   looking at parent device '\/devices\/virtual\/NVME-subsystem\/NVME-subsys4': KERNELS==\"NVME-subsys4\" SUBSYSTEMS==\"NVME-subsystem\" DRIVERS==\"\" ATTRS{firmware_rev}==\"1000001\" ATTRS{iopolicy}==\"round-robin\" ATTRS{model}==\"san-model\" ATTRS{serial}==\"2102352VVAFSMB000015\" ATTRS{subsysnqn}==\"QRG7T-8RHQY-B4CVX-R8MWM-W43BT\" ATTRS{subsystype}==\"nvm\" <\/code><\/pre>\n<p>\u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0432\u0441\u0435 wwid \u0447\u0435\u0440\u0435\u0437 \u043b\u0438\u0441\u0442\u0438\u043d\u0433 NVME4 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f wwid<\/p>\n<pre><code>ls -1 \/dev\/NVME4n* | xargs -n1 udevadm info -q all -a | grep wwid | sort| tr \"\\\".\" \" \" | awk '{print $3}' | while read device; do echo -n $device \" \"; echo $device | cut -c30-35; done | awk '{print \"ATTR{wwid}==\\\"eui.\"$1\"\\\", SYMLINK+=\\\"gsmdisk\/rdma_\" $2\"\\\", OWNER=\\\"vanga\\\", GROUP=\\\"dba\\\", MODE=\\\"0660\\\" \"}' <\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u044d\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u044b\u043b\u0438 \u043f\u043e\u0431\u0438\u0442\u044b \u043d\u0430 100% \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438<\/p>\n<pre><code>ls -1 \/dev\/gsmdisk\/rdma_0*| tr \"\/\" \" \" | awk '{print $3}' | while read dsk; do parted -s \/dev\/gsmdisk\/$dsk \"mklabel gpt mkpart primary 0% 100% name 1 gsm_${dsk}\"; done <\/code><\/pre>\n<p>\u0418 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0431\u044b\u043b\u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \/dev\/gsmdisk \u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0442\u0430\u043a\u0438\u043c udev \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c.<\/p>\n<pre><code>ENV{ID_PART_ENTRY_SCHEME}==\"gpt\", ENV{ID_PART_ENTRY_NAME}==\"?*rdma*\", SYMLINK+=\"gsmdisk\/$env{ID_PART_ENTRY_NAME}\", OWNER=\"vanga\", GROUP=\"dba\", MODE=\"0660\" <\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u043d\u0435\u0445\u0438\u0442\u0440\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0438\u0441\u043a\u0438 \u0432\u0438\u0434\u043d\u044b \u043f\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443, \u043d\u0435\u0432\u0430\u0436\u043d\u043e \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u0430\u0434\u043a\u0435 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f. \u041d\u0435\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439.<\/p>\n<p>\u0414\u043b\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0432\u044b\u0432\u043e\u0434\u044f\u0449\u0435\u0435 \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u043a \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0432 \u0442\u043e\u0447\u043a\u0443, \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0430\u044e\u0442 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0421\u0423\u0411\u0414.<\/p>\n<h2>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0431\u0443\u0442\u0430<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u0431\u0443\u0442\u0430 \u0443 \u043d\u0430\u0441 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441\u0435\u0442\u044c, MTU \u043d\u0435 \u0442\u043e\u0442, \u0434\u0430 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0441\u0443 \u0441\u0442\u043e\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c.<\/p>\n<p>\u0412 iscsi \u0430\u0432\u0442\u043e\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437<\/p>\n<pre><code>iscsiadm -m node -o update -n node.startup -v automatic <\/code><\/pre>\n<p>\u0422\u0443\u0442 \u0436\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f systemctl, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c MTU.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0432\u0441\u0435\u043c \u0447\u0435\u0442\u044b\u0440\u0435\u043c \u043f\u0443\u0442\u044f\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u043b\u0438\u0441\u0442\u0438\u043d\u0433 \u0434\u0438\u0441\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 <code>NVME list<\/code>, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c.<\/p>\n<\/li>\n<\/ol>\n<h2>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/h2>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435 \u0434\u0438\u0441\u0442\u0440\u0443\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043f\u043e\u043b\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0421\u0425\u0414, \u043e\u0442\u0440\u0443\u0431\u0430\u043d\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442 \u043d\u0430 \u043b\u0435\u0442\u0443, \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c. \u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435, \u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b\u0439 \u043e\u043f\u044b\u0442.<\/p>\n<h2>\u041d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f:<\/h2>\n<p><code>sar<\/code> \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442 \u0434\u043b\u044f roce<\/p>\n<pre><code>04:31:17 PM IFACE rxpck\/s txpck\/s rxkB\/s txkB\/s rxcmp\/s txcmp\/s rxmcst\/s %ifutil 04:31:22 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM eno1np0 3.20 13.80 0.28 3.46 0.00 0.00 0.00 0.00 04:31:22 PM eno2np1 4.20 3.20 0.33 0.21 0.00 0.00 0.00 0.00 04:31:22 PM ens2f0np0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM ens2f1np1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM ens4f0np0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM ens4f1np1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM eno3np0 8.40 3.40 0.65 0.22 0.00 0.00 0.00 0.00 04:31:22 PM eno4np1 3.40 3.40 0.28 0.22 0.00 0.00 0.00 0.00 04:31:22 PM eno1np0.101 3.20 4.60 0.23 2.23 0.00 0.00 0.00 0.00 04:31:22 PM eno2np1.101 4.20 3.20 0.27 0.21 0.00 0.00 0.00 0.00 04:31:22 PM eno3np0.102 8.40 3.40 0.53 0.22 0.00 0.00 0.00 0.00 04:31:22 PM eno4np1.102 3.40 3.40 0.23 0.22 0.00 0.00 0.00 0.00 04:31:22 PM ens2f0np0.200 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM ens2f1np1.200 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM ens4f0np0.201 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:31:22 PM ens4f1np1.201 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 <\/code><\/pre>\n<p>\u042d\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e, \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u0441\u0431\u043e\u0439\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438.<\/p>\n<p>C\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0421\u0425\u0414 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u043e\u0442\u0437\u044b\u0432<\/p>\n<blockquote>\n<p>\u041d\u0443 \u0432\u043e\u0442 10 \u0433\u0438\u0433\u0438\u0431\u0430\u0439\u0442 \u2013 \u044d\u0442\u043e \u043f\u043e\u0442\u043e\u043b\u043e\u043a \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 25 \u0413\u0431 \u0445 4 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<br \/> \u041d\u0443 \u0438 RDMA \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u0435\u043d, \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u043c \u0431\u043b\u043e\u043a\u0435 (1 \u043c\u0431\u0430\u0439\u0442) \u0438<br \/> \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0432 100% \u2014 \u0440\u0435\u0441\u043f\u043e\u043d\u0437 0,6 \u043c\u0441.*<\/p>\n<\/blockquote>\n<h2>\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u043e\u0442 NVME Over tcp.<\/h2>\n<p>\u0412 RDMA \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043d\u0435\u0442, \u043a\u0430\u043a \u0432 NVME over tcp, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u043d\u0430 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0412\u0441\u0435 \u043f\u043e\u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u0438\u0441\u043a\u0438 \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0439\u0442\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0434\u0438\u0441\u043a \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e<\/p>\n<p>TCP \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u0435\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043d \u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u043a \u043a\u0430\u0440\u0442\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u043f\u0440\u043e\u043a\u0438\u0434\u044b\u0432\u0430\u043b\u0438 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.<\/p>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p><s>\u0425\u043e\u0440\u043e\u0448\u0438\u0435 \u0441\u0430\u043f\u043e\u0433\u0438, \u043d\u0430\u0434\u043e \u0431\u0440\u0430\u0442\u044c!<\/s><\/p>\n<p><s>\u041b\u0443\u0447\u0448\u0435\u0435 \u2014 \u0432\u0440\u0430\u0433 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e.<\/s><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NVME over Fabrics, \u0442\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u043e\u0432\u044b\u043c \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043e\u043c \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e. \u041f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u0435\u0434\u0435\u0442 \u0441\u0435\u0431\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/p>\n<p>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f \u0443 \u043d\u0430\u0441 \u0432\u044b\u0448\u043b\u0430 \u0432\u044b\u0448\u0435, \u0447\u0435\u043c \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c NVME \u0434\u0438\u0441\u043a\u0435. \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0441\u043a \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u043f\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u0447\u0442\u0435\u043d\u0438\u044e.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u0445 mlx5.<\/p>\n<h2>And one more thing&#8230;<\/h2>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f\u044f\u0441\u044c \u043a \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u0438\u0437 <a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/838192\/\">\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u0411\u0414 \u0441\u043e 100 \u0434\u043e 200\u0413\u0431\/c \u0438\u043b\u0438 \u00abfailure is always an option\u00bb<\/a>.<\/p>\n<p>\u0420\u0430\u0437 \u0442\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0441\u0435\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0430 \u043e\u0442 \u0441\u0435\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c fio \u0438 iperf3 \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c 10,7\u0413\u0411 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435.<\/p>\n<pre><code># fio --ioengine=libaio --direct=1 --runtime=1000s --time_based --name=testRoCe --filename \/dev\/nvme4n1 --bs=1024k --iodepth=192 --size=10T --readwrite=read testRoCe: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=192 fio-3.19 Starting 1 process Jobs: 1 (f=1): [R(1)][44.7%][r=10.7GiB\/s][r=10.0k IOPS][eta 09m:13s] <\/code><\/pre>\n<p>\u041f\u0440\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 75% 100\u0413\u0431 \u0441\u0435\u0442\u0438.<\/p>\n<pre><code>10:51:04 AM eno1np0.101      2.67  83389.33      0.14 2062421.90      0.00      0.00      0.00     67.58 10:51:04 AM eno2np1.101     18.33 102769.33      1.07 2546602.74      0.00      0.00      0.00     83.45 10:51:04 AM eno3np0.102  34579.67  93598.00   1756.00 2331386.93      0.00      0.00      0.00     76.39 10:51:04 AM eno4np1.102  35358.67  80535.67   1795.56 2034233.98      0.00      0.00      0.00     66.66  10:51:07 AM eno1np0.101      2.67  83484.33      0.14 2064896.44      0.00      0.00      0.00     67.66 10:51:07 AM eno2np1.101     17.33 102815.67      1.02 2548177.28      0.00      0.00      0.00     83.50 10:51:07 AM eno3np0.102  34608.00  93598.00   1757.44 2333621.43      0.00      0.00      0.00     76.47 10:51:07 AM eno4np1.102  35385.33  80581.00   1796.91 2035388.15      0.00      0.00      0.00     66.70  <\/code><\/pre>\n<p>\u0421\u0443\u043c\u043c\u0430\u0440\u043d\u043e \u043f\u0440\u0438 <code>NUMA=off<\/code> c 50% \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430 8 \u043f\u043e\u0440\u0442\u043e\u0432\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u043c\u043e\u0433\u043b\u0438 \u0441\u043a\u0430\u043a\u043d\u0443\u0442\u044c \u0434\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 80% \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041d\u043e, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u043d\u043e\u0439 \u043f\u0443\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u0418 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0421\u0423\u0411\u0414, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0438\u0437 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u043a\u0438, \u0435\u0449\u0451 \u0442\u043e \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>P.S.: <a href=\"https:\/\/youtu.be\/IdkCEioCp24?t=220\">RickRoll \u0442\u0443\u0442, \u0432\u044b\u0448\u0435 \u0438\u043c\u0435\u043d\u043d\u043e Daft Punk<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/890278\/\"> https:\/\/habr.com\/ru\/articles\/890278\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0422\u0430\u043a \u043f\u043e\u0432\u0435\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e \u0438\u0442\u043e\u0433\u0430\u043c \u0441\u0432\u043e\u0438\u0445 \u043e\u043f\u044b\u0442\u043e\u0432 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043f\u0438\u0441\u0430\u043b \u0441\u044e\u0434\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u043c\u0435\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/770174\/\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 NVME over TCP \u2014 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 1 \u0434\u0438\u0441\u043a\u0430 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0421\u0435\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/838192\/\">\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u0411\u0414 \u0441\u043e 100 \u0434\u043e 200\u0413\u0431\/c \u0438\u043b\u0438 \u00abfailure is always an option\u00bb<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/beeline_tech\/articles\/821855\/\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 iScsi \u0432 L3-\u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043a\u0430\u043d\u0430\u043b\u0430 \u0438 \u0421\u0425\u0414<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u0441\u0432\u0435\u0436\u0438\u0439 \u043e\u043f\u044b\u0442 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0435\u0449\u0451 \u043e\u0434\u043d\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0438 \u0432\u0441\u0435 \u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043e \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 wiki-\u0441\u0442\u0430\u0442\u044c\u0438, \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044e.<\/p>\n<h2>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h2>\n<p>\u0420\u0435\u0448\u0438\u043b\u0438 \u043a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434 \u043f\u043e\u0434 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043d\u0435\u043c \u0431\u044b\u043b\u043e 4&#215;3\u0422\u0431  NVME \u0434\u0438\u0441\u043a\u0430 \u0438 12&#215;12\u0422\u0431 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441 \u0431\u043b\u0438\u043d\u0430\u043c\u0438, \u0432\u0438\u0441\u044f\u0449\u0438\u043c\u0438 \u043d\u0430 RAID \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435.<\/p>\n<p>\u041f\u0440\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0432 RAID 10 \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u0434 \u0431\u0430\u0437\u0443 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e. \u041d\u043e, <em>\u043f\u043e \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438<\/em>, \u0432 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u043e\u0439\u043a\u0435, \u0447\u0442\u043e \u0438 \u0441\u0435\u0440\u0432\u0435\u0440, \u0431\u044b\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0421\u0425\u0414, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u043f\u043e NVME\/ RoCE (RDMA over Converged Ethernet).<\/p>\n<p>\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043c\u044b\u0441\u043b\u044c:<br \/> \u0410 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e 4 \u043f\u043e\u0440\u0442\u0430 \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 4 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0438 \u043f\u043e\u0438\u0433\u0440\u0430\u0435\u043c\u0441\u044f \u0441 <em>RoCE<\/em>! \u0417\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0446\u0438\u0444\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u0430\u0445 \u0434\u0438\u0441\u043a\u043e\u0432. \u0418 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439.<\/p>\n<p>\u0422\u0430\u043a \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434  \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443: 140\u0422\u0431.  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e 70 \u0434\u0438\u0441\u043a\u043e\u0432 2\u0422\u0431 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0430\u043d\u044b \u0441 \u0421\u0425\u0414 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e  NVME over RDMA<\/p>\n<p>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d 4 \u0441\u0435\u0442\u0435\u0432\u044b\u0445  \u043a\u0430\u0440\u0442\u044b \u043f\u043e 2 x 25\u0413\u0431 \u043f\u043e\u0440\u0442\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439. 4 \u043f\u043e\u0440\u0442\u0430 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u0438 \u0441\u043a\u043e\u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b.<\/p>\n<p>\u041d\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0431\u044b\u043b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442 FRR \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0421\u0423\u0411\u0414, \u0430 \u0432\u043e\u0442 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f  4 \u043d\u0435\u0441\u043a\u043e\u043c\u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0435\u0439 \u0438\u0437 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441 \u0421\u0425\u0414, \u0434\u043b\u044f NVME\/RoCE \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0432 NetBox.<\/p>\n<p>\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0441\u0432\u0438\u0442\u0447\u0435\u0439. \u0423 \u043d\u0438\u0445 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043d\u0443\u0436\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 RoCE \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0414\u0430 \u0438 \u043f\u0440\u043e\u0449\u0435 \u0442\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443  NVME \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb. \u0421 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0434\u043b\u044f NVME-cli \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 NVMEt.<\/p>\n<pre><code># lsmod | grep NVME NVME_rdma              57344  0 rdma_cm               151552  1 NVME_rdma ib_core               475136  6 rdma_cm,NVME_rdma,iw_cm,ib_uverbs,mlx5_ib,ib_cm NVME                   57344  8 NVMEt_tcp              40960  0 NVMEt                 155648  1 NVMEt_tcp NVME_fabrics           36864  1 NVME_rdma NVME_core             180224  164 NVMEt,NVME,NVME_rdma,NVME_fabrics t10_pi                 16384  3 NVMEt,sd_mod,NVME_core # lsmod | grep mlx mlx5_ib               450560  0 ib_uverbs             188416  1 mlx5_ib ib_core               475136  6 rdma_cm,NVME_rdma,iw_cm,ib_uverbs,mlx5_ib,ib_cm mlx5_core            1867776  1 mlx5_ib mlxfw                  49152  1 mlx5_core pci_hyperv_intf        16384  1 mlx5_core tls                   126976  1 mlx5_core psample                20480  1 mlx5_core  <\/code><\/pre>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440 \u0432\u0438\u0434\u0435\u043b \u0421\u0425\u0414 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <code>discovery<\/code>, \u043d\u043e \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u043e RoCE.<\/p>\n<pre><code># NVME discover -t rdma -a 255.255.255.83 -s 4420   Discovery Log Number of Records 1, Generation counter 2 =====Discovery Log Entry 0====== trtype: rdma adrfam: ipv4 subtype: NVME subsystem treq: not specified portid: 8 trsvcid: 4420 subnqn: QRG7T-8RHQY-B4CVX-R8MWM-W43BT traddr: 255.255.255.83 rdma_prtype: roce-v2 rdma_qptype: connected rdma_cms: rdma-cm rdma_pkey: 0x0000 <\/code><\/pre>\n<p>\u041f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0431\u044b\u043b\u0430 \u0432\u0438\u0434\u043d\u0430, \u043d\u043e \u043f\u0440\u0438\u0446\u0435\u043f\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c. \u041a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435 \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a \u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0431\u044b\u043b\u0430 \u0433\u043e\u0442\u043e\u0432\u0430. \u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0438, \u0437\u0430\u0448\u0435\u0434\u0448\u0430\u044f \u043d\u0435 \u0432 \u0442\u0443 \u0434\u0432\u0435\u0440\u044c<\/h2>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u0440\u0430\u0437 \u043d\u0443\u0436\u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u0445. \u041f\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0421\u0425\u0414 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 OFED. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435  Mellanox OFED \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441 \u0441\u0430\u0439\u0442\u0430 nvidia, \u0442\u043e \u043e\u043d\u0438 \u0442\u0443\u0442.<br \/> <a href=\"https:\/\/developer.nvidia.com\/networking\/mlnx-ofed-eula\">Mellanox OFED (MLNX_OFED) Software<\/a>.<\/p>\n<p>\u041d\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0448\u044c. \u042f\u0434\u0440\u043e \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0438 \u0432\u0441\u0435 \u0442\u0430\u043a\u043e\u0435. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 \u043b\u0443\u0447\u0448\u0435\u043c \u0432\u0438\u0434\u0435. \u041d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 gcc, \u0432\u043a\u043b\u044e\u0447\u0430\u044f  <a href=\"https:\/\/www.google.com\/search?q=%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%BE%D1%80+%D1%84%D0%BE%D1%80%D1%82%D1%80%D0%B0%D0%BD&amp;udm=2\">\u0444\u043e\u0440\u0442\u0440\u0430\u043d<\/a>,<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">Operating System<\/p>\n<\/th>\n<th>\n<p align=\"left\">Required Packages Installation Command<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">RHEL\/OL\/Fedora<\/p>\n<\/td>\n<td>\n<p align=\"left\">yum install perl pciutils python gcc-g<strong>fortran<\/strong> libxml2-python tcsh libnl.i686 libnl expat glib2 tcl libstdc++ bc tk gtk2 atk cairo numactl pkgconfig ethtool lsof<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\">\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e.<\/p>\n<p>\u0414\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435  \u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0444\u043b\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430<br \/> <code>.\/mlnxofedinstall --add-kernel-support --skip-repo<\/code><\/p>\n<p>\u0438\u0437 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430<\/p>\n<pre><code># ls -l total 356 -rwxr-xr-x 1 root root 3077 Dec 2 22:57 common_installers.pl -rwxr-xr-x 1 root root 26026 Dec 2 22:57 common.pl -rwxr-xr-x 1 root root 27150 Dec 2 22:57 create_mlnx_ofed_installers.pl -rw-r--r-- 1 root root 6 Dec 2 22:57 distro drwxr-xr-x 6 root root 153 Dec 2 22:58 docs -rwxr-xr-x 1 root root 5508 Dec 2 22:57 is_kmp_compat.sh -rw-r--r-- 1 root root 956 Dec 2 22:58 LICENSE -rwxr-xr-x 1 root root 21541 Dec 2 22:57 mlnx_add_kernel_support.sh -rwxr-xr-x 1 root root 228908 Dec 2 22:57 mlnxofedinstall -rw-r--r-- 1 root root 1771 Dec 2 22:57 RPM-GPG-KEY-Mellanox drwxr-xr-x 3 root root 8192 Dec 2 22:59 RPMS drwxr-xr-x 2 root root 45 Dec 2 22:57 src -rwxr-xr-x 1 root root 15883 Dec 2 22:57 uninstall.sh <\/code><\/pre>\n<p>\u041f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0440\u0430 \u0441\u043e\u0432\u0435\u0442\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b. \u041c\u044b \u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 <code>dracut -f<\/code> \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u043b \u0440\u0435\u0431\u0443\u0442. \u0420\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0435\u0442\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c discover.<\/p>\n<p>\u041d\u043e \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0438\u0439 \u0434\u043e \u0441\u043c\u0435\u043d\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 Discover \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0440\u0443\u0433\u0430\u044f\u0441\u044c \u043d\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u0430\u0442\u0430\u043b\u043e\u0433.<\/p>\n<pre><code>Failed to open \/dev\/NVME-fabrics: No such file or directory <\/code><\/pre>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0442\u044c.<\/p>\n<h3>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0435\u0442\u0438<\/h3>\n<p>\u041d\u0430 4 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d MTU 5500, \u043a\u0430\u043a \u043d\u0430 \u0421\u0425\u0414. \u0414\u0430\u043b\u0435\u0435, \u043d\u0430 \u043d\u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u043e \u043f\u043e VLAN \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0435\u0439 \u0432<br \/> NetBox. \u0421\u0425\u0414 \u0443\u043a\u0430\u0437\u0430\u043b\u043e VLAN \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 \u0438 IP \u041f\u043e\u0434\u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \/24<\/p>\n<pre><code># ip a | grep -A2 \": ens\" 4: ens2f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d0:98 brd ff:ff:ff:ff:ff:ff altname enp75s0f0np0 5: ens2f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d0:99 brd ff:ff:ff:ff:ff:ff altname enp75s0f1np1 6: ens4f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d1:80 brd ff:ff:ff:ff:ff:ff altname enp152s0f0np0 7: ens4f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc mq state UP group default qlen 1000 link\/ether d1:81 brd ff:ff:ff:ff:ff:ff altname enp152s0f1np1 -- 14: ens2f0np0.200@ens2f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d0:98 brd ff:ff:ff:ff:ff:ff inet 192.168.200.20\/24 brd 192.168.200.255 scope global noprefixroute ens2f0np0.200 -- 15: ens2f1np1.200@ens2f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d0:99 brd ff:ff:ff:ff:ff:ff inet 192.168.202.21\/24 brd 192.168.202.255 scope global noprefixroute ens2f1np1.200 -- 16: ens4f0np0.201@ens4f0np0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d1:80 brd ff:ff:ff:ff:ff:ff inet 192.168.201.22\/24 brd 192.168.201.255 scope global noprefixroute ens4f0np0.201 -- 17: ens4f1np1.201@ens4f1np1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 5500 qdisc noqueue state UP group default qlen 1000 link\/ether d1:81 brd ff:ff:ff:ff:ff:ff inet 192.168.203.23\/24 brd 192.168.203.255 scope global noprefixroute ens4f1np1.201 <\/code><\/pre>\n<p>\u041f\u0438\u043d\u0433\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438, \u0430\u0440\u043f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0430 \u0432\u0435\u0440\u043d\u044b\u0435 IP<\/p>\n<pre><code># arp -a | grep 168 ? (192.168.202.11) at 4:e6 [ether] on ens2f1np1.200 ? (192.168.201.12) at 9:d5 [ether] on ens4f0np0.201 ? (192.168.200.10) at 4:e5 [ether] on ens2f0np0.200 ? (192.168.203.13) at 9:d6 [ether] on ens4f1np1.201 <\/code><\/pre>\n<p>\u041d\u043e \u0432\u043e\u0442 <em>discovery<\/em> \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0447\u0435\u0440\u0435\u0437<\/p>\n<pre><code>lsmod | grep mlx lsmod | grep ib lsmod | grep NVME  <\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435, <s>\u041a\u043e\u043b\u0435\u0441\u043e \u043f\u0438\u043d\u0430\u043b\u0438<\/s> \u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!<\/p>\n<h2>\u0428\u0430\u0433 \u043d\u0430\u0437\u0430\u0434. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u044b\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430<\/h2>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043f\u0435\u0446 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043e\u0442\u043a\u0430\u0442\u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 <code>uninstall.sh<\/code><br \/> \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0432\u044b\u0434\u0430\u043b\u0438 <code>dracut -f<\/code> \u0438 \u043e\u043f\u044f\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0432\u0441\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u043e\u0441\u044c.<br \/> \u041d\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Discovery \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b!<\/p>\n<p>\u0421\u043d\u043e\u0432\u0430 \u0443\u0432\u0438\u0434\u0435\u043b\u0438 \u0438\u043c\u044f \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0430 \u043d\u0430 \u0421\u0425\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0430\u043d\u044b \u0434\u0438\u0441\u043a\u0438 \u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0442\u0434\u0430\u043b\u0438 ID \u0445\u043e\u0441\u0442\u0430 \u043d\u0430 \u0421\u0425\u0414, \u0447\u0442\u043e\u0431\u044b \u0442\u0430\u043c \u0435\u0433\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b\u0438 ID \u0438\u0449\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<pre><code># cat \/etc\/NVME\/hostnqn nqn.2014-08.org.NVMExpress:uuid:12345678-abcd-1234-abcd-abcd12345678 # <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0441 MTU. \u041e\u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u043b\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0441\u0442\u0430\u043b\u043e 1500. \u042d\u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0430 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e IP \u043d\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u043b\u0438.<\/p>\n<p>\u042d\u0442\u043e \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f MTU \u0442\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c:<\/p>\n<pre><code>ip a | grep \": ens\" | tr \"@:\" \" \" | awk '{print $2}' | while read net; do ip link set $net mtu 5500; done <\/code><\/pre>\n<h2>Phase 3. PROFIT !!!<\/h2>\n<p>\u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e <s>\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c<\/s> \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u043b\u0430\u043b\u0438 \u0442\u0435\u0441\u0442\u044b \u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0434\u0438\u0441\u043a\u043e\u043c, \u0434\u043b\u044f \u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>NVME connect -t rdma -a 192.168.200.10 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT NVME connect -t rdma -a 192.168.202.11 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT NVME connect -t rdma -a 192.168.201.12 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT NVME connect -t rdma -a 192.168.203.13 -n QRG7T-8RHQY-B4CVX-R8MWM-W43BT <\/code><\/pre>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434 \u0447\u0435\u0442\u044b\u0440\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0430 \u0441\u043a\u043e\u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u2014 \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u0430 \u0441\u0432\u043e\u0439 \u043f\u043e\u0440\u0442.<\/p>\n<p>\u0423\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code>NVME list-subsys NVME-subsys0 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-1 \\ +- NVME0 pcie 10000:01:00.0 live NVME-subsys1 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-2 \\ +- NVME1 pcie 10000:02:00.0 live NVME-subsys2 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-3 \\ +- NVME2 pcie 10000:03:00.0 live NVME-subsys3 - NQN=nqn.2018-11.com.dapustor:NVME:nvm-subsystem-sn-4 \\ +- NVME3 pcie 10000:04:00.0 live NVME-subsys4 - NQN=QRG7T-8RHQY-B4CVX-R8MWM-W43BT \\ +- NVME4 rdma traddr=192.168.200.10 trsvcid=4420 live +- NVME5 rdma traddr=192.168.203.13 trsvcid=4420 live +- NVME6 rdma traddr=192.168.202.11 trsvcid=4420 <\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-453985","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/453985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=453985"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/453985\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=453985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=453985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=453985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}