700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux设置ipsan_Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)

linux设置ipsan_Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)

时间:2020-09-03 22:39:40

相关推荐

linux设置ipsan_Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)

一、简介

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

iSCSI是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI总线连接。

iSCSI的主要功能是在TCP/IP网络上的主机系统(启动器initiator)和存储设备(目标器target)之间进行大量数据的封装和可靠传输过程。

完整的iSCSI系统的拓扑结构如下:

从本质上说,iSCSI启动器是一个客户端设备,它连接到服务器(在本例中是iSCSI目标)提供的某一服务,并发起对该服务的请求。iSCSI启动器软件需要安装在每个OracleRAC节点(rac1和rac2)上。 iSCSI启动器可以用软件实现,也可以用硬件实现。软件iSCSI启动器可用于大部分主要操作系统平台。对于本文,我们将使用iscsi-initiator-utils RPM中提供的免费Linux Open-iSCSI软件驱动程序。iSCSI软件启动器通常与标准网络接口卡(NIC)(大多数情况下是千兆位以太网卡)配合使用。硬件启动器是一个iSCSI HBA(或TCP卸载引擎(TOE)卡),它本质上只是一个专用以太网卡,其上的SCSI ASIC可以从系统CPU内卸载所有工作(TCP和SCSI命令)。iSCSI HBA可以从许多供应商处购买,包括Adaptec、Alacritech、Intel和QLogic。

iSCSI目标是iSCSI网络的"服务器"组件。它通常是一个存储设备,包含您所需的信息并响应来自(一个或多个)启动器的请求。对于本文,节点rac1将是iSCSI目标。

二、实验环境:

1、操作系统关闭防火墙或打开防火墙上的3260端口和禁用SELinux

2、iSCSI共享存储拓扑图:

3、iSCSI可分享的设备类型有很多,包括镜像文件(*.img)、分区(partition)、物理硬盘、raid设备、逻辑卷等,下面我只用物理磁盘分区来进行相关测试,其他类型大家可以自己测试。

三、实验步骤

(一)配置iscsi target:

方案1:命令行配置,立即有效,重启无效

1、在target上添加一块磁盘分区:sdb1

2、安装程序包、启动服务

[root@rac1 ~]#yum install -y scsi-target-utils

[root@rac1 ~]#service tgtd start

3、创建target

[root@rac1 ~]#tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.-sys:iscsi.fcdisk

4、创建lun

[root@rac1 ~]#tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb1

[root@rac1 ~]#tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1#删除lun的方法

5、授权

为 Target 分配了 LUN 后,需要配置访问控制才可以使用。可以设置所有用户都能访问,也可以设置基于IP/IP段或用户名验证的访问权限。

添加两个 IP 的访问权限:

[root@rac1 ~]## tgtadm --lld iscsi --mode

target --op bind --tid 1--initiator-address192.168.1.10

[root@rac1 ~]##

tgtadm --lld iscsi --mode target --op bind --tid 1--initiator-address192.168.2.10

再添加一个 IP 段的访问权限:

[root@rac1 ~]#

tgtadm --lld iscsi --mode target --op bind --tid 1--initiator-address192.168.3.0/24

添加所有 IP 的访问权限:

[root@rac1 ~]#

tgtadm --lld iscsi --mode target --op bind --tid 1--initiator-addressALL

注意:访问控制是 Target 的一个特性,只能给 Target 添加访问控制,而对单独的 LUN 则无法添加访问控制。

6、查看已经定义的信息

[root@rac1 ~]#tgtadm

--lld iscsi --mode target --op show

方案2:在配置文件中定义,重启有效

1、安装tgt

[root@rac1 ~]#yum install scsi-target-utils -y

2、配置tgt

tgt的主配置文件为/etc/tgt/targets.conf,下面我们来设置该文件。

在该文件最后新增以下设置:

iqn.-.example.cluster1:iscsi>

backing-store /dev/sdb1

#指定要发布的设备已划分的分区

initiator-address ALL #对于客户端的访问控制,允许所有用户访问

说明:

iqn(iSCSIQualifiedName)名称规则如下:

格式是:“iqn”+“年月”+“.”+“域名的颠倒”+“:”+“设备的具体名称”,之所以颠倒域名是为了避免可能的冲突。

举例:iqn.-.h3c.rd:test

每个在同一个target上的backing-store称为逻辑单元号(Logical Unit Number,LUN),这个实验中有1个LUN。

其他高级设置如, 大家自己进行配置。

incominguser user1 pass12 #允许user1访问密码pass12

write-cache off #关闭写缓存

#direct-store /dev/sdc

#整块磁盘

3、启动iSCSI target

[root@rac1 ~]#/etc/init.d/tgtd

start #启动target服务

[root@rac1 ~]#chkconfig

tgtd on #开机自动启动

4、查看iSCSI target

[root@rac1 ~]#tgtadm

--lld iscsi --mode target --op show

LUN0是控制器,可以看到各个LUN的大小和磁盘路径。

至此,iSCSI Target设定完毕。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。