由于公司的业务存储方面的不断增大,现有服务器上面分区存储严重不足,固考虑自建了一个文件存储服务器,网上也很多类似的开源项目,例如freenas、Openfiler等等的,之前有尝试过在虚拟机上面整过,但是发现访问效率非常低,也有可能是虚拟机的问题,但是总觉不靠谱,后面决定还是用linux的iscsi来做,简单来说iscsi是通过网络来传输,网络较nas消耗更少,网络上面说nas做文件服务器是适合的,这里我却用了iscsi来,其实还是用过才知道哪个适合,反正能出来效果就行了。
服务器:192.168.10.246(iscsi客户端) ; 192.168.10.251(iscsi target也就是作为主服务器提供存储访问)
在251上面先查看硬盘情况:
1.fdisk -l
这里说明一下,上面的显示是已经分好区的,/dev/sdb这个分区有6T多的空间,一般的旧的linux系统是认不了超过2T的存储空间,我使用的centos 6.3已经支持gpt这种大容量的硬盘了,而且在新添加的时候必须要用parted来分区,以下是分区的过程:
2.分区已经规划好了,我们这里要共享出来251上面的/dev/sdb1,那要先在251上面安装iscsi服务端scsi-target-utils,命令:
#yum -y install scsi-target-utils
安装完了服务端后,在/etc/tgt下面就是配置文件了targets.conf
#cd /etc/tgt
#vi targets.cof
在最后一行添加上:
<target iqn.2014-03.hostname:fileserver1>
backing-store /dev/sdb1(这里可以选择backing虚拟装置或者direct-stor实际装置)
initiator-address 192.168.10.0/24(这里指定了那个网段使用该iscsi)
incominguser XXX JJJ (设置登录的账号密码)
write-cache off (选择快取,为了安全起见)
</target>
这里说明以下iscsi的target端的命名有一定规范,以iqn.开头后面跟时间.后面再跟hostname:这里是你自己定义的名称,如:iqn.2014-03.hostname:fileserver1 。
#/etc/init.d/tgtd start
#chkconfig tgtd on
#netstat -ntlp|grep tgt
#tgt-admin --show(查看一下是否已经配置好了)
服务器一切都准备好了!
3.现在配置客户端也就是246
#yum -y install iscsi-initiator-utils(安装客户端)
#cd /etc/iscsi/
#vi iscsi.conf
node.session.auth.username = XXX
node.session.auth.password = JJJ
discovery.sendtargets.auth.username = XXX
discovery.sendtargets.auth.password = JJJ
这里主要配置这里两项,就是对于服务端的账号密码
#/etc/init.d/iscsid start
#/etc/init.d/iscsi start
#chkconfig iscsid on
#chkconfig iscsi on
#iscsiadm -m discovery -t sendtargets -p 192.168.10.251
192.168.10.251:3260,1 iqn.2014-03.hostname:fileserver1(查找到了!)
#iscsiadm -m node -T iqn.2014-03.hostname:fileserver1 --login(登录!)
#fdisk -l
你就会看到多出了一个/dev/sd(b|c|d)的分区了
#parted /dev/sdc
... .....(省略,按照一开始分区的方法做就行了)
#fdisk -l(再看就会出多一个/dev/sdc1的分区)
#mkfs.ext4 /dev/sdc1
剩下的就是格式化跟挂载了(mount),然后就可以用了!整个过程到这里基本就完结了!