CentOS7.2-iSCSI安装配置

iSCSI简介

iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于Ip Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口与IP网络技术相结合,可以在IP网络上构建SAN存储区域网络,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。

iSCSI 主要是透过 TCP/IP 的技术,将储存设备端透过 iSCSI target (iSCSI 目标) 功能,做成可以提供磁盘的服务器端,再透过 iSCSI initiator (iSCSI 初始化用户) 功能,做成能够挂载使用 iSCSI target 的客户端,如此便能透过 iSCSI 协议来进行磁盘的应用了。

也就是说,iSCSI 这个架构主要将储存装置与使用的主机分为两个部分,分别是:

  • iSCSI target:就是储存设备端,存放磁盘或 RAID 的设备,目前也能够将 Linux 主机仿真成 iSCSI target 了!目的在提供其他主机使用的『磁盘』;
  • iSCSI initiator:就是能够使用 target 的客户端,通常是服务器。 也就是说,想要连接到 iSCSI target 的服务器,也必须要安装 iSCSI initiator 的相关功能后才能够使用 iSCSI target 提供的磁盘就是了。

服务器端配置

安装软件

1
yum -y install targetcli

新建块存储

1
2
fdisk /dev/sdb
新建/dev/sdb1

进入targetcli界面

1
2
3
4
5
6
7
8
9
10
11
12
> /backstores/block create disk01 /dev/sdb1 #建立块存储disk01
> /iscsi create iqn.2018-14.com.iecas.store01:target01 #建立target对象 FQDN域名反写
> /iscsi/iqn.2018-14.com.iecas.store01:target01/tpg1/acls create iqn.2018-14.com.iecas.worker01:initiator01 #建立ACL允许该主机访问
> /iscsi/iqn.2018-14.com.iecas.store01:target01/tpg1/luns create /backstores/block/disk01 ## #创建LUN并且和存储设备相关联
> /iscsi/iqn.2018-14.com.iecas.store01:target01/portals delete 0.0.0.0 3260
> /iscsi/iqn.2018-14.com.iecas.store01:target01/portals create 192.168.136.139:3260 #配置target监听IP和端口(默认监听0.0.0.0:3260)

(可选)设置用户名和密码
> /iscsi/iqn.2018-14.com.iecas.store01:target01/tpg1/acls/iqn.2018-14.com.iecas.worker01:initiator01 set userid=test
> /iscsi/iqn.2018-14.com.iecas.store01:target01/tpg1/acls/iqn.2018-14.com.iecas.worker01:initiator01 set password=test

> exit

防火墙设置

1
2
firewall=cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

启动服务

1
2
systemctl start target
systemctl enable target客户端配置

客户端设置

安装

1
yum -y install iscsi-initiator-utils

配置访问主机标识名

1
echo "InitiatorName=iqn.2018-14.com.iecas.worker01:initiator01" > /etc/iscsi/initiatorname.iscsi

编辑配置文件(未设置用户密码则不需要)

1
2
3
4
5
6
7
vim /etc/iscsi/iscsid.conf

node.session.auth.authmethod = CHAP

node.session.auth.username = test

node.session.auth.password = test

启动

1
2
3
systemctl start iscsi

systemctl enable iscsi

客户端操作

发现目标

1
2
3
[root@localhost ~]# iscsiadm -m discovery -t sendtargets -p 192.168.136.139:3260

192.168.136.139:3260,1 iqn.2018-14.com.iecas.store01:tartget01

登陆节点

1
2
3
4
5
6

[root@localhost ~]# iscsiadm -m node –T iqn.2018-14.com.iecas.store01:tartget01 -p 192.168.136.139:3260 -l

Logging in to [iface: default, target: iqn.2018-14.com.iecas.store01:tartget01, portal: 192.168.136.139,3260] (multiple)

Login to [iface: default, target: iqn.2018-14.com.iecas.store01:tartget01, portal: 192.168.136.139,3260] successful.

系统启动时自动登陆

1
iscsiadm -m node –T iqn.2018-14.com.iecas.store01:tartget01 -p 192.168.136.139:3260 --op update -n node.startup -v automatic

查看磁盘信息

1
2
3
4
5
6
7
8
9
10
11

