【IT168 专稿】近年来,人们不断在讨论iSCSI结构简单而且成本低廉。很多人都认为,要想实现DAS(直连存储到SAN(存储专用网络)的迁移,iSCSI是比光纤通道更合适的存储网络技术。而一些iSCSI的产品现在也逐渐成熟,随着10GB脚步的日益临近,用户对iSCSI性能的疑虑也逐渐消失。笔者就已经看到国内的一些用户已经开始部署iSCSI SAN了。
iSCSI的原理是通过TCP/IP协议来打包传输SCSI数据块,这样做的好处笔者在此不再累述,介绍iSCSI的文章已经漫天都是了,但正是因为iSCSI独特的技术原理,所以在实际使用过程中,在系统内部有一个重要的工作环节,就是对SCSI数据块进行封装的过程。这一过程是在系统内部自动完成的,我们使用时完全感觉不到。
纯软件实现iSCSI支持
工作时,iSCSI需要将SCSI定义的发起方(initiator)和目标方(target),并通过TCP/IP进行封装,这样SCSI数据块可由原来的SCSI总线连接扩展到internet上,这一过程有些产品通过硬件来实现,这种硬件产品被简称为TOE,但随着近年来服务器芯片技术的不断发展,处理能力日益强劲,目前更为普遍的是通过软件来实现SCSI数据块的封装过程。
这种软件通常被称为iSCSI Initiator。因为服务器采用普通以太网卡来进行网络连接,通过运行上层软件来实现iSCSI和TCP/IP协议栈功能层。这种方式由于采用标准网卡,无需额外配置适配器,因此实现成本最低。但需要注意的是:在这种方式中,服务器在完成自身工作的同时,还要兼顾网络连接,会对服务器造成一定的工作负担。因此这种方式比较适合于预算较少,并且服务器配置较高的拥护。我们在此建议,最好是采用1GHz以上CPU的主机,如此才能获得较佳的效能表现。
笔者在这里介绍的,就是在Redhat Linux环境下,如何通过纯软件的方式来实现对iSCSI的支持,也就是说,如何在Redhat Linux环境下安装和配置iSCSI Initiator。