iSCSI target - initiator 使用详解 && 实现原理 && 使用手册

1. iSCSI简介

从协议层次的角度看,通常所说的SCSI通常是指一组包含块命令、控制器管理、系统命令和enclosure服务等内容的协议规范,对应于回话层;而其下的物理通道和链接方式就对应在数据链路层,SCSI命令可以通过串口、Fibre Channel、SAS、infiniband、Internet、USB、PCIE等进行传输。iSCSI就是一种把异地存储资源通过TCP/IP网络映射到本地逻辑存储设备的SCSI实现。不同于NFS向用户提供按文件为单位访问远程存储的方式,它向用户提供了以块方式访问远程存储资源的接口,也就是说用户可以在本地/dev/下看到iSCSI映射后的磁盘。通常所说的target端是指远端存储资源所在的主机,比如存储服务器;而initiator端是指链接到target端并会访问远端存储资源的节点。

2. iSCSI target管理工具的特点

基于iSCSI的网络属性,很直观地我们能想到它基本上是基于server-client模型。提供存储资源的target相当于server,而使用远程存储资源的initiator端相当于client。基于现有的iSCSI协议规范,能够开发出target端和initiator端工具。在Linux系统上,initiator端工具可以用iscsiadm,目前大部分os都自带有这款工具;而target端的工具由于直接和性能和存储管理相关,数量更多,目前常见的有targetcli、targetadm、ietadm,它们各有所长,分别能适用不同的场合。

3.三种iSCSI target管理工具的使用对比

通过上面的介绍和举例,我们不难看到三种工具各有优劣,区别如下:

 

安装包

前端工具

后台服务

性能

登录历史

功能

iSNS

LIO targetcli

targetcli.noarch

Targetcli

Target;

targetd

好,2.6.38+原生内核支持

不记录initiator 登录信息

ACL控制

不支持

STGTT targetadm

scsi-target-utils.x86_64

Tgtadm

tgtd

不好,用户态模拟设备

记录登录initiator名称

ACL;

Tags;

支持

STGT ietadm

Iscsitarget-1.4.20.2

Ietadm

Ietd

好,有内核驱动模拟iSCSI设备

记录登录initiator名称及一些discovery信息

ACL;

Tags;

Disk ID ;

基于配置文件的管理

支持

未完 待续

参考文档和链接

https://github.com/agrover/targetcli-fb

SCSI target framework (tgtadm)

http://www.bubuko.com/infodetail-1152038.html

http://www.linuxidc.com/Linux/2015-03/114323.

http://www.linuxidc.com/Linux/2012-08/67740.htm

https://github.com/konis/tgt/blame/master/doc/README.passthrough

http://blog.chinaunix.net/uid-30212356-id-5520545.html

https://github.com/fujita/tgt

http://iscsitarget.sourceforge.net/

https://sourceforge.net/projects/iscsitarget

https://www.ibm.com/developerworks/community/blogs/5144904d-5d75-45ed-9d2b-cf1754ee936a/entry/linux_io_target%25e4%25bb%258b%25e7%25bb%258d_%25e4%25b8%2580?lang=en

http://czmmiao.iteye.com/blog/2055805

猜你喜欢

转载自www.cnblogs.com/adam098165/p/10065700.html