当前位置: 首页 > >

NAS DIY的设计和实施过程-8-打造属于我的NAS操作系统3-SERVER和WEB配置工具的调试 --ISCSI篇

发布时间:

存储部分的功能我一开始就打算实现这3种功能:SMB/FTP/ISCSI


不是说其它的存储协议不好,而是我认为这3种最有用,第一个版本不要给自己这么大的压力呵呵。


FTP和SMB很容易实现,Centos里面就有,我不过是集成一下罢了,WEBMIN里面的模块已经带了管理功能,直接引用就好了,低版本的WEBMIN管理SMB存在一点问题,升级到最新版本就好了。


?


ISCSI就较麻烦,iscsi-traget没有,没关系,去http://sourceforge.net/projects/iscsitarget/files下个最新的源码下来,在另一个*台上编译成RPM包,呵呵,记得要先装 rpm-build GCC和64位内核的开发包,否则会出错的。


?


RPM包的生成过程如下:


#tar zxvf iscsitarget-1.4.20.2.tar.gz


#cp iscsitarget-1.4.20.2/iscsitarget.spec /usr/src/redhat/SOURCES/


#cp iscsitarget-1.4.20.2.tar.gz /usr/src/redhat/SOURCES/


#rpmbuild -bb iscsitarget.spec


#rpmbuild -ba iscsitarget.spec


?


然后在/usr/src/redhat/RPMS/x86_64下可以找到两个安装好的rpm包


iscsitarget-1.4.20.2-1.x86_64.rpm
kmod-iscsitarget-1.4.20.2-1_2.6.18_194.el5.rpm


?


将这两个包安装测试没问题就可以进行配置了,先装kmod-iscsitarget-1.4.20.2-1_2.6.18_194.el5.rpm


rpm -ivh ivh kmod-iscsitarget-1.4.20.2-1_2.6.18_194.el5.rpm


rpm -ivh iscsitarget-1.4.20.2-1.x86_64.rpm
然后启动iscsi-target服务


service start iscsi-target


查看iscsi的状态


netstat -tunlp | grep 3260


[root@mynas ~]# netstat -tunlp | grep 3260
tcp??????? 0????? 0 0.0.0.0:3260??????????????? 0.0.0.0:*?????????????????? LISTEN????? 3456/ietd??????????
tcp??????? 0????? 0 :::3260???????????????????? :::*??????????????????????? LISTEN????? 3456/ietd??????????


确认3260端口已经打开、


看看dmesg 的状态


iSCSI Enterprise Target Software - version 1.4.20.2
iscsi_trgt: Registered io type fileio
iscsi_trgt: Registered io type blockio
iscsi_trgt: Registered io type nullio


ok iscsi服务已经打开了


测试一下,在虚拟机内添加个虚拟硬盘,建个LV


pvcreate /dev/sdb


vgcreate mynas /dev/sdb


lvcreate -L 100 -n testlv mynas


看看我的lv情况


?lvdisplay
? --- Logical volume ---
? LV Name??????????????? /dev/mynas/testlv
? VG Name??????????????? mynas
? LV UUID??????????????? zFHuZd-XM05-c1ab-oqn1-Vr83-JPSt-MIxBIF
? LV Write Access??????? read/write
? LV Status????????????? available
? # open???????????????? 1
? LV Size??????????????? 100.00 MB
? Current LE???????????? 25
? Segments?????????????? 1
? Allocation???????????? inherit
? Read ahead sectors???? auto
? - currently set to???? 256
? Block device?????????? 253:0


????? 然后我们就要将这个lv作为一个LUN共享出去,正常情况下我们需要手工配置etc/iet/ietd.conf,这次我不打算手工配置,否则大家使用都很麻烦,WEBMIN站点有个第三方的模块,叫iscsitarget-0.9.3.wbm,使用这个模块可以配置ISCSI,唉这个配置模块有点古老,是2009年的,我测试了一下,发现有一点小错误,修正后就可以了。模块的配置文件的位置指错了,是/etc/ietd.conf真确的是/etc/iet/ietd.conf,没关系的,wbm实际是个tar.gz文件,我会修改这里面的配置文件为正确的,有空汉化这个模块一下。


???? 使用这个模块配置iscsi-target其实很简单,选择创建一个TRAGET,然后往这个TARGET里添加要共享的lv的设备名就好了。结果图



通过WINDOW2003的Microsoft iSCSI Initiator试连接一下,去微软网站下个最新的Microsoft iSCSI Initiator。


然后配置一下Discovery



?


然后在TARGET里面连接,如果显示连接成功了,则到磁盘管理器里,那里就那能发现一个94M的小磁盘,呵呵下面的分区格式就简单了吧。



?


OK到此 iscsi基本搞定,剩下的就是打包封装了。



友情链接: