客户端通过iscsi使用glusterfs

转载 2015年11月18日 14:57:18

http://www.tuicool.com/articles/RNnyYb

http://www.cnblogs.com/mchina/p/centos-iscsi-network-storage.html

CentOS 6.3下配置iSCSI网络存储

http://dngood.blog.51cto.com/446195/842658/

iscsi Target (TGT)


最近一直在调研如何将基于glusterfs文件系统创建的文件,利用iscsi协议挂载到局域网内的物理机上,终于有了一点收获,总结一下。首先介绍一下iscsi协议。

1 iscsi

1.1  iscsi 简介

iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换 SCSI 命令,让计算机可以透过高速的局域网集线来把存储局域网(SAN)模拟成为本地的储存装置。

1.2 iscsi用途

使用iSCSI SAN 的目的通常有以下两个:

存储整合  公司希望将不同的存储资源从分散在网络上的服务器移动到统一的位置(常常是数据中心); 这可以让存储的分配变得更为有效。 SAN 环境中的服务器无需任何更改硬件或电缆连接就可以得到新分配的磁盘卷。

灾难恢复  公司希望把存储资源从一个数据中心镜像到另一个远程的数据中心上,后者在出现长时间停电的情况下可以用作热备份。 特别是,iSCSI SAN 使我们只需要用最小的配置更改就可以在 WAN 上面迁移整个磁盘阵列,实质上就是,把存储变成了“可路由的”,就像普通的网络通信一样。

1.3 iscsi协议

如图1所示,iscsi分为target和initiator两部分。它利用TCP/IP技术,将存储设备端通过iscsi target功能,做成可以提供磁盘的服务器端;通过iscsi initiator功能,做成能够挂载使用iscsi target的用户端。

iscsi协议栈

2 glusterfs+iscsi解决方案

iscsi target可以是一个文件,也可以是一块磁盘或者一个分区。如果普通文件可以作为target, gluster volume中创建的文件是不是也可以作为target来被挂载呢?带着这个疑问,我做了如下尝试,如图2所示。

首先部署gluster,创建卷cinder-volume并启动,将该卷 mount到提供target的服务器的某个目录下。利用truncate命令在该卷下创建一个文件,然后以iscsi方式暴露target。最后物理机安装iscsi initiator,登录到target。

iscsi协议挂载glusterfs文件流程图

实验结果证明是可以的,接下来我一步步详细说明。

2.1  gluster

2.1.1 部署gluster

关于gluster部署,网上有很多资料,在此不再赘述。具体可以参考如下连接:

http://blog.csdn.net/dysj4099/article/details/17099161

http://navyaijm.blog.51cto.com/4647068/1258250

2.1.2 创建volumes

假设gluster peer为192.168.64.229 和 192.168.64.239, 在任意一台机器上执行(例子为229)

root@192.168.64.229:~#   gluster volume create cinder-volume replica 2 192.168.64.229:/data/gluster/ 192.168.64.239:/data/gluster/

root@192.168.64.229:~#   gluster volume start cinder-volume

root@192.168.64.229:~#   gluster volume info

2.1.3 mount

假设提供target的服务器ip地址为 192.168.64.219 ,则在改机器上执行以下命令:

root@192.168.64.219:~# mkdir –p /opt/cinder-volume

root@192.168.64.219:~# mount –t glusterfs 192.168.64.229:cinder-volume /opt/cinder-volume

这时,glusterfs上的卷cinder-volume 成功mount到提供target的服务器的/opt/cinder-volume文件夹下

2.1.4 创建文件夹

在提供target 的服务器上(192.168.64.219) 执行以下操作:

root@192.168.64.219:~# cd /opt/cinder-volume

root@192.168.64.219:~# truncate –s 2G iscsi_target

进入该文件夹,利用truncate命令(dd也可以,但是创建大文件会非常慢)创建一个大小为2G的文件“iscsi_target”,作为iscsi的 target。

接下来,用iscsi协议将该文件“iscsi_target”暴露出来,供用户挂载使用。

2.2暴露target

管理Iscsi target的工具有两种: iettgt 。两种方式会同时抢占3260端口,所以大家在使用iscsi时,一定要注意该端口是被谁占用了,因为两种方式所用的配置文件和启动脚本均不同。本文利用tgt进行详细说明。

iet:配置文件(/etc/iet/ietd.conf)启动(/etc/init.d/iscsitarget start)

tgt: 配置文件(/etc/tgt/targets.conf)启动(/etc/init.d/tgtd start)

在提供target 的服务器上(192.168.64.219) 执行以下操作:

root@192.168.64.219:~# apt-get install tgt

root@192.168.64.219:~#  /etc/init.d/tgtd start

root@192.168.64.219:~# vi /etc/tgt/ targets.conf

<target iqn.2010-10.org.openstack:iscsi-target >

    backing-store /opt/cinder-volume/iscsi_target

    incominguser judy 123456

    write-cache off

</target>

root@192.168.64.219:~# tgt-admin –update iqn.2010-10.org.openstack:iscsi-target

新增target需要在/etc/init.d/targets.conf添加相应XML。其中target后接target name(可自己定义),backing-store 表示该target 的实际位置,incominguser 表示用户端登录该target时需要提供的验证信息,write-cache 表示再写入target时是否启用写cache。关于targets.conf文件的配置,/usr/share/doc/tgt/examples/ targets.conf.example.gz 里面有详细的介绍。

