ISCSI网络磁盘共享详解

一:网络存储技术
传统的 SCSI 小型计算机系统接口(Small Computer System Interface)技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 SCSI 总线链接,因此受到了物理环境的限制。

ISCSI 小型计算机系统接口(即 Internet Small Computer System Interface)是由 IBM 公司研究开发用于实现在IP 网络上运行 SCSI 协议的新存储技术,即能够让 SCSI 接口与以太网技术相结合,使用 iSCSI 协议基于以太网传送SCSI 命令与数据,克服了 SCSI 需要直接连接存储设备的局限性,使得我们可以跨越不同的服务器共享存储设备,并可以做到不停机状态下扩展存储容量。

二: iSCSI 存储部署要点
iSCSI 的工作方式分为服务端(target)与客户端(initiator):
服务端:即存放硬盘或 RAID 设备的存储端,目的是为客户端提供可用的存储。
客户端:使用服务端的服务器主机

逻辑单元 LUN(即 Logical Unit Number)是使用 iSCSI 协议中的重要概念,因为当客户机想要使用服务端存储设备时都必需输入对应的名称(Target ID),而一个服务端可能会同时提供多个可用的存储设备,于是便用 LUN 来详细的描述设备或对象,同时每个 LUN Device 可能代表一个硬盘或 RAID 设备,LUN 的名称由用户指定。

iqn(ISCSI Qualified Name):ISCSI名称规范
— iqn.yyy-mm.倒序域名:自定义标识
例如: iqn.2016-02.com.example:server0
用来识别target磁盘组,也用来识别客户机身份

三: 搭建服务端 主机名为:server0.example.com IP:172.25.0.22
1.设置防火墙默认区域为trusted

[root@server0 ~]# firewall-cmd --set-default-zone=trusted

2.划分新的分区 /dev/vdb 划分第一个主分区 8G,用来作为共享磁盘

[root@server0 ~]# fdisk /dev/vdb
[root@server0 ~]# lsblk
vdb      253:16   0  10G  0 disk 
└─vdb1  253:17   0   8G  0 part 

3.安装软件包:targetcli

[root@server0 ~]# yum -y install targetcli

4.运行targetcli可以进入交互式界面,配置iscsi共享配置

[root@server0 ~]# targetcli

交互式界面设置
4.1 创建后端存储名:nsd

/> backstores/block create name=nsd dev=/dev/vdb1 

4.2 创建iqn对象:iqn.2016-02.com.example:server0 (注意格式,最后这个字段自定义)

/> iscsi/ create iqn.2016-02.com.example:server0

4.3 lun逻辑单元 (将iqn与后端存储绑定)

/> iscsi/iqn.2016-02.com.example:server0/tpg1/luns create /backstores/block/nsd 

4.4 配置访问控制(客户机iqn标识:iqn.2016-02.com.example:desktop0)

/> iscsi/iqn.2016-02.com.example:server0/tpg1/acls create iqn.2016-02.com.example:desktop0

4.5 设置客户端访问本机的IP地址


/> iscsi/iqn.2018-09.com.example:server0/tpg1/portals create 172.25.0.22 
 /> ls
 o- / .......................................................................... [...]
  o- backstores ............................................................... [...]
  | o- block ................................................... [Storage Objects: 1]
  | | o- nsd .............................. [/dev/vdb1 (8.0GiB) write-thru activated]
  | o- fileio .................................................. [Storage Objects: 0]
  | o- pscsi ................................................... [Storage Objects: 0]
  | o- ramdisk ................................................. [Storage Objects: 0]
  o- iscsi ............................................................. [Targets: 1]
  | o- iqn.2018-09.com.example:server0 .................................... [TPGs: 1]
  |   o- tpg1 ................................................ [no-gen-acls, no-auth]
  |     o- acls ........................................................... [ACLs: 1]
  |     | o- iqn.2018-09.com.example:desktop0 ...................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 .................................... [lun0 block/nsd (rw)]
  |     o- luns ........................................................... [LUNs: 1]
  |     | o- lun0 ........................................... [block/nsd (/dev/vdb1)]
  |     o- portals ..................................................... [Portals: 1]
  |       o- 172.25.0.22:3260 .................................................. [OK]
  o- loopback .......................................................... [Targets: 0]
/> exit  交互式配置完成

5.重启服务(服务端搭建完成)

[root@server0 ~]# systemctl restart target
[root@server0 ~]# systemctl enable target

四:配置客户端 主机名为:desktop0.example.com IP:172.25.0.33
1.安装软件包 iscsi-initiator-utils

[root@server0 ~]# yum -y install iscsi-initiator-utils

2.修改配置文件,用来指定客户端声称的名字

[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi 
修改内容
nitiatorName=iqn.2016-02.com.example:desktop0 保存退出

3.重启服务iscsi,以更新iqn标识

[root@desktop0 ~]# systemctl restart iscsid

4.发现服务端共享服务

[root@desktop0 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.22 --discover

5.本机识别服务端共享

[root@desktop0 ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
 vda    253:0    0  10G  0 disk
└─vda1 253:1    0  10G  0 part / 
 vdb    253:16   0  10G  0 disk
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# lsblk
 NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
 sda      8:0    0   8G  0 disk 
 vda    253:0    0  10G  0 disk 
└─vda1 253:1    0  10G  0 part /
 vdb    253:16   0  10G  0 disk 

测试完成~

猜你喜欢

转载自blog.csdn.net/weixin_42104231/article/details/82718114