在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. 简化MVVM属性设置和修改 - .NET CORE(C#) WPF开发

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 简化MVVM属性设置和修改 - .NET CORE(C#) WPF开发 阅读导航 常用类属性设 ...

  2. Mysql:MySQL数据管理

    Mysql:MySQL数据管理 外键管理 外键概念 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的相关联系.以另一个关系的外键作主关 ...

  3. mysql必知必会-创建高级联结

    使用表别名 使用别名引用被检索的表列 别名除了用于列名和计算字段外,SQL还允许给表名起别名.这样做 有两个主要理由: 缩短SQL语句: 允许在单条 SELECT 语句中多次使用相同的表. 可以看到, ...

  4. Mysql 字符串转数字类型

    使用场景: 在数据库中进行数字比较,但是数字的存储格式是varchar的时候可以使用以下方法进行转换,然后进行比较 方法一:SELECT CAST('123' AS SIGNED); 方法二:SELE ...

  5. alpine安装telnet等工具

    alpine确实是很精简,但是对于熟悉了centos和ununtu的个人来说,实在是不习惯. 因此,记录关于alpine的一些包安装,以及操作细节(逐渐补充). 1. telnet >>& ...

  6. 基于arduino的气象站

    bmp180的简介: • 压力范围:~1100hPa(海拔 米~- 米) • 电源电压:.8V~.6V(VDDA), .62V~.6V(VDDD) • 尺寸:.6mmx3.8x0.93mm • 低功耗 ...

  7. redis集群redis-cluster搭建

    redis集群搭建--参考微信公众号(诗情画意程序员):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ 这是来自redis官网的一段介绍,大概意思就 ...

  8. python——面向对象(3),搬家具

    """date: 2020.2.9搬家具:将小于房子剩余面积的家具搬进房子1.定义家具类,房屋类""" class Furniture(): ...

  9. PHP0018:PHP 图像处理

  10. app简单压力测试

    step1:手机开发者选项中,将USB调试选上 step2:确认手机和电脑已经连接成功:adb devices step3:安装测试app:adb install package.apk (1)cd命 ...