添加完target后,一定要执行最后一条命令,否则用户端无法发现该target。

2.3连接target

Target暴露之后,我们要在用户端查看(假设用户端ip地址为192.168.64.209),是否能够发现该target。

在用户端(192.168.64.209 )执行如下操作:

root@192.168.64.209:~# apt-get install open-iscis

root@192.168.64.209:~# iscsiadm –m discovery –t st –p 192.168.64.219

192.168.64.219:3260,1 iqn.2010-10.org.openstack:iscsi-target

root@192.168.64.209:~# iscsiadm –m node –T iqn.2010-10.org.openstack:iscsi-target –p 192.168.64.219:3260–login

 

此时无法登陆,因为该target( iqn.2010-10.org.openstack:iscsi-target 设置了登陆权限,必须要执行如下操作,设置登录的用户名和密码才能登录。

root@192.168.64.209:~# iscsiadm –m node –T iqn.2010-10.org.openstack:iscsi-target –p 192.168.64.219:3260 –o update –name=node.session.auth.authmethod=CHAP

root@192.168.64.209:~# iscsiadm –m node –T iqn.2010-10.org.openstack:iscsi-target –p 192.168.64.219:3260 –o update –name=node.session.auth.username= judy

root@192.168.64.209:~# iscsiadm –m node –T iqn.2010-10.org.openstack:iscsi-target –p 192.168.64.219:3260 –o update –name=node.session.auth.password= 123456

最后执行登录操作即可

root@192.168.64.209:~# iscsiadm –m node –T iqn.2010-10.org.openstack:iscsi-target –p 192.168.64.219:3260–login

Logging in to [iface: default, target: iqn.2010-10.org.openstack:iscsi-target, portal: 192.168.99.54,3260]

Login to [iface: default, target: iqn.2010-10.org.openstack:iscsi-target, portal: 192.168.99.54,3260]: successful

登录成功后,就能查到相应磁盘,可以分区格式化,mount到本地一个目录就可以使用啦!

root@192.168.64.209:~# fdisk –l

root@192.168.64.209:~# mkfs.ext4 /dev/sdb

root@192.168.64.209:~# mkdir –p iscsi_device

root@192.168.64.209:~# mount /dev/sdb iscsi_device

2.4问题

在调研过程中遇到了一些问题,供大家参考

  1. 用户A,B同时登录到target,由于cache的缘故,A所做修改,B不能实时刷新。必须在A上执行sync,将数据写入磁盘;在B上,umount,再mount才能生效
  2. 查阅资料,如果想做成共享target,必须用分布式文件系统,如GFS

Gluster常见故障处理和HOWTO资源

Gluster常见故障处理方法,根据官方Troubleshooting文档汇编而成,供大家解决Gluster问题参考,同时罗列了一些GlusterFS进阶话题HOWTO资源。欢迎各位同学补充,共同研究...
  • liuben
  • liuben
  • 2013年12月25日 18:33
  • 17702

ubuntu 下glusterfs的安装与配置

1、下载fuse :http://sourceforge.net/projects/fuse/files/fuse-2.X/
  • flyfeiying
  • flyfeiying
  • 2014年09月24日 15:48
  • 2239

微软 iSCSI V2.08客户端

  • 2012年02月26日 22:31
  • 2.26MB
  • 下载

51CTO下载-Redhat5.4配置ISCSI客户端

  • 2013年07月04日 10:53
  • 824KB
  • 下载

[基础]RHEL6下iSCSI客户端挂载配置

本文根据鸟哥私房菜进行操作:http://linux.vbird.org/linux_enterprise/xen.php?thisscreen=800x600 一、侦测 [root@...
  • WOBvx
  • WOBvx
  • 2013年07月24日 14:32
  • 1143

Centos6.2安装和配置ISCSI服务和客户端

快速增长的存储容量使得企业需要采用网络存储解决方案。目前网络存储技术采用的连接技术主要有光纤通道和TCP/IP。基于IP的网络存储能解决基于光纤 通道的网络存储中存在的兼容性和传输距离问题,而且能提供...
  • u010889186
  • u010889186
  • 2013年07月05日 13:47
  • 1316

Centos6.2安装和配置ISCSI服务和客户端

http://zhumeng8337797.blog.163.com/blog/static/100768914201282392945409/ 快速增长的存储容量使得企业需要采用网络存储解...
  • larryliuqing
  • larryliuqing
  • 2014年07月16日 16:04
  • 567

centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置详解

一、简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够...
  • reblue520
  • reblue520
  • 2016年04月28日 21:19
  • 6405

iscsi服务端(target)与客户端(initiator)

iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 Server 存储体的空间.相较于传统的 SAN 是以光纤为传输媒体而 iSCSI(Internet SCSI)他是 IP-based 的数...
  • kjtt_kjtt
  • kjtt_kjtt
  • 2014年08月14日 15:41
  • 400

配置ISCSI客户端(LINUX)

1.1 连接ISCSI 操作系统:麒麟linux(2.6.18-1.std) Iscsi包:  iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm(O...
  • xuleilx
  • xuleilx
  • 2012年11月05日 09:04
  • 5070
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:客户端通过iscsi使用glusterfs
举报原因:
原因补充:

(最多只允许输入30个字)