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 启动器软件需要安装在每个 Oracle RAC 节点(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.2017-04.com.comsys: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-address 192.168.1.10
[root@rac1 ~]# #
tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address
192.168.2.10
再添加一个 IP 段的访问权限:
[root@rac1 ~] #
tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address
192.168.3.0/24
添加所有 IP 的访问权限:
[root@rac1 ~] #
tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address ALL
注意:访问控制是 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,下面我们来设置该文件。
在该文件最后新增以下设置:
<target
iqn.2011-10.com.example.cluster1:iscsi>
backing-store /dev/sdb1
#指定要发布的设备已划分的分区
initiator-address ALL #对于客户端的访问控制,允许所有用户访问
</target>
说明:
iqn(iSCSI Qualified Name)名称规则如下:
格式是:“iqn”+“年月”+“.”+“域名的颠倒”+“:”+“设备的具体名称”,之所以颠倒域名是为了避免可能的冲突。
举例: iqn.2008-07.com.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 设定完毕。
Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)的更多相关文章
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储
转至:https://www.linuxidc.com/Linux/2016-09/135655.htm Linux下搭建iSCSI共享存储 拓扑: 实验步骤: ------------------- ...
- Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- linux下mysql-5.5.15安装详细步骤
linux下mysql-5.5.15安装详细步骤 注:该文档中用到的目录路径以及一些实际的值都是作为例子来用,具体的目录路径以各自安装时的环境为准 mysql运行时需要一个启动目录.一个安装目录和一个 ...
- linux下创建与删除用户详细步骤 ***
linux下用户的操作还是相对容易理解的,基本操作如下: 1.新增用户 只有root用户能创建新用户 #useradd user1 新建后将会在/home目录下生成一个与用户名相同的用户主目录.同时会 ...
- Linux下安装mysql-5.7.28详细步骤
一.下载Mysql 下载地址:https://downloads.mysql.com/archives/community/ 二.环境配置 检测系统是否自带Mysql # rmp -qa|grep m ...
- Linux下搭建企业共享目录方案之------samba
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...
随机推荐
- POJ 3155 Hard Life
Hard Life Time Limit: 8000ms Memory Limit: 65536KB This problem will be judged on PKU. Original ID: ...
- ESRI.ArcGIS.Controls.AxMapControl
今天在写DLL时发现,直接引用ESRI.ArcGIS.Controls,发现AxMapControl的参数仍然不好用,后来发现,需要引用ESRI.ArcGIS.AxControls这个DLL.而且还需 ...
- 每一个程序猿都应该用MBP
换笔记本的想法非常久了.前段时间换工作就想看换工作之后是什么情况吧. 可能工作配的笔记本就是MBP.后来发现是想多了,新工作的笔记本是Thinkpad X240. 配置全然够用了,8G内存+128G的 ...
- IPA打包图片错误问题
CopyPNGFile /Users/gongihou/Library/Developer/Xcode/DerivedData/KTVgo-frborfduejxrajgpkfdaipygijow/B ...
- 一个使用sbt编译的JNI C++ 的模板
假设你须要在Scala或是Java中调用C或C++函数库,就须要使用JNI. 这里就涉及到编译scala ,java 和C(C++)代码,在这里给出一个程序的框架,我们使用sbt 缺省的代码文件夹 文 ...
- java学习记录笔记--继承,super,Object类
继承: Java中的继承是单继承的. 1.子类拥有父类的全部属性和方法. 可是属性和方法的修饰符不能使private. 2.能够复用父类的代码. 方法的重写须要满足的条件: a.返回值类型 b.方法名 ...
- List exercise
The slice operator can take a third argument that determines the step size, so t[::2] creates a list ...
- POJ 3225 线段树+lazy标记
lazy写崩了--. 查了好久 /* U-> [l,r]–>1 I-> [1,l-1] [r+1,+无穷] –>0 D-> [l,r]–>0 C-> [1,l ...
- SharePoint 修改完或制作完一定要发布
设置了匿名访问但是网站就是需要登录,找了很多问题. 首先想到的映射问题,然后努力检查,最后把代码删掉,然后把站删掉,最后测试出来问题. 点击上方[网站设置] 把修改过的文件发布. 母版也和布局页 一定 ...
- mysql读写分离的解决方案
来源于网上整理 http://yanwt.iteye.com/blog/1460780 现有三种解决方式实现mysql读写分离 1 程序修改mysql操作类 优点:直接和数据库通信,简单快捷的读写分离 ...