pyTarget 新版发布
pyTarget
前些天玩了一下python,发现挺好用的,就试着去实现一个iscsi target,也就是今天的pyTarget。
用python写iscsi,简单又快捷,而且能多平台运行,暂不考虑效能问题。pyTarget供iSCSI协议研究,学习以及相关测试用。其中源代码全部公开,同时编译成Windows下可执行文件,可脱离python运行环境独立运行。可从开源网下载:
http://sourceforge.net/projects/pytarget/files/
目前最新版: pyTarget-0.15.1
非常欢迎大家参与讨论以及改进!
一、目前支持如下功能:
1、支持多Target,多Session, 多Connect (MC/s)
2、各个Target可以配置独立的协商关键字,相互独立。
2、支持Initiator/Target多端CHAP认证
3、支持Header及Data Digest
4、目前只支持ERL=0(以后有空再实现高级恢复)
5、Lun设备是采用文件模拟方式
7、所有配置都过xml文件形式保存,方便修改及阅读
二、安装与配置:
如果你下载的是Windows下二进制可执行包,则需要安装 Microsoft Visual C++ 2008 Redistributable pack(vcredist_x86.exe),可到微软网站下载:
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe (py2exe打包时没加vc运行库)
如果直接运行python源码,需要安装python 2.6.1运行环境。
三、配置说明:打开编辑 config.xml文件
1.
# ip为空表示侦听本机所有IP中的指定port, 如果指定了ip, 则只侦听该IP。
# debug_level控制调试信息显示等级,如果嫌console打得太多,就把值改小点,文件里有详细说明。
2.
# 配置Target, name为TargetName,ip, port及portal组成TargetAddress, 这些Initiator Discovery时
# 会返回给Initiator
3.
# 配置host, host附属于Target,name为IQN, target_pwd为Login时Target端认证密码,initiator_pwd为
# Initiator端身份认证密码,为空时不进行CHAP认证。
4.
# 配置Lun, lun附属于host, Initiator用哪个IQN登陆,会连接到相应的host,同时能看到该host下的所有
# Lun设备。 id为Lun ID号,host内独立; path为模拟Lun设备的文件名; capability为设定Lun设备容量,
# 单位为block,1M=2*1024=2048
5.
# 这些为iSCSI Login协商关键字,附属于Target, 看看RFC3720吧,照着协议实现的。
# MaxConnections,InitialR2T,ImmediateData, FirstBurstLength
# MaxBurstLength,MaxRecvDataSegmentLength 这几个比较好玩。
6. 有空再结合iscsi协议,写一些实现的小细节
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104665/showart_2071394.html
页:
[1]