无名阁
Ubuntu架设iscsi服务器
2016-11-18 笑看风云


我个人常用系统是Ubuntu,但是Linux下面虽然下载工具很多例如Aria,wget等,但是在下载冷门资源的时候都不如Windows下面的迅雷好用,于是我专门弄了一个虚拟机用来迅雷下载,结果最近发现了一个问题,因为是虚拟机,所以虚拟磁盘只分了10g的空间,安装了系统之后没剩多少空间了,我之前都是用vbox自带的文件夹共享或者smb共享文件来解决这个问题,之前下载的都是小文件没发现啥问题,上次下载一个大文件的时候发现下载到一定大小就会卡主,排查了半天最后发现是迅雷的问题,只要下载文件夹是网络目录,一旦下来文件的大小达到设置的最大缓存就会直接卡死,想了半天最后想到通过iscsi来间接解决这个问题。



Ubuntu下面安装iscsi服务端:


sudo apt install iscsitarget



然后修改设置文件/etc/iet/ietd.conf,在里面添加以下内容:
Target iqn.2016-11.com.test:vbox-iscsi
Lun 0 Path=/dev/sda2,Type=blockio
#incominguser test 112233445566



其中sda2是我自己分出来的分区,如果不想使用分区的话可以直接dd一个文件然后指定此文件位置,不过后面的type就需要修改(据说分区用block好,逻辑文件用file好),例如这样:
Target iqn.2016-11.com.test:vbox-iscsi
Lun 0 Path=/dev/sda2,Type=fileio
#incominguser test 112233445566



上面的配置中incominguser是用来设置账号密码,其中密码最少12位,最高16位,因为用起来麻烦我就没有设置了,需要的同学自己取消注释。


现在iscsi服务端已经配置好了,我们来启动它:



开机自启:把/etc/default/iscsitarget文件中的ISCSITARGET_ENABLE后面的false改成true。



启动iscsi服务端:


sudo service iscsitarget restart




现在我们已经成功启动了iscsi服务端,接下来就是win下面的配置了。







我发现上面的iscsi程序升级到新版内核之后加无法使用了,现在改用tgt了;



安装:


apt install tgt



然后添加配置文件:
<target iqn.2016-11.xxxx.xxxx:vbox-iscsi>
backing-store /dev/sda2
incominguser xxx xxxxxxxxxxxx
</target>



内容写入到/etc/tgt/conf.d/vbox-iscsi.conf中。





启动tgt:
sudo systemctl start tgt



设置开机启动:
sudo systemctl enable  tgt






因为我为了减小虚拟机的资源占用以及速度用的是XP系统,而XP没有自带iscsi客户端(Vista及以上版本自带此功能),我们需要到微软的网站上面下载iscsi客户端:客户端下载



安装好了之后我们运行此软件,在discovery选项卡中点击add按钮,输入你的宿主机IP,例如我用的是桥接网络,宿主机IP是192.168.1.2,就填写此IP,然后点击OK。



现在进入targets选项卡,这时候此界面应该会显示你设置的iscsi,选中它,然后点击log on,选中第一个选项,现在就已经可以正常使用了。



Ubuntu下面进行挂载iscsi磁盘:



首先安装iscsi客户端软件


sudo apt-get install open-iscsi



如果你设置的服务端没有密码的话直接执行下面的命令就可以使用了
#先是搜索iscsi服务端
sudo iscsiadm -m discovery -t sendtargets -p 127.0.0.1
#然后根据搜索到的内容进行挂载
sudo iscsiadm -m node -T iqn.2016-11.com.test:vbox-iscsi --logout



现在iscsi就可以使用了,我们可以吧迅雷下载好的文件复制出来了。


可以通过op指令更新账户密码:

iscsiadm   --mode node  --targetname "iqn.2007-01.org.debian.foobar:CDs"  -p 192.168.0.1:3260 --op=update --name node.session.auth.username --value=$Id
iscsiadm --mode node --targetname "iqn.2007-01.org.debian.foobar:CDs" -p 192.168.0.1:3260 --op=update --name node.session.auth.password --value=$MDP





上面说了半天如果大家不明的话去威联通的百科上看一下就行了,上面写的比我好很多,而且还有截图,这里附上地址:iscsi使用说明



ps:微软的iscsi客户端下载网址:https://www.microsoft.com/en-us/download/details.aspx?id=18986



如果上面的直接下载地址失效大家可以到上面的地址上下载。



pss:Ubuntu进行挂载iscsi磁盘的时候本机有几个IP就会每个IP挂载一次所以更新了iscsi服务端信息之后大家可以把/etc/iscsi/nodes/iqn.2016-11.com.test:vbox-iscsi目录下面的除了127.0.0.1的目录都删除了,这样挂载的时候只会通过127.0.0.1进行挂载。



psss:临时添加lun:


sudo ietadm  --op new --tid=1 --lun=2 --params Path=/dev/sdc4,Type=blockio



tid的id可以通过
cat /proc/net/iet/session




进行查看。



tgt这样添加:


tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 5 -b /dev/sdb1 



.








发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容