于CentOS7.2配置ISCSI-targetcli---Linux
一、准备工作
1.1、(服务端和客户端都需要设置)
系统使用的是CentOS7.2
禁用防火墙:
查看状态:# systemctl status firewalld或者 firewall-cmd--state 停止:# systemctl stop firewalld 开机不启动:# systemctl disable firewalld SELINUX禁用: vi /etc/selinux/config SELINUX=disabled
1.2、说明:
服务器: 主机名--- servermwd;IP--- 192.168.13.30 客户机: 主机名--- mwdinit;IP--- 192.168.13.31 注:# vi /etc/hostname
二、iSCSI Target(服务器端)
修改主机名和IP
# vi /etc/hostname # vi /etc/sysconfig/network-scripts/ifcfg-eth0
安装targetcli
# yum -y install targetcli
启动target服务
# systemctl start targe
设置开机启动服务
# systemctl enable target
新建分区
注意:(/dev/sdb1)第二块硬盘(可自定义任何磁盘),fdisk -l查看磁盘信息,分区大小可自定义如在Last扇区后输入【+7G】表示该分区分配大小为7G,注意不要格式化分区。
# fdisk /dev/sdb
n --- p --- 1 --- 回车几次 ---p --- w
开始创建
进入targetcli #targetcli 步骤1:建立一个块存储 注意:server1.disk(名称server1可自定义),/dev/sdb1为上面新建的分区名称。 /> /backstores/block create ib_vol1 /dev/sdb1 步骤2:配置ISCSITarget命名 注意:命名在同一子网内确保是唯一的,命名格式为:iqn.yyyy-mm.<主机名反写>:自定义名称(自定义名称内不能有下划线) /> /iscsi create iqn.2017-05.com.mwdserver:iscsimwd1 步骤3:创建ACL允许ISCSI客户机连接 注意:iqn.2017-03.com.example:client1为客户机ISCSI名称。 />/iscsi/iqn.2017-05.com.mwdserver:iscsimwd1/tpg1/acls createiqn.2017-05.com.mwdinit:initmwd1 步骤4:创建lun(target块设备的逻辑单元) />/iscsi/iqn.2017-05.com.mwdserver:iscsimwd1/tpg1/luns create/backstores/block/ib_vol1 步骤5:创建ip与端口 />/iscsi/iqn.2017-05.com.mwdserver:iscsimwd1/tpg1/portals create192.168.13.30 或 />cd /iscsi/iqn.2017-05.com.mwdserver:iscsimwd1/tpg1/portals />create 192.168.13.30:3260 注:192.18.13.30为服务器IP;不指定端口默认为3260 步骤6:配置验证用户名和密码(这里可以省略) />cd /iscsi/iqn.2017-05.com.mwdserver:iscsimwd1/tpg1/acls/iqn.2017-05.com.mwdinit:initmwd1 />set auth userid=test />set auth password=test 步骤7:配置完成后查看配置信息,并退出。 />cd / />ls />exit
三、iSCSI Initiator(客户端)
步骤1:安装ISCSIInitiator
# yum -y install iscsi-initiator-utils
启动iscsi服务
# systemctl start iscsi
设置开机启动服务
# systemctl enable iscsi
步骤2:配置ISCSIInitiator名称
注:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致。
# vi /etc/iscsi/initiatorname.iscsi iqn.2017-05.com.mwdinit:initmwd1
步骤3:修改ISCSIInitiator配置文件(上面服务端如果没有设置有用户和密码这里不需要操作)
注意:
#node.session.auth.authmethod = CHAP---去掉注释 node.session.auth.username为存储服务端 set auth userid=username配置的username, node.session.auth.password= password为存储服务器端 set auth password=password配置的password。 # vi /etc/iscsi/iscsid.conf
步骤4:查找ISCSI设备
iscsiadm -m discovery -t sendtargets -p 192.168.13.30
步骤5:连接ISCSI设备
# iscsiadm -m node --login
步骤6:查看系统磁盘信息
lsblk 或 fdisk -l
步骤7:将共享磁盘挂载到指定目录
将sdb1分区挂载到/mnt/iscsi目录,使用df -hT命令可查看到/dev/sdb1已经挂载上并显示其容量信息。
# mount /dev/sdb1 /home/test
步骤8:设置开机自动连接ISCSI设备
注意:iqn.2017-03.com.example:disk1为存储服务端ISCSI名称,192.168.**.**:3260为存储服务端IP及端口号。 # iscsiadm -m node -T iqn.2017-05.com.mwdserver:iscsimwd1 -p192.168.13.30:3260 -o update -n node.startup -v automatic
步骤9:设置开机挂载网络磁盘
开机挂载:采用写入fstab方式开启启动挂载磁盘
获取磁盘UUID:# blkid/dev/sdb1
编辑fstab:# vi/etc/fstab
添加配置:UUID=9f122014-071a-4416-b40f-ece882285b2b /mnt/iscsi ext4 defaults,_netdev 0 0
说明:
UUID=ba7925cc-9bfb-4238-984d-999e18d592e8:磁盘UUID,代表磁盘。 /mnt/iscs:代表挂载路径,根据实际灵活变动。 ext4:代表文件系统,根据实际灵活变动。 _netdev:代表该挂载的磁盘分区为网络磁盘分区。
四、备忘录
4.1、客户端查找不到服务端的ISCSI设备
报错如下:
[root@mwdinit ~]# iscsiadm -m discovery -t sendtargets -p192.168.13.30 iscsiadm: cannot make connection to 192.168.13.30: Connectionrefused iscsiadm: cannot make connection to 192.168.13.30: Connectionrefused iscsiadm: cannot make connection to 192.168.13.30: Connectionrefused iscsiadm: cannot make connection to 192.168.13.30: Connectionrefused iscsiadm: cannot make connection to 192.168.13.30: Connectionrefused iscsiadm: cannot make connection to 192.168.13.30: Connectionrefused iscsiadm: connection login retries (reopen_max) 5 exceeded iscsiadm: Could not perform SendTargets discovery: encounteredconnection failure
解决:因服务端未指定ip和端口
o- portals ..................................................................................[Portals: 1] | o- 192.168.13.30:3260
4.2、客户端查找不到服务端的ISCSI设备2
iscsiadm: Could not perform SendTargets discovery: encounteredconnection login failure
解决:
lsof -i:3260发现tgtd服务也启动了,这样与target服务共用了端口,把tgtd服务关掉并设置为开机不启动
停止:# systemctl stop tgtd
开机不启动:# systemctl disable tgtd
4.3、Could not create NetworkPortal in configFS
原因:发现
portals..................................................................................[Portals: 1] | o- 0.0.0.0:3260
已经存在了一个IP和端口,需要删除
解决:
/>cd /iscsi/iqn.2017-05.com.mwdserver:iscsimwd1/tpg1/portals />/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
注:ip和端口之间有一个空格