![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
存储IO栈
文章平均质量分 91
存储软件站
Aspiresky
一步一步向前走!
展开
-
Linux SCSI子系统:基本介绍
在Linux内核中,SCSI子系统主要承担驱动SCSI主机适配器以及完成各种SCSI存储设备接入的功能,并向上对接块设备子系统,提供完备的IO路径以处理块设备下发的IO请求。原创 2023-02-14 22:54:39 · 1718 阅读 · 1 评论 -
浅析Linux SCSI子系统:设备管理
Linux SCSI子系统通过SCSI主机适配器(HBA)接入所有SCSI存储设备,在Linux系统中,可以安装多种主机适配器,SCSI中层会提供主机适配器的统一抽象,这些主机适配器的厂商提供具体的低层驱动实现;主机适配器接入到SCSI子系统后,SCSI会通过扫描或者低层驱动主动上报的方式,接入主机适配器下挂的所有SCSI存储设备。原创 2023-08-27 14:14:13 · 1113 阅读 · 0 评论 -
浅析Linux SCSI子系统:IO路径
SCSI子系统向上与块层对接,由块层提交的对块设备的IO请求,会由SCSI子系统转换成SCSI协议的标准命令,然后调用Scsi_Host结构的queuecommand回调下发到低层驱动执行;低层驱动会将SCSI命令和数据发送给真实的设备,并在请求完成后,调用scsi_cmd结构中的scsi_done回调,将请求响应信息返回给SCSI中层,SCSI中层完成请求响应的解析后,将结果返回给块层。原创 2023-08-27 18:49:12 · 524 阅读 · 0 评论 -
浅析Linux SCSI子系统:错误恢复
IO路径是一个漫长的过程,从SCSI命令请求下发到请求完成返回,中间的任何一个环节出现问题都会导致IO请求的失败。从SCSI子系统到低层驱动,再到实际的物理设备,每一层都应该在出现问题的时候,将错误的原因返回给上一层。SCSI子系统提供了错误恢复机制,对低层上报的错误IO执行可能的恢复策略,包括IO重试、复位设备,严重的还会对整个SCSI主机适配器进行复位等。原创 2023-09-02 22:14:23 · 824 阅读 · 0 评论 -
浅析Linux SCSI子系统:调试方法
scsi_logging_level被分成10个3位的字段,每个字段定义为一种日志类型,字段取值范围为0~7,表示了对应日志类型的打印等级。SCSI子系统注册的trace events有限,只能查看位于IO请求下发、返回的一些信息,对于日常问题定位可能帮助不大,但可以辅助用来分析SCSI的运行流程。这些trace events也可以在。SCSI子系统支持内核选项。原创 2023-08-20 08:41:05 · 659 阅读 · 0 评论