由于公司的业务存储方面的不断增大,现有服务器上面分区存储严重不足,固考虑自建了一个文件存储服务器,网上也很多类似的开源项目,例如freenasOpenfiler等等的,之前有尝试过在虚拟机上面整过,但是发现访问效率非常低,也有可能是虚拟机的问题,但是总觉不靠谱,后面决定还是用linux的iscsi来做,简单来说iscsi是通过网络来传输,网络较nas消耗更少,网络上面说nas做文件服务器是适合的,这里我却用了iscsi来,其实还是用过才知道哪个适合,反正能出来效果就行了。

   服务器:192.168.10.246(iscsi客户端) ; 192.168.10.251(iscsi target也就是作为主服务器提供存储访问)

   在251上面先查看硬盘情况:

    1.fdisk -l

    wKiom1MVdgCCG8zpAALThcs_kUY251.jpg

    这里说明一下,上面的显示是已经分好区的,/dev/sdb这个分区有6T多的空间,一般的旧的linux系统是认不了超过2T的存储空间,我使用的centos 6.3已经支持gpt这种大容量的硬盘了,而且在新添加的时候必须要用parted来分区,以下是分区的过程:

     wKiom1MVd-3jMQtSAAKlKurLk6g259.jpg

   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

       wKioL1MVe1iy1d1vAACLnKGPKQo447.jpg

      #tgt-admin --show(查看一下是否已经配置好了)

wKioL1MVfJnT7kTEAAKW0DIMFto066.jpg      

        服务器一切都准备好了!

     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),然后就可以用了!整个过程到这里基本就完结了!