客户端通过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

相关文章推荐

glusterfs的一些基本知识

http://my.oschina.net/hncscwc/blog/210072 1. 基本概念 (1) brick:The brick is the storage filesystem...

关于gluster数据不同步的处理

我们组的云平台后端使用分布式文件系统 采用的就是gluster,要说这个分布式文件系统确实比较智能...

GlusterFS分布式文件系统使用简介

0 术语简介 GlusterFS是一个开源的分布式文件系统。更多特性介绍附录的参考文档。 Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和...
  • zzulp
  • zzulp
  • 2014年09月24日 20:05
  • 45445

glusterfs客户端创建过程

glusterfs客户端的入口在glusterfsd.c中的main函数,由命令mount. glusterfs (里面调用glusterfs命令)创建。 下面是客户端的创建过程: 1. 做一些初...

iSCSI 2-环境搭建<一>

实验环境 操作系统:CentOS release 6.5 (Final) iSCSI Target:10.0.0.11  (#yum install scsi-target-utils) iSCSI ...

GlusterFS:分布式(Distribute )源码分析

1.概述 在glusterfs中,文件的定位采用弹性hash算法进行定位。集群中的任何服务器和 客户端只需根据路径和文件名就可以对数据进行定位和读写访问。换句话说,GlusterFS不需要将元数据...

GlusteFS:自我修复(Selfheal)源码分析

1.概述 Glusterfs自我修复是基于事件触发模式,修复的项主要包括文件内容(data),元数据(metadata),项(entry)等。修复分为2种类型,文件内容的整个修复(full),和差异...

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

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

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

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

配置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
  • 4814
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:客户端通过iscsi使用glusterfs
举报原因:
原因补充:

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