3.0.1 红帽的iSCSI驱动器:
在第一章中我们就了解到了什么是iSCSI。iSCSI(ip Over SCSI)业内也常叫作ipSAN,即是通过TCP/IP的网络协议来传输磁盘的SCSI数据,随着以太网技术的发展,千兆万兆都将应用在企业中,而以iSCSI存储的性价比,很多中小型企业会更加倾向于使用。
相关阅读:
【RHCA翻译计划】EX436第一章:集群存储概论2
【RHCA翻译计划】EX436第二章:udev硬件设备管理机制
也就是说,iSCSI是基于TCP/IP下的网络存储解决方案,那么iSCSI和SCSI/FC存储机制有什么不同呢:
左边的模型是iSCSI存储的整个数据流动模型,右边的是FC SAN的模型,通过这个图可以清晰地看出iSCSI存储和FC光纤存储的对应关系。
iSCSI驱动器提供了一个可以通过IP网络访问存储的主机,这个驱动器使用了iSCSI的协议(由IETF定义的)通过IP网络在主机和iSCSI服务器端来传输SCSI的请求和回应。如果你想了解更多关于iSCSI协议的信息,可以参考RFC 3720()标准。
从模型架构的角度来看,iSCSI驱动器结合了主机的TCP/IP协议栈、网络驱动器和网卡,提供了与SCSI/FC驱动器一样的功能。
尽量用单独的网络来使用iSCSI存储。
3.02 iSCSI数据访问:
iSCSI存储分为服务器端(targets)和客户端(initiators),客户端发送SCSI命令到远程的存储设备端(服务器端),iSCSI使用的是TCP/IP协议,默认使用TCP的3260端口。
客户端:
-通过discovery程序来请求远程的块设备;
-客户端必须安装了iscsi设备驱动器;
-要安装iscsi-initiator-utils-*.rpm软件包;
服务器端:
-发布一个或多个块设备给initiator访问;
-从RHEL5.3以后开始支持iSCSI;
-需要安装scsi-target-utils-*.rpm软件包;
对于每个target来说,主机ID是唯一的,存储块设备的LUN ID是由iSCSI target来分配的。iSCSI驱动器为SCSI请求和回应提供了一个通过IP网络传输的渠道。
一旦iSCSI驱动器安装了,主机将会对存储设备做discovery的处理,如下:
-iscsi驱动器通过discovery机制请求存储网络中可用的target;
-每个iscsi target发送可用的iscsi target名称到iscsi驱动器;
-iscsi target接受客户端登入,并且给客户端发送target identitier作为确认;
-iscsi驱动器查询target端的设备信息;
-target端回复相关的设备信息;
-iscsi驱动器为这些可用的target设备创建一个表;
一旦这个表创建完成,iscsi target端对于主机来说就像直连了一个存储设备一样是可用的。