美文网首页
iSCSI initiator软件架构

iSCSI initiator软件架构

作者: goldhorn | 来源:发表于2017-11-08 13:00 被阅读0次

SCSI分层

Linux内核中SCSI代码结构分为三层,它们和块设备驱动的关系如下图所示:


SCSI分层

iscsi initiator要实现SCSI底层,即负责将scsi命令封装成网络报文发送给target。

Open-iSCSI

Open-iSCSI 是Linux内核支持的标准iSCSI Initiator,它包括:

  • 用户态下的iscsid, iscsiadm等工具
  • 内核模块iscsi_tcp.ko, libiscsi_tcp.ko, libiscsi.ko, scsi_transport_iscsi.ko
  • /etc/iscsi/initiatorname.iscsi和/etc/iscsi/iscsid.conf

iscsid守护进程

iscsid主要负责根据配置在系统启动时发起到target的登录,在 /var/lib/iscsi/send_targets 目录下包含iSCSI portals的配置信息,每个portal对应一个文件,例如192.168.36.212,3260

iscsiadm

用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行工具,能够对iSCSI nodes、sessions、connections和discovery records进行一系列的操作

Open-iSCSI软件架构

软件架构

Open-iSCSI的整个流程为

  1. iscsid守护进程读取配置文件,创建本地socket和netlink socket
  2. 执行Iscsiadm命令,通过本地socket连接iscsid
  3. iscsid建立和target之间的TCP connection,完成login
  4. iscsid通过netlink socket通知内核,进入iSCSI内核代码
  5. iSCSI触发Linux的通用SCSI层以及块设备层,向内核中注册块设备/dev/sdb及其request queue
  6. 用户访问块设备时,通过request queue的回调函数进入SCSI通用层,最后调用iSCSI注册的回调函数
  7. iscsi_tcp.ko完成和target之间的TCP通信

相关文章

  • iSCSI initiator软件架构

    SCSI分层 Linux内核中SCSI代码结构分为三层,它们和块设备驱动的关系如下图所示: iscsi initi...

  • Iscsi中常见概念

    iscsi就是ip方式的scsi iscsi initiator 就是iscsi的客户端,它可以是一个软件,也可以...

  • 常用的iscsi命令

    1、查询initiator名字 cat /etc/iscsi/initiatorname.iscsi 2、命令内核...

  • 连接iscsi存储

    1.客户端安装iscsi-initiator-utils工具 2.检查iscsi是否可用 3.连接到iscsi存储...

  • 配置iSCSI Initiator

    介绍 iSCSI Initiator可以理解是iSCSI存储的客户端,连接存储服务后发现块设备,并且像本地硬盘一样...

  • liunx使用iSCSI

    安装 yum install iscsi-initiator-utils 侦测 iscsiadm -m disco...

  • CentOS7.2 iSCSI客户端安装配置

    客户端设置 1.安装 yum -y install iscsi-initiator-utils 2.启动 syst...

  • iscsi initiator启动器

    启动服务 启动initiator服务 iscsiadm list 列出主机上的启动器节点的信息 列出使用 iscs...

  • 基于IP SAN的Oracle 11gR2 RAC构建(二)

    目录 集群操作系统的安装 必要补丁的安装 网络配置 IPSAN 的iscsi initiator配置 分区的创建 ...

  • ipsan设备共享

    ipsan远程块存储 iscsi介绍 iscsi服务器共享设备 iscsi客户端连接共享 一、iscsi介绍 1)...

网友评论

      本文标题:iSCSI initiator软件架构

      本文链接:https://www.haomeiwen.com/subject/whwemxtx.html