实战Fibre Channel之六: 发起端和目的端常用命令

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介:

实战Fibre Channel之六发起端和目的端常用命令

Fibre Channel作为一种专用高速网络iSCSI相比提供了更高的数据传输带宽速度和可靠性熟练掌握一些常用Fibre channel的一些命令可以方便我们进行原型验证调试和开发下面总结了笔者常用到的一些命令就当抛砖迎玉吧

 

A. FC 发起端

1. 看主机FC HBA wwpn:

cat /sys/class/fc_host/host*/port_name | sed -e s/0x// -e 's/../&:/g' -e s/:$//

 

2. 看对端机器FC相关设置

wwpn:

[root@localhost rport-12:0-0]# cat /sys/class/fc_remote_ports/rport-12\:0-0/port_name

0x21000024ff684921

[root@localhost rport-12:0-0]# cat /sys/class/fc_remote_ports/rport-12\:0-0/scsi_target_id

-1

看角色

[root@localhost rport-12:0-0]# cat /sys/class/fc_remote_ports/rport-12\:0-0/roles

FCP Initiator

24位的port ID:

[root@localhost rport-12:0-0]# cat /sys/class/fc_remote_ports/rport-12\:0-0/port_id

0x0000e8

看发起端的IO超时设置

[root@localhost rport-12:0-0]# cat /sys/class/fc_remote_ports/rport-12\:0-0/dev_loss_tmo

30

[root@localhost rport-12:0-0]# cat /sys/class/fc_remote_ports/rport-12\:0-0/fast_io_fail_tmo

off

 

3. rescan devices after FC fail-over:

[root@localhost var]# cd /sys/class/scsi_host/

[root@localhost scsi_host]# for i in `ls `; do echo "- - -" > $i/scan ; done

[root@localhost scsi_host]# lsscsi -si

[0:0:0:10]   disk    Leadstor swtich_vol       1.0   /dev/sdc   360014055e652dee8e232d50cbd3665c2  1.07GB

[0:0:0:20]   disk    Leadstor fc_failover      1.0   /dev/sdd   36001405d3b6e11ace2a8f7f6b00ba7cc  2.19TB

[1:0:0:0]    disk    ATA      SanDisk SD7SB6S1 X355  /dev/sda   SanDisk_SD7SB6S128G1001_162609801097   128GB

[2:0:0:0]    disk    ATA      ST2000DM001-1ER1 CC62  /dev/sdb   -  2.00TB

[7:0:0:3]    disk    Leadstor fc_vol           1.0   /dev/sde   36001405c410df1475de9e08ab3f8b9ef  1.07GB

[7:0:0:4]    disk    Leadstor fc_all_vol       1.0   /dev/sdf   36001405f4807a693420c2c7b98ad996b  1.07GB

[7:0:0:15]   disk    Leadstor fc_0801vol2      1.0   /dev/sdg   3600140546e63e0728bb357aad6a3d91a  2.14GB

[7:0:0:20]   disk    Leadstor fc_failover      1.0   /dev/sdh   36001405d3b6e11ace2a8f7f6b00ba7cc  2.19TB

 

4.  如何发起枚举FC target上的盘

initiator 上运行下面的命令

## step 1: extend the time-out setting for initiator

for i in `ls /sys/class/fc_host`

do

        echo "Extend time out for $i"

        echo 90 > /sys/class/fc_host/$i/dev_loss_tmo

done

 

## step 2: Trigger to discorvery and login to target

for i in `ls /sys/class/fc_host`

do

        echo "Trigger $i to discovery target"

        echo 1 > /sys/class/fc_host/$i/issue_lip

done

B. FC Target

 

1. target 相关设置

[root@localhost qla2xxx]# pwd

/sys/kernel/config/target/qla2xxx

[root@localhost qla2xxx]# cat 21\:00\:00\:0e\:1e\:c2\:3e\:a0/

fabric_statistics/ tpgt_1/

[root@localhost qla2xxx]# cat 21\:00\:00\:0e\:1e\:c2\:3e\:a0/fabric_statistics/

cat: 21:00:00:0e:1e:c2:3e:a0/fabric_statistics/: Is a directory

[root@localhost qla2xxx]# cat 21\:00\:00\:0e\:1e\:c2\:3e\:a0/tpgt_1/

acls/   attrib/ auth/   enable  lun/    np/     param/

[root@localhost qla2xxx]# cat 21\:00\:00\:0e\:1e\:c2\:3e\:a0/tpgt_1/enable

1

 

2. 解决target端默认不是target 模式的问题

基于qlogic HBA ,CentOS中当期默认按照initiator模式加载驱动但在存储服务器端它必须每次都以target模式加载。 为此需要做下面的修改

edit : /etc/grub2.cfg

 linux16 /vmlinuz-3.10.0-229.el7.x86_64+ root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet LANG=en_US.UTF-8 systemd.debug  qla2xxx.qlini_mode="disabled"

 

然后运行grub2-mkconfig,最后重启机器后默认就按照target模式加载qla2xxx驱动

 












本文转自存储之厨51CTO博客,原文链接: http://blog.51cto.com/xiamachao/1961076  ,如需转载请自行联系原作者


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
6月前
|
网络协议 测试技术 数据安全/隐私保护
ensp中高级acl (控制列表) 原理和配置命令 (详解)
ensp中高级acl (控制列表) 原理和配置命令 (详解)
328 0
|
6月前
|
安全 Java Go
springboot+netty化身Udp服务端,go化身客户端模拟设备实现指令联动
springboot+netty化身Udp服务端,go化身客户端模拟设备实现指令联动
162 0
|
存储 Kubernetes 负载均衡
【k8s 系列】k8s 学习二十六,有状态的应用如何部署 1?
前面我们分享很多关于 K8S 的内容,有没有发现 pod 都是无状态,RS / RC 管理的 pod 也是无状态的,我们可以任意删除一个 pod,副本管理器又会马上给我们创建一个 pod 那么如果咱们的这个 pod 是有挂载持久卷的,那么我们用老方法可还行?
191 0
|
存储 缓存 Java
golang channel的创建、接受和发送原理讲透
golang channel的创建、接受和发送原理讲透
|
消息中间件 存储 缓存
RabbitMQ:第一章:6 种工作模式以及消息确认机制(理论与代码相结合)
RabbitMQ:第一章:6 种工作模式以及消息确认机制(理论与代码相结合)
|
安全 Java 数据安全/隐私保护
案例之客户端模式测试|学习笔记
快速学习案例之客户端模式测试
案例之客户端模式测试|学习笔记
|
存储 前端开发 Oracle
服务器与客户端概念| 学习笔记
快速学习服务器与客户端概念。
服务器与客户端概念| 学习笔记
|
消息中间件 存储 Java
RabbitMQ——发布确认高级 & 备份交换机的概念理解及应用举例
RabbitMQ——发布确认高级 & 备份交换机的概念理解及应用举例
RabbitMQ——发布确认高级 & 备份交换机的概念理解及应用举例
|
消息中间件 Ubuntu Java
Docker下RabbitMQ延时队列实战两部曲之二:细说开发
在SpringBoot框架下进行RabbitMQ开发,并且在Docker环境部署和运行
134 0
Docker下RabbitMQ延时队列实战两部曲之二:细说开发
|
网络协议 网络架构
网络通讯原理简介以及演示通讯过程
网络通讯原理简介以及演示通讯过程
180 0
网络通讯原理简介以及演示通讯过程
下一篇
无影云桌面