一、ISCSI Storage端配置

 

1.安装所需要的软件包targetcli

#yum install targetcli

2.iscsi提供的程序主要工作在tcp3260号端口,先设开机自启,并配置好防火墙

#systemctl enable target

#systemctl start target

#firewall-cmd --permanent --add-port=3260/tcp

#firewall-cmd --reload

3.targetcli这个程序有两种配置模式,一种为交互式模式,即直接进入到targetcli命令行,这里可以直接输入,可以使用lscd,pwd之类的命令

另外一种模式为命令行模式,可以直接在命令行中输入,比如创建一个portals,则可以使用:

#targetcli /iscsi/iqn.2015-10.com.example:server/tpg1/portals create 192.168.0.100

显然交互式命令更加直观,所以用第一种会好一些。

4.我这里已经准备好了一块磁盘分区/dev/sdb2,后端存储分为四种类型:

block:块设备,b,可以是磁盘驱动器,分区,逻辑卷,多路径设备,只要是类型为b的均可

fileio:文件,根据一个事先准备的文件,提供存储功能

pscsi:physical scsi,物理scsi设备,老旧设备,现在已经很少使用了

Ramdisk:内存存储,利用内存当做存储,优点速度快,缺点是成本高,掉电后数据无法保存

进入到targetcli交互式模式

#targetcli

/> cd /backstores/block/

/backstores/block> create server1 /dev/sdb3                   ##/dev/sdb3创建为后端存储

/backstores/fileio> create file1 /root/disk1_file 100M   ##提供一个100M的文件作为存储资源

/backstores/block> cd /iscsi/

/iscsi> create iqn.2015-10.com.example:server1        #创建一个提供服务的名称

这时,在名称下会自动生成tpg1目录

进入到acls目录,创建允许访问本地的iscsi设备的名称

/iscsi> cd iqn.2015-10.com.example:server/tpg1/acls/

/iscsi/iqn.20...ver/tpg1/acls> create iqn.2015-10.com.example:desktop

/iscsi/iqn.20...ver/tpg1/acls> cd ../luns/

/iscsi/iqn.20...ver/tpg1/luns> create /backstores/block/server1   #将块设备server1加入到luns

/iscsi/iqn.20...ver/tpg1/luns> create /backstores/fileio/file1         #将文件设备file1加入到luns

/iscsi/iqn.20.../tpg1/portals> create 192.168.0.105   #配置本地监听的IP和端口,默认为3260

cd /

/> saveconfig

Last 10 configs saved in /etc/target/backup.

Configuration saved to /etc/target/saveconfig.json

输入exit退出

#systemctl restart target    #重启target服务

 

二、客户端配置

1.安装所需要的软件包,配置文件为/etc/iscsi/iscsid.conf,连接到服务器端后,在本地自动生成的iscsi相关配置信息文件在/var/lib/iscsi/nodes/var/lib/iscsi/send_targets目录中

#yum install iscsi-initiator-utils

2.编辑本地的iscsi名称文件,修改为服务器定义的名称

#vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2015-10.com.example:desktop

#systemctl restart iscsi

3.先发现iscsi设备,然后再进入登陆

Iscsiadm    iscsi的管理程序

-m   --mode指定模式,发现为discovery,登陆为node节点模式,session

-l     --login登陆

-t     --type   一般为sendtarget,简写为st

-o  --op=op  指定选项,new delete  update show nonpersistent

可以用-o delete 对已存在的node进行删除

-p  --portal  指定入口    可以为IP地址或者域名

-P n  指定输出详细信息,[0|1|2|3],有四种格式可选

-u --logout  登出

-T --targetname=targetanme  指定要使用的服务器端的target名称,有时候服务器端创建了多个target,iqn.2015-10.com.example:….

#iscsiadm -m discovery -t st -p 192.168.0.100

         192.168.0.100:3260,-1 iqn.2015-10.com.example:server1

 

[root@demo iscsi]# iscsiadm -m node -T iqn.2015-10.com.example:server1 -l

Logging in to [iface: default, target: iqn.2015-10.com.example:server1, portal: 192.168.0.100,3260] (multiple)

Login to [iface: default, target: iqn.2015-10.com.example:server1, portal: 192.168.0.100,3260] successful.

 

#fdisk -l

Disk /dev/sdb: 524 MB, 524288000 bytes, 1024000 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 4194304 bytes

 

 

Disk /dev/sdc: 104 MB, 104857600 bytes, 204800 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 4194304 bytes

可以看到新增了两个磁盘,但使用blkid无法查看/dev/sdc,应该是没有文件系统造成的

再次输入blkid,可以看到已经发现了新设备

 

 

 

 

4.接下来新建磁盘目录,即可对新得到的分区进行挂载了,同理,对于/dev/sdb也是同样的处理办法

      #mkdir /iscsi

     #vim /etc/fstab

        UUID=448ee927-52ea-498b-bf7c-ad2e8b43de69       /iscsi  ext4 defaults,_netdev 0 0

     #mount -a

    #df -h

    可见新的设备已经正常挂载,现在可以对该目录进行正常读写操作了。_netdev选项是让此挂载点在网络正常启动后再进行挂载