红帽下查看HBA卡的信息

HBA卡主要用于安装在服务器上,连接到光纤交换机,或者也可以直联到存储,在存储和服务器之间形成FC SAN。现在HBA卡的速率一般为8GB、16GB,32G。一张卡上一般有一个或者两个网口,HBA卡的厂商一般有Qlogic和Emulex。在具体使用时,服务器一般是安装两块HBA卡,从两块卡上在连接到光纤交换机,确保安全性。

一、安装好系统之后,识别HBA。

命令:lspci |grep Fibre

上面的命令执行后,结果显示主机已经找到2个FC主机端口,HBA型号为Emulex。

型号为Emulex Lpe12002。

二、查看HBA卡的信息。

Emulex

查看HBA卡的型号

cat /sys/class/scsi_host/host*/modelname

查看HBA卡的驱动版本

cat /sys/class/scsi_host/host*/lpfc_drvr_version

查看HBA卡的固件版本

cat /sys/class/scsi_host/host*/fwrev

查看HBA卡的wwn

cat /sys/class/fc_host/host*/port_name

查看HBA卡的端口速率

cat /sys/class/fc_host/host*/speed

Qlogic

查看HBA卡的型号

cat /sys/class/scsi_host/host*/model_name

查看HBA卡的驱动版本

cat /sys/class/scsi_host/host*/driver_version

查看HBA卡的固件版本

cat /sys/class/scsi_host/host*/optrom_fw_version

查看HBA卡的wwn

cat /sys/class/fc_host/host*/port_name

查看HBA卡的端口速率

cat /sys/class/fc_host/host*/speed

本文转载于网络 如有侵权请联系删除

