安装 

不同的操作系统对应各自的iSCSI initiator,以CentOS 6.5为例。  

安装方法有两种: 

1) 直接使用“yum install iscsi*”进行安装; 2) 到网上下载 

iscsi-initiator-utils-devel-6.2.0.873-10.el6.x86_64 iscsi-initiator-utils-6.2.0.873-10.el6.x86_64 使用“ rpm -ivh iscsi-initiator”命令进行安装。  

安装完成后,启动iscsi守护进程 

[root@CentOS1 桌面]#service iscsid start    

将iscsid添加到系统启动 

[root@CentOS1 桌面]#chkconfig iscsid on 

[root@CentOS1 桌面]#chkconfig iscsid --list (查看ISCSI启动状态)  

挂载iSCSI主要用到的工具叫“iscsiadm”,iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的操作。  

iscsiadm的使用说明可以查看sr/share/doc/iscsi-initiator-utils-6.2.0.873/README,也可以运行man iscsiadm或iscsiadm --help    

使用 

首先要在存储设备上做好RAID,设置好iSCSI 目标方(target)。由于只是做实验,我就使用了一个开源软件来模拟iSCSI存储设备,软件名称叫openfiler,可以使用虚拟机来安装,详细可以查阅相关的教程。  

下面来讲一下连接iscsi设备的步骤:  

1)发现目标 

默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是10.10.13.3,运行下列命令: 

[root@CentOS1 桌面]#iscsiadm -m discovery -t sendtargets -p 10.10.13.3:3260 (若端口是默认端口,IP后面



  wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});    

  



可以不跟端口号)  

此时找到拥有一个或多个目标(target) 

10.10.13.310.10.13.3:3260,1 iqn.2006-01.com.openfiler:tsn.8edaa9212d3a 192.169.139.13:3260,1 iqn.2006-01.com.openfiler:tsn.8edaa9212d3a 被发现的目标也叫做节点  

2)登入节点 

以上面被发现的目标为例: 

[root@CentOS1 桌面]# iscsiadm -m node -T  iqn.2006-01.com.openfiler:tsn.8edaa9212d3a -p 10.10.13.3:3260 -l  

其中iqn.2006-01.com.openfiler:tsn.8edaa9212d3a是目标名  

注:如果要在系统启动时自动登入 

[root@CentOS1 桌面]# iscsiadm -m node -T  iqn.2006-01.com.openfiler:tsn.8edaa9212d3a -p 10.10.13.3:3260 --op update -n node.startup -v automatic  

登入节点后,运行 

[root@CentOS1 桌面]#fdisk -l  

应该可以看到目标方的存储设备信息,如  

Disk /dev/sdb: 5268 MB, 5268045824 bytes 163 heads, 62 sectors/track, 1018 cylinders 

Units = cylinders of 10106 * 512 = 5174272 bytes 

Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc9ac33ab  

   Device Boot      Start         End      Blocks   Id  System  

/dev/sdb即为连接的iscsi存储设备  

3)格式化设备 

如欲将设备格式化为ext4文件系统,运行 [root@CentOS1 桌面]# mkfs.ext4 /dev/sdb   




  



4)挂接设备 

a、 在/下创建data目录作为挂载目录 [root@CentOS1桌面]#mkdir /data  

b、运行mount命令: 

[root@CentOS1 桌面]# mount  /dev/sdb /data  

c、运行df -h可以看到: 

/dev/sdb        4.9G  138M  4.5G   3% /data  

iscsi设备被成功挂接,可以当作常规存储设备使用了。  

注:如果要在系统启动时自动挂接 [root@CentOS1 桌面]# vi/etc/fstab  

加入一行: 

/dev/sdb                /dataext4     default        0  0  

但是,Linux系统重启后,磁盘设备的名称可能会发生飘移,从而引起文件系统不能挂载上来或者不能正确挂载,使用UUID的方式进行挂载可以解决这个问题: 

使用命令“tune2fs -l /dev/sdb”可以查到文件系统的UUID:  

Filesystem UUID:          2cfe9765-4586-4160-9394-4f698525f565  

然后在/etc/fstab中添加   

UUID=2cfe9765-4586-4160-9394-4f698525f565/dataext4     default        0  0 替换掉原来的 

/dev/sdb                /dataext4     default        0  0  

注:如何手动通过UUID来挂载磁盘 在/etc/fstab中添加   

UUID=2cfe9765-4586-4160-9394-4f698525f565/dataext4noauto        0  0  

这样系统启动后是不会挂载这个磁盘的,然后执行以下命令: 

[root@CentOS1 桌面]#mount UUID=2cfe9765-4586-4160-9394-4f698525f565  

这样就可以手动通过UUID来挂载磁盘了    




  



5)登出节点 

a、首先解除挂接 

[root@CentOS1 桌面]#umount /data  

b、登出 

[root@CentOS1 桌面]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.8edaa9212d3a -p 10.10.13.3-u    




  



--------------------------- 

注意:使用脚本实现开关机挂载或卸载iSCSI存储,把下面的脚本加入到/etc/rc.local 文件中,多个iSCSI存储的话 就加入多个IP地址。  

如下: 

1:挂载iSCSI脚本 

su - root -c “iscsiadm -m node -T  iqn.2006-01.com.openfiler:tsn.8edaa9212d3a -p 10.10.13.3-l” sleep 10 

su - root -c “mount /dev/sdb1 /data”  

2:卸载iSCSI脚本 

su - root -c “umount /data” sleep 10 

su - root -c “iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.8edaa9212d3a -p 10.10.13.3–u”   

-------------------------------------- 

iSCSI initiator配置好后主要有以下两个配置文件:  

配置文件 /etc/iscsi/iscsid.conf    node.startup=auto 

   node.session.iscsi.InitialR2T=Yes    node.session.iscsi.ImmediateData=No 

   node.session.timeo.replacement_timeout=60  

[root@CentOS2桌面]#cat /etc/iscsi/iscsid.conf  

主机名/etc/iscsi/initiatorname.iscsi    格式为InitiatorName=iqn.xxxx  

[root@CentOS2桌面]# cat  /etc/iscsi/initiatorname.iscsi  InitiatorName=iqn.1994-05.com.redhat:f426c211e826