龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

linux搭建gfs系统 iscsi+GFS 实现网络存储(2)

时间:2014-06-04 02:19来源:网络整理 作者:网络 点击:
分享到:
iSCSI(Internet SCSI)是2003年IETF(InternetEngineering Task Force,互联网工程任务组)制订的一项标准,这种指令集合可以 实现 在IP网络上运行SCSI协议,使其能够在诸如

iSCSI(Internet SCSI)是2003年IETF(InternetEngineering Task Force,互联网工程任务组)制订的一项标准,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。 SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI 数据块的方法,iSCSI使用以太网协议传送SCSI命令、响应和数据。iSCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过 这种方法,iSCSI克服了直接连接存储的局限性,使我们可以跨不同服务器共享存储资源,并可以在不停机状态下扩充存储容量。

iSCSI的工作过程:当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI Initiator层被封装成iSCSI消息包并通过TCP/IP传送到设备侧,设备侧的iSCSI Target层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧iSCSI Target层时被封装成iSCSI响应PDU,通过TCP/IP网络传送给主机的iSCSI Initiator层,iSCS Initiator会从iSCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。要实现iSCSI读写,除了使用特定硬设 备外,也可透过软件方式,将服务器仿真为iSCSI的发起端(Initiator目标端(target,利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接。

本文均已软件方式在Centos5.5虚拟机上实现gfs功能!

一、在192.168.1.240上安装iscsitarget端:

[root@iscsi-storage ~]#yum install scsi-target-utils (注意:scsi前面没有字母i)

(使用centos默认的yum源,将会安装软件scsi-target-utils-0.0-6.20091205snap.el5_5.3)

[root@iscsi-storage ~]#yum install libibverbs-devel libibverbs librdmacm librdmacm-devel

如果没有安装以上软件,则/var/log/messages里将会有以下报错:

iscsi-storage tgtd: libibverbs.so: cannot open shared object file: No such file or

directory – iser transport not used

iscsi-storage tgtd:librdmacm.so: cannot open shared object file: No such file or directory – iser

transport not used

磁盘sda装着系统,磁盘sdb用来存储,对其进行分区。

[root@iscsi-storage ~]# fdisk /dev/sdb

本人分成/dev/sdb1 3G , /dev/sdb2 7G.

分区完成后不用格式化分区,执行命令partprobe让系统重新读取分区表,而不用重启系统。

[root@iscsi-storage ~]# partprobe

scsi-targe-utils装完后的服务名为tgtd,启动它,并设置为开机启动。

[root@iscsi-storage ~]# service tgtd start

Starting SCSI target daemon: Starting target framework daemon

[root@iscsi-storage ~]# chkconfig tgtd on

接下来建立target device. 在centos5中使用tgtadm指令来设置而不是4当中的 vi /etc/ietd.conf.

tgtadm命令的参数有点难记,但是scsi-target-utils套件中包含了利用tgtadm指令建立target device的步骤,我们可以参照文件来设置:/usr/share/doc/scsi-target-utils-0.0/README.iscsi

本人欲新增iqn名为iqn.2011-01.com.chinaitv:rhcs-storage的target device.

=====================================================================================

iqn (iSCSI Qualified Name)格式通常如下:

格式

意义

范例

yyyy-mm

年份-月份

2011-01

reversed domain name

把域名名称反过来写,通常把公司的域名反过来写

com.chinaitv

identifier

识别字,通常注明这个存储空间的用途

rhcs-storage

=====================================================================================

新增target device命令如下:

# tgtadm --lld iscsi --op new  --mode target  --tid 1 -T iqn.2011-01.com.chinaitv:rhcs-storage

执行后,利用如下命令来查看target device:

#tgtadm --lld iscsi --op show --mode target

将起初新建的分区加入target device。

# tgtadm  --lld iscsi --op new  --mode logicalunit  --tid 1 -lun 1 -b /dev/sdb1

查看加入target device后的输出内容:

# tgtadm --lld iscsi --op show --mode target

设置可以访问存取此target device的initiator节点。本机允许gfs1 gfs2 gfs3存取,设置如下:

#tgtadm  --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.231
#tgtadm  --lld iscsi  --op bind  --mode target  --tid 1 -I 192.168.1.232

#tgtadm  --lld iscsi  --op bind  --mode target  --tid 1 -I 192.168.1.233 (I为大写的i)

(如果允许所有的initiators存取的话,可以将ip换成ALL,如下:

#tgtadm --lld iscsi --op bind --mode target  --tid 1 -I ALL

如果需要移除则需将bind换成unbind即可,例如

#tgtadm  --lld iscsi --op unbind --mode target --tid 1 -I 192.168.1.233)

本次操作只使用sdb1来试验存储,因此只加入sdb1,如果需将多个分区用来存储的话可以如下操作:

tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2011-01.com.chinaitv:rhcs-storage

tgtadm --lld iscsi --op new --mode target --tid 2 -T iqn.2011-01.com.chinaitv:rhcs-storage2

tgtadm --lld iscsi --op new --mode logicalunit  --tid 1 -lun 1 -b /dev/sdb1

tgtadm --lld iscsi --op new --mode logicalunit --tid 2 -lun 1 -b /dev/sdb2

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ip

tgtadm --lld iscsi --op bind --mode target --tid 2 -I ip

精彩图集

赞助商链接