[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 200M 0 part /boot
└─sda3 8:3 0 19.8G 0 part
├─centos-root 253:0 0 15.8G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sr0 11:0 1 4G 0 rom

登出节点

1
2
3
[root@localhost ~]# iscsiadm -m node –T iqn.2018-14.com.iecas.store01:tartget01 -p 192.168.136.139:3260 -u
Logging out of session [sid: 6, target: iqn.2018-14.com.iecas.store01:tartget01, portal: 192.168.136.139,3260]
Logout of [sid: 6, target: iqn.2018-14.com.iecas.store01:tartget01, portal: 192.168.136.139,3260] successful.

刷新节点

1
iscsiadm -m session –R

注销所有节点

1
iscsiadm -m node --logoutall=all

其它

  1. 如果存储上的Target下新挂载了一个SAN资源,如何在服务器上连接并识别?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    如果一个Target下新增了一个SAN资源,在服务器可以使用iscsiadm –m session –R命令刷新(rescan)已连接的iSCSI session以识别新的SAN资源
    [root@pe03 /]# iscsiadm -m session –R
    可以使用cat /proc/scsi/scsi或者fdisk -l来查看连接过来的卷,例如下面的scsi7 Channel: 00 Id: 00 Lun: 01即为新连接的SAN卷:
    [root@pe03 /]# cat /proc/scsi/scsi
    …………………………………
    Host: scsi7 Channel: 00 Id: 00 Lun: 00
    Vendor: H3C Model: H3C ISCSI DISK Rev: v1.0
    Type: Direct-Access ANSI SCSI revision: 04
    Host: scsi7 Channel: 00 Id: 00 Lun: 01
    Vendor: H3C Model: H3C ISCSI DISK Rev: v1.0
    Type: Direct-Access ANSI SCSI revision: 04
  2. 如何注销到target的连接?

    1
    2
    3
    4
    5
    如果要注销到某一个特定的Target的连接,可以使用下列的命令:
    [root@pe03 /]# iscsiadm -m node -T iqn.2007-04.acme.com:h3c:200realm.rhel5 -p 200.200.10.200:3260 –u
    其中,iqn.2007-04.acme.com:h3c:200realm.rhel5是Target的名称,200.200.10.200是Target服务器的IP,实际使用时请根据实际情况修改。
    如果要注销到所有targets的连接,可以使用下列命令:
    [root@pe03 /]# iscsiadm -m node --logoutall=all
  3. 如何重启iscsi服务?

    1
    停止对iSCSI磁盘的读写,卸载该磁盘上的文件系统,如果使用了LVM,则还需要去激活使用到该磁盘的VG,之后使用service iscsi restart重启iscsi服务
  4. 如何停止iscsi服务?

    1
    停止对iSCSI磁盘的读写,卸载该磁盘上的文件系统,如果使用了LVM,则还需要去激活使用到该磁盘的VG,之后使用service iscsi stop停止iscsi服务
  5. 如何针对不同的target设置不同的CHAP认证?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    如果有多个目标服务器启用了CHAP认证,并且它们的用户名和密码不一样,此时需要手动更改node文件。
    通过iscsiadm -m node -t sendtargets命令发现Target以后,在/var/lib/iscsi/nodes目录下会生成一个或多个以目的服务器上的Target名命名的文件夹,文件夹中有一个文件。此文件中是initiator登录target要使用到的配置参数,可以通过更改此参数文件来配置登录到每个Target的CHAP认证信息。
    可直接编辑该文件,在该文件中添加(或修改)此Target的CHAP认证用户名和密码:

    node.session.auth.authmethod = CHAP
    node.session.auth.username = xxxxxx ――CHAP认证用户名
    node.session.auth.password = xxxxxx ――CHAP认证密码(至少12个字符)
    修改完成后重新登录Target即可
    也可以使用iscsiadm命令对登录某个target的CHAP认证参数进行修改

    [root@pe03 /]#iscsiadm -m node -T iqn.2000-03.com.h3c:.h3c-1.pe05-61 -p 200.200.10.101:3260 -o update --name=node.session.auth.authmethod --value=CHAP
    [root@pe03 /]#iscsiadm -m node -T iqn.2000-03.com.h3c:.h3c-1.pe05-61 -p 200.200.10.101:3260 -o update --name= node.session.auth.username --value=xxxxxxx
    [root@pe03 /]#iscsiadm -m node -T iqn.2000-03.com.h3c:.h3c-1.pe05-61 -p 200.200.10.101:3260 -o update --name= node.session.auth.password --value=xxxxxxx

    需要注意的是,发现Target的命令(iscsiadm -m node -t sendtargets)会自动按照/etc/iscsi/iscsi.conf文件中的参数配置刷新/var/lib/iscsi/nodes下initiator登录target要使用的参数文件,所以如果通过修改/var/lib/iscsi/nodes下的文件设置好CHAP认证后又对该存储服务器执行了发现target的操作,则需要再次修改该文件。
  6. 如何从操作系统中删除一个target的信息?

    1
    2
    [root@pe03 /]# iscsiadm -m node -o delete -T iqn.2005-03.com.max -p 192.168.0.4:3260
    其中iqn.2005-03.com.max代表target的名称,192.168.0.4代表target的IP地址
  7. 如何查看就有哪些target记录在了Open-iSCSI数据库中?

    1
    使用iscsiadm -m node命令
--------------------本文结束,感谢您的阅读--------------------

本文标题:CentOS7.2-iSCSI安装配置

文章作者:弓昭

发布时间:2018年12月21日 - 20:56

最后更新:2020年04月08日 - 22:20

原始链接:https://gongzhao1.gitee.io/CentOS7.2-iSCSI安装配置/

联系邮箱:gongzhao1@foxmail.com