三大主流iSCSI Initiator软件对比分析

Posted by

要实现iSCSI读写,除了使用特定的硬设备外,也可通过软件方式,将服务器仿真为iSCSI的发起端或目标端,利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接。

iSCSI即internet SCSI,是IETF制订的一项存储传输协议标准,用于将SCSI数据区块映像成以太网数据封包。iSCSI协议基本上是一种跨过IP网络来传输SCSI 数据区块的方法,发起读写请求的来源机器设备称作Initiator(发起方),被请求的目标设备则称作Target。透过这种方式可在IP网络上以区块级模式存取大量数据。

要实现iSCSI读写,除了使用特定硬设备外,也可透过软件方式,将服务器仿真为iSCSI的发起端或目标端,利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接。目前多数的iSCSI Target仿真软件多为需付费的商业软件,而iSCSI initiator则已有许多免费软件可供选用。

Microsoft iSCSI Initiator

Microsoft提供的iSCSI发起器软件,可让Windows客户端将以太网卡仿真成iSCSI发起器,以便对网络上的iSCSI目标设备发起存取需求,建立iSCSI联机。

Microsoft iSCSI Initiator最新的版本为2.04版,可支持Windows 2000/XP/Server 2003等微软作业环境,并分别有支持x64、IA64、x86等处理器平台的版本。下载完成安装后,在Discovery选单输入iSCSI目标设备的 IP或iqn地址,即可在Target选单中选择与iSCSI设备建立连接,透过IP网络存取iSCSI存储设备,还支持多路径传输。

Linux-iSCSI

有2.4/2.6两种版本Linux kernel的iSCSI Initiator,在使用时,系统中必须备妥kernel-source、kernel、gcc、perl、Apache等相关档案。下载并完成编译后,先将/etc/iscsi.conf内的iSCSI配置组态,改为符合目前使用的iSCSI目标设备的正确网址、用户名称与密码,接下来以 #/etc/init.d/iscsi start启动iSCSI设备,并以fdisk指令分割磁盘,最后用mkdir与 mount指令将磁盘驱动器挂载。

Solaris iSCSI Initiator

Solaris 10已内建了iSCSI Initiator软件,包括SPARC 64、x64与IA-32等处理器平台都能支持。Sun把iSCSI相关驱动程序整合在iSCSI Device Driver and Utilities的更新程序内,目前已更新到5.10版。

使用时,先用svcadm enable svc:/network/iscsi_initiator的指令格式先行启始iSCSI Initiator,接下来的的操作主要依靠iscsiadm指令,先以iscsiadm add discovery-address指令设定目标设备地址,再用iscsiadm modify initiator-node修改与目标设备间的连接设定,然后依序使用devfsadm -c iscsi、format、newfs等指令建立新的磁盘区,最后再用mount指令将磁盘区挂载起来即可。