在linux系统中配置NVMe over FC与配置NVMe over TCP类似,前5步操作请参考《在linux系统中配置NVMe over TCP》,网页连接如下:

  https://www.cnblogs.com/JamesLi/p/11399054.html

注意事项:

以Emulex卡举例,在内核加载lpfc模块时,需要给模块参数赋值,包括:lpfc_enable_nvmet 和 lpfc_enable_fc4_type

例如:

modprobe lpfc lpfc_enable_nvmet=0x1234567890ABCDEF  lpfc_enable_fc4_type=3

解释描述:

lpfc lpfc_enable_nvmet赋值的是做target端的FC端口wwpn(从/sys/class/fc_host/hostx/port_name获得),设置多个时请用逗号分开(当前版本最大支持32个)。

lpfc_enable_fc4_type可以赋值1或2或3,这里3表示及支持SCSI又支持NVMe。

从第6步向后,请按下边步骤操作。

6. 创建NVMe over FC的Transport层

进入/sys/kernel/config/nvmet/ports目录进行操作。

mkdir 123

进入/sys/kernel/config/nvmet/ports/123/目录,此目录自动包含了如下内容

开始设置这些属性:

echo fc > addr_trtype
echo fc > addr_adrfam
addr_traddr            //注意:输入的traddr包含两部分,前边是nn后边是pn(即:node name和port name)。有两种格式即“nn-1234567890ABCDEF:pn-ABCDEF0123456789”或“nn-0x1234567890ABCDEF:pn-0xABCDEF0123456789”。两种格式差别就是是否带了0x标识。(注意nn和pn值的中间的“:”冒号可以用其他任意字符替代,而不要用空格(空格可能会导致只写入了一半),写入之后请用cat addr_traddr确认下是否已经成功写入)
addr_trsvcid      //注意:这个字段在FC类型中暂时未用到

8. 使用host主机进行Discovery

在host端执行命令:

nvme discover -t fc  -a nn-0x1234567890ABCDEF-pn-0xABCDEF0123456789  -w nn-0x2345678901ABCDEF-pn-0x1234567890FEDCBA

参数:

-a是指定的target端FC端口的node_name和port_name

-w是指定的host_traddr,与target相连接的本地FC端口的node_name和port_name

9. 连接

在host主机端执行命令

nvme connect -t fc  -a nn-0x1234567890ABCDEF-pn-0xABCDEF0123456789  -w nn-0x2345678901ABCDEF-pn-0x1234567890FEDCBA  -n nqn.2014-08.org.nvmexpress.mytest

参数:

-n指定target端将要连接的NVM subsystem的NQN。

连接成功后,请用nvme list命令确认下是否已经看到连接的nvme盘。

其他操作,与NVMe over TCP的操作相同。

例如:

nvme id-ctrl /dev/nvme0n1

nvme id-ns /dev/nvme0n1

10. 其他

target端设备重启一次,或许主机再次连接时遇到问题,提示找不到/dev/nvme-fabrics设备。

解决:

  a)使用 ls -l /dev/nvme-fabrics查看,确认是存在此设备的(如果不存在则用lsmod |grep nvme_fabrics确认是不是内核模块异常了);

  b)用dmesg查看内核日志,如果出现“nvme_fc_create_ctrl   combination not found”,可能是nvme_fc_create_ctrl函数return ERR_PTR(-ENOENT);这个错误码导致的误报成了找不到文件或目录。

  c)如果是上一步的原因,则可以echo 1 >/sys/class/fc_host/hostx/issue_lip 或者重启一次主机来解决此问题。

在linux系统中配置NVMe over FC的更多相关文章

  1. 在linux系统中配置NVMe over TCP

    1. 准备环境 1.1 准备linux系统 要求的linux系统可以是运行在物理机上,也可以是虚拟机上: 建议有个linux系统,一个做host,一个做target,如果资源紧张也可以把host和ta ...

  2. Linux系统中配置jdk

    在Linux系统下安装jdk 1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8 ...

  3. 『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本

    目录 1.Linux系统中安装Java环境 (1)解压Java安装包 (2)配置Java环境变量 (3)验证Java环境是否配置成功 2.Linux系统中安装JMeter (1)下载JMeter (2 ...

  4. 在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件。

    原因:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件. 解决办法: .随便写一条iptables命令配 ...

  5. Linux系统中ElasticSearch搜索引擎安装配置Head插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  6. linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程

    linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程 1.安装好的nginx上添加模块nginx-http-fiv-module-master 此模块是rtmp模块的升级版,有它所有的 ...

  7. linux系统中给mysql配置环境变量

    安装过程就不写了,记得安装的路径就行,接下来要用到. 修改配置文件 vim /etc/profile 设置环境变量 写一个MYSQL_HOME,值为“mysql的安装路径” 在PATH后面加上$MYS ...

  8. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  9. Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名

    Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf  动态库的后缀为*.so  静态库的后缀为 libxxx.a   ldconfig   目录名 转载自:http://b ...

随机推荐

  1. 前端的Cookies

    Cookies cookies 特性 前端数据存储 后端通过 HTTP 头设置 请求时通过 HTTP 头传给后端 前端可读可写 遵守同源策略 域名 有效期 路径 http-only secure(ht ...

  2. SpringCloud入门学习

    我相信,如果小伙伴们能来到这里,肯定对微服务有一定的认识. 我们之前创建web项目的时候,常见的有两种方式: 1).创建一个war包,然后放在servlet容器中运行(比如Tomcat等); 2).使 ...

  3. XSStrike工具的安装使用

    0x01简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payload 使用payload对参数进行穷举匹配 内置 ...

  4. C#实现图片文件到数据流,再到图片文件的转换

    //----引入必要的命名空间 using System.IO; using System.Drawing.Imaging; //----代码部分----// private byte[] photo ...

  5. ThinkPHP v6.0.x 反序列化漏洞利用

    前言: 上次做了成信大的安询杯第二届CTF比赛,遇到一个tp6的题,给了源码,目的是让通过pop链审计出反序列化漏洞. 这里总结一下tp6的反序列化漏洞的利用. 0x01环境搭建 现在tp新版本的官网 ...

  6. MobaXterm监控服务器的资源(CPU/RAM/Network/disk/...) 使用情况

    我使用服务器的时候比较喜欢随时查看的服务器资源使用情况,比如内存,CPU,网速,磁盘使用等情况,一次偶然的机会发现了MobaXterm提供有这项功能,在会话窗口底部: (完整窗口) 如果你发现你的会话 ...

  7. 解决Mac无法写入U盘问题

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/upan-to- ...

  8. 每个Web开发者都应该知道的SOLID原则

    面向对象的编程并不能防止难以理解或不可维护的程序.因此,Robert C. Martin 制定了五项指导原则,使开发人员很容易创建出可读性强且可维护的程序.这五项原则被称为 S.O.L.I.D 原则. ...

  9. 剑指offer-面试题12-矩阵中的路径-回溯法

    /* 题目: 设计一个函数,判断一个矩阵中是否存在一条包含该字符串所有字符的路径. 路径可从字符串的任意一格开始,每一步可向上.下.左.右移动一格. 如果一条路径经过了矩阵中的某一格,那么该路径不能再 ...

  10. css揭秘 一

    当某些值相互依赖是,应该把它们的相互关系用代码表达出来 font-size: 20px; line-height: 1.5; // 行高是字体的1.5倍 当改变某个参数时候,做到只改尽量少的地方,最好 ...