相关文章

  • 明月机器学习系列(六):构建机器学习or深度学习环境

    AnacondaNotebook本身已经是一个很好的工具,非常适用于学习,不过在企业中应用时,该工具总感觉差了一点,经常需要安装各种包,而有些包未必能通过conda进行安装。因此,我们通过Docker镜像来构建满足自己的机器学习或者深度学习环境,尽量减少大家在环境安装上浪费的时间。事实上,很多机器学习工程师并不擅长环境的构建,经常出现的情况是算法在自己电脑上能跑,换个环境就跑不了了。基于Docker镜像,提供统一的学习和训练环境,除了方便机器学习工程师之外,还有就是为了机器学习工程师和IT工程师能更好的进行协作。 1.我们的目标我们希望构建的Notebook支持如下特性: 支持AnacondaNotebook的基础包,从Anaconda迁移过来应该能无缝迁移。支持GPU运行。支持Tensorflow,TensorBoard和Keras。支持Pytorch,这是非常常见的深度学习库。支持图像处理,如Opencv支持常见的NLP工具,如jieba,gensim,fasttext等支持常用的机器学习库,如XGBoost,LightGBM,Catboost等。支持时间序列建模。简单说,就是希望

  • 5 分钟学会 Nginx 负载均衡实用知识点

    前言点击上方程序员成长指北,关注公众号 回复1,加入高级Node交流群这篇文章需要一点点的nginx基础知识~不会也没关系,先给各位贴一个最简单的nginx.conf配置,看完就会 http{ includemime.types; default_typeapplication/octet-stream; sendfileon; keepalive_timeout65; server{ listen8081; server_namelocalhost; location/{ proxy_passhttp://0.0.0.0:9000; } error_page500502503504/50x.html; location=/50x.html{ roothtml; } } } 复制并且起一个最简单的node服务:consthttp=require('http'); constserver=http.createServer(); consthost='0.0.0.0' constport=9000 letn=0 server.on('

  • python中elif条件语句应用,让程序更有效率

    知识回顾:1、python中的语句模块。2、if语句模块可以多个同时使用。3、else语句模块,由if语句模块的条件来决定是否进入,只有条件的结果为False的时候,才执行。本节知识视频教程以下开始文字讲解: 一、if语句嵌套 If语句可以嵌套时候if条件判断:print(“刘金玉编程”)if条件判断:print(“编程创造城市”)if条件判断:print(“博客http://ljy.kim”)二、else语句 If….[else….]语句这个连用的语句,直接结果,要么执行if的模块内容,要么执行else的模块内容。最后的结果只能是其中之一。单纯的多条if语句同一级别,如果有几条if语句模块,那么就要判断几次三、elif语句 elif语句模块,可以出现多次。使用前提条件,必须要与if连用。格式:If条件判断:执行代码1elif条件判断:执行代码2elif条件判断:执行代码3….【这里代码可以多次出现elif语句】注意结论:if+elif语句的连用,执行判断结果至少1次三、if与elif区别If语句与elif语句的区别1、If语句的情况:有N条if判断语句,结论:执行n次判断2、elif

  • 知乎 Android 客户端 CI/CD 方面的实践

    前言伴随着知乎业务的飞速发展,近一年多时间,知乎的Android团队由十多人的小团队发展至五十多人的大团队,并且还在不断的壮大中。虽然我们常常说人多力量大,但是有时候人多也未必是件好事,譬如经典计算机软件著作「人月神话」中就提到在某些情况下1+1也是有可能小于2的。(杜撰的,如有雷同…)为了让1+1大于2,移动平台团队做了一些工作,不断提升工程师的研发效率,降低各个团队相互干扰,减少重复无用功,支撑业务稳定前行。下面就就其中CI/CD方向跟大家说一下。组件化方面做的努力Android组件化方案已经运转了近一年半的时间,令人欣喜的是其已经达到了我们当初的预期。即:不同Android团队之间,可以通过组件仓库制造代码壁垒,分而治之; 同时其来带的效果也是显著的,即:无论是研发效率还是编译速度都有了不少提升。 但是祸福相依,有得必有失。组件化也不例外,譬如:先前代码全在一个仓库,组件化之后,代码跨了多个仓库,代码提交的CodeReview很不方便;一般修改某个组件的流程是去组件仓库提交代码,合入代码后,发布新的组件包,最后在主工程中使用这个新版组件包,打出测试包。也就是代码测试发生在组件代码

  • 软件开发不能用盖房子来比喻

    多年以来,软件行业一直在使用一种类比,即以建筑行业来做参考和比喻。这种比较在软件语言里随处可见,比如架构(architecture)、地基(foundation)、建造者(constructor)、项目(project)、施工规范(buildingcode)等。这些说法是如此之流行,以至于影响到了我们对软件开发的理解。不幸的是,这种比喻从根本上来说是不恰当的,它的缺陷已经把我们引向了一些错误的道路。 在建筑行业,很多重点都放在可预测性上——预先把需求确定清楚,并且缩减成本。这些都是成熟行业的标志。而当我们把这些重点应用到软件上时,问题就来了! 经验法则、施工规范和原材料 现代建筑可以追根溯源到几百甚至几千年以前——就看你把起点放在哪儿。经过所有历史的沉淀,大量的专业知识凝结在了经验法则里,比如: 在大部分地方,每平方英尺的建筑成本是一个众人皆知的常数。举个例子,我们最近在家里做了一些翻修,行业里的朋友就提醒我们说:在渥太华,典型的翻修成本在每平方英尺$35到$50之间。他们说得非常准!对水泥楼板深度的一个比较好的评估是,相当于它的无支周长的1/180。另一方面,软件最多也就70年的历史

  • 【day2】【洛谷算法题】-B5704字母转换-刷题反思集[入门1顺序结构]

    ?大家好,我是花无缺,一枚热爱生活的新时代青年,感谢你的阅读?~ ?‍?个人主页:@huawuque404欢迎点赞?收藏⭐留言?加关注✅! 本文由huawuque404原创?P5704【深基2.例6】字母转换?题目描述输入一个小写字母,输出其对应的大写字母。例如输入q回车时,会输出Q。?输入格式无要求?输出格式无要求?样例?样例输入q复制?样例输出Q复制?我的题解//C语言 #include<stdio.h> intmain() { //A65,a97 charletter; scanf("%c",&letter); printf("%c\n",(letter-32)); return0; }复制?结果Accepted?优解1//C++版 #include<bits/stdc++.h> usingnamespacestd; intmain(){ charch; scanf("%c",&ch); //输入单个字符 printf("%c",char(int(c

  • 【混沌工程】2022 混沌工程状态

    在过去的十二年里,我有机会参与并见证了混沌工程的发展。出身卑微,最常遇到的问题是“你为什么要这样做?”到今天的位置,帮助确保世界顶级公司的可靠性,这是一段相当长的旅程。我第一次开始实践这门学科,早在它有名字之前几年,在亚马逊,我们的工作就是防止零售网站宕机。当我们取得成功时,Netflix写了他们关于ChaosMonkey的规范博客文章(十年前的今年7月)。这个想法成为主流,许多工程师都被迷住了。在亚马逊完成任务后,我急忙加入Netflix,深入研究这个领域。我们能够进一步推动艺术发展,构建跨越整个Netflix生态系统的以开发人员为中心的解决方案,最终带来另外9个可用性和世界知名的客户体验。五年前,我的联合创始人MatthewFornaciari和我创立了Gremlin,其使命很简单:建立更可靠的互联网。我们都欣喜若狂地看到这次实践已经走了多远。社区中的许多人都渴望获得更多关于如何最好地利用这种方法的数据,因此我们很自豪地展示了第一份混沌工程状态报告。全球的工程团队使用ChaosEngineering故意将危害注入他们的系统、监控影响并修复故障,以免对客户体验产生负面影响。这样做,他

  • Linux cp命令:复制文件或目录

    Linuxcp(英文全拼:copyfile)命令主要用于复制文件或目录。语法cp[options]sourcedest复制或cp[options]source...directory复制参数说明:-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。-l:不复制文件,只是生成链接文件。实例使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:cp–rtest/newtest复制注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R Linux将一个文件夹的所有内容拷贝到另外一个文件夹cp命令使用 -r 参数可以将A下的所有文件

  • 腾讯云智能创作浏览媒体api接口

    1.接口描述接口请求域名:cme.tencentcloudapi.com。 浏览当前分类路径下的资源,包括媒体文件和子分类,返回媒资基础信息和分类信息。 默认接口请求频率限制:20次/秒。 APIExplorer提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成SDK调用示例。 2.输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 参数名称 必选 类型 描述 Action 是 String 公共参数,本接口取值:ListMedia。 Version 是 String 公共参数,本接口取值:2019-10-29。 Region 否 String 公共参数,本接口不需要传递此参数。 Platform 是 String 平台Id,指定访问的平台。关于平台概念,请参见文档平台。 ClassPath 是 String 媒体分类路径,例如填写"/a/b",则代表浏览该分类路径下的媒体和子分类信息。 Owner 是 Entit

  • 面试连环炮系列(二十️五):RocketMQ怎么保证消息不丢失

    RocketMQ怎么保证消息不丢失? A.从Producer的视角来看:如果消息未能正确的存储在MQ中,或者消费者未能正确的消费到这条消息,都是消息丢失。 B.从Broker的视角来看:如果消息已经存在Broker里面了,如何保证不会丢失呢(宕机、磁盘崩溃)。 C.从Consumer的视角来看:如果消息已经完成持久化了,但是Consumer取了,但是未消费成功且没有反馈,就是消息丢失。 D.从Producer分析:如何确保消息正确的发送到了Broker? 默认情况下,可以通过同步的方式阻塞式的发送,checkSendStatus,状态是OK,表示消息一定成功的投递到了Broker,状态超时或者失败,则会触发默认的2次重试。此方法的发送结果,可能Broker存储成功了,也可能没成功。 采取事务消息的投递方式,并不能保证消息100%投递成功到了Broker,但是如果消息发送Ack失败的话,此消息会存储在CommitLog当中,但是对ConsumerQueue是不可见的。可以在日志中查看到这条异常的消息,严格意义上来讲,也并没有完全丢失。 RocketMQ支持日志的索

  • UIAppearance

    有时侯你并不想把导航条左侧按钮外观字体或背景全部用以下代码来更改 [plain]  UIBarButtonItem*rightItem=[YBarButtonItembarButtonWithStyle:YBarButtonStyleRoundedRectangle                               Title:@"Save"                             

  • QT 编译后的程序获得管理员权限

    参考资料:https://blog.csdn.net/weixin_39568531/article/details/104825816   一、项目中配置 1. mingw编译器 在pro工程文件中加入 #win32代表是Windows环境下的编译 win32{复制 RC_FILE=servercenter.rc复制 }右键项目,新建qt-qrc文件,rc文件中写入(就一行):复制 124uac.manifest右键项目,新建General-txt文件,写入:复制 <?xmlversion='1.0'encoding='UTF-8'standalone='yes'?> <assemblyxmlns='urn:schemas-microsoft-com:asm.v1'manifestVersion='1.0'> <trustInfoxmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requested

  • js从后台无法取值问题

    前台代码<scripttype="text/javascript"> $(function(){ varchart; $(document).ready(function(){ chart=newHighcharts.Chart({ chart:{ renderTo:'container', type:'line', marginRight:130, marginBottom:25 }, title:{ text:'新增用户趋势图', x:-20//center }, subtitle:{ text:'Source:tourol.cn', x:-20 }, xAxis:{ categories:<%=json_dates%> }, yAxis:{ title:{ text:'人数' }, plotLines:[{ value:0, width:1, color:'#808080' }] }, tooltip:{ formatter:function(){ return'<b>'+this.x+'</b><br/>'+ '新增加

  • 京东app产品体验报告

    京东商城APP产品体验报告 目录: 1.0体验环境 2.0产品介绍 3.0用户分析 3.1用户特征 3.2用户数量 4.0产品设计 4.1功能结构 4.2界面设计 5.0总结 1.0体验环境 。操作手机:小米手机MI2A 。操作系统:Android版本 。APP名称:京东 。APP版本:4.4.1 2.0产品介绍 京东APP以电子商品为主,自建物流,现在上线了不仅仅有京东白条,还有全球购,智能商品 3.0用户分析 3.1用户特征 (以下年龄、性别、地域数据分别来自全国范围,2015/11/01-2015/11/08) 用户年龄段:(用户年龄段的最多的是30-39岁,占56%;其次年龄段20-29岁,占34%;40-49岁占5%;50岁及以上占4%;19岁及以下占1%)   用户性别:(京东主要的收入来自于男性,占据了大部分;男性占91%;女性占9%)   地域分布:(京东商城APP主要区域排名前三:北京、上海、广东)   3.2用户数量 4.0产品设计 4.1:京东超市  精选推荐、包邮秒物、休闲零食、娘油牛奶、母婴、美妆护肤、洗护用品、清洁用品

  • python入门学习的第四天

    step1异常处理 异常就是代码在执行过程中发生的一个特殊的事件  如果不对异常进行处理,那么当出现异常时,程序就会崩溃无法正确运行 处理异常需要用到try/except语句,我们通过一个除法程序举例来看看该如何使用   我们可以用BaseException,它是所有异常的基类 我们在编程中要仔细考虑,看是否有的情况会导致程序无法正常运行,写出更具鲁棒性的程序 step2模块 模块(Module)当然也是一个Python文件  当我们做一个程序时,可以把与某功能的相关代码写在一个模块里,这样能让我们整体的代码更清晰、更好用首先新建一个test.py文件,和hello.py一个目录,然后通过“模块名.函数名”的形式来调用,就像这样 除此外,我们还可以通过from...import...的形式导入模块 比如爬虫课程中的fromseleniumimportwebdriver就表示我们导入了selenium模块中的webdriver函数 step3文件  首先我们创建一个文件,我在桌面上创建了一个名为cxy_python的文件夹 然后新建一个pyt

  • 如何才能达到bug free?

    两个方面考虑:需求理解、代码实现。 代码实现上原则:不确定的逻辑肯定是bug的滋生点,要消除一切不确定 todo... .tb_button{padding:1px;cursor:pointer;border-right:1pxsolidrgba(139,139,139,1);border-left:1pxsolidrgba(255,255,255,1);border-bottom:1pxsolidrgba(255,255,255,1)} .tb_button.hover{borer:2pxoutset#def;background-color:rgba(248,248,248,1)!important} .ws_toolbar{z-index:100000} .ws_toolbar.ws_tb_btn{cursor:pointer;border:1pxsolidrgba(85,85,85,1);padding:3px} .tb_highlight{background-color:rgba(255,255,0,1)} .tb_hide{visibility:hidden} .ws_t

  • SPI总线协议介绍

      一、概述   SPI=SerialPeripheralInterface,是串行外围接口设备,是一种高速,全双工,同步的通信总线。常规只占用四根线,节约了芯片管脚,PCB的布局省空间。 优点:     支持全双工,push-pull的驱动性能相比open-drain信号完整性更好。     支持高速(100MHz以上)。     协议支持字节长不限于8bits,可根据应用特点灵活选择消息字长     硬件连接简单。 缺点:     相比I2C多两根线。     没有寻址机制,只能靠片选选择不同设备。     没有从设备接收ACK,主设备对于发送成功与否不得而知。     典型应用只支持单主控     相比RS232 RS485和CAN总线,SPI传输距离短     二、硬件结构   SPI总线定义两个及以上设备间的数据通信,提供时钟的设备为主设备Master,接收时钟的设备为从设备Slave;   信号定义如下:     SCK:SerialClock串行时钟     MOSI:MasterOuput,SlaveInput主发从收信号     MISO:

  • 前端规范2-CSS规范

    CSS规范 缩进 使用Tab缩进(相当于四个空格) 选择器与{之间必须包含空格,参1 属性名和之后的:不允许包含空格,:与属性值之间必须包含空格。    例 列表性属性值在单行时,后必须跟一个空格。    例:        对于超长的样式,在样式值得空格处或,后换行,建议按逻辑分组。    例: 选择器 当用集合方式选择且有多个选择器时,建议声明单独写在一行(利于维护)    例 >、+、-选择器的两边各留一个空格   例 属性选择器中的值必须用双引号包围    例       属性定义是同一类的写在同一行(参-1)    例 属性定义后必须以分号结尾(特别是最后一个) 如无必要,不得为id、class选择器添加类型选择器进行限定。   说明:在性能和维护上,都有一定的影响

  • requests模块

    必知知识点 -常见请求头 User-Agent 浏览器的身份标识字符串 Content-Type 请求体的MIME类型(用于POST和PUT请求中) -常见响应头 Status 通用网关接口的响应头字段,用来说明当前HTTP连接的响应状态。 -https协议的加密方式 对称秘钥(容易被拦截) 非对称秘钥(模拟服务器响应) 证书认证(第三方机构认证的,通信双方都认可) requests模块:requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简介,在爬虫领域占据很重要的地位。 使用requests: 自动处理url编码 自动处理post请求参数 简化cookie和代理操作 使用流程:   指定url   基于requests模块发起请求   获取响应对象中的数据值   持久化存储 实际案例: #需求,爬取搜狗指定词条搜索后的页面 importrequests url="http://

  • 老男孩爬虫实战密训课第一季,2018.6,初识爬虫训练-实战1-爬取汽车之家新闻数据

    1.爬虫介绍   编写程序,根据URL获取网站信息 2.用到的库   requests库   bs4库 3.内容及步骤   4.代码 importrequests importos frombs4importBeautifulSoup #1.下载页面 ret=requests.get(url='https://www.autohome.com.cn/news/') ret.encoding=ret.apparent_encoding #print(ret.text)爬取的内容 #2.解析:获取想要的指定内容beautifulsoup soup=BeautifulSoup(ret.text,'html.parser')#lxml div=soup.find(name='div',id='auto-channel-lazyload-article') li_list=div.find_all(name='li') #更改下载地址 os.mkdir("图片") os.chdir("图片") forliinli_list: #获取新闻标题 h3=li.find(name='h

  • 芯片测试

    1.芯片测试 题目描述 ​有n(2≤n≤20)块芯片,有好有坏,已知①好芯片比坏芯片多。每个芯片都能用来测试其他芯片。②用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。给出所有芯片的测试结果,问哪些芯片是好芯片。输入输入数据第一行为一个整数n,表示芯片个数。第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i,j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。输出按从小到大的顺序输出所有好芯片的编号 样例输入 3 101 010 101 样例输出13 分析 题目意思:好的测好的:1;好的测坏的:0;坏的测好的:1或0;坏的测坏的:1或0。总体上好的大于坏的。举个例子,假如我们有100个待测芯片,其中51个好的,49个坏的,我现在拿到一个好的,剩下的50个好的会测出来50个1,49个坏的会随机给出0或者1,最坏的情况给了49个

相关推荐

推荐阅读