Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1897134
  • 博文数量: 333
  • 博客积分: 10791
  • 博客等级: 上将
  • 技术积分: 4314
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-08 07:39
文章分类

全部博文(333)

文章存档

2015年(1)

2011年(116)

2010年(187)

2009年(25)

2008年(3)

2007年(1)

分类: 服务器与存储

2010-05-19 14:41:45

目录

·         1 简介

·         2 服务器端协议

o    2.1 验证模块

§  2.1.1 auth.addr

§  2.1.2 auth.login

·         3 客户端协议


 

简介

使用有效的GlusterFS协议,这些模块可以使不同机器之间进行通信,根据功能分为两类:服务器端、客户端

服务器端协议

下面是服务器端的例子,通过这个容器实现各种连接

### Add network serving capability to volumes 'brick1' and 'brick2'.
volume server
  type protocol/server
  option transport-type tcp               # For TCP/IP transport
  subvolumes brick1 brick2
  option auth.addr.brick1.allow 192.168.* # Allow access to "brick1" volume
  option auth.addr.brick2.allow 192.168.* # Allow access to "brick2" volume
end-volume

下面逐条解释选项:

  • transport-type

这个选项声明传输模块使用的格式。可供使用的协议有:

    • tcp

基于TCP/IP socket通信的传输,当使用以下选项的时候,这个选项是可用的:

      • transport.socket.listen-port / transport.listen-port / listen-port

服务器所监听的端口,默认值为6996

      • transport.socket.bind-address / bind-address

服务器绑定并监听的IP地址和端口,默认情况下,服务器监听所有接口(0.0.0.0)。

 

    • unix

基于UNIX域的socket传输,使用以下选项时,该选项是可用的:

      • transport.socket.listen-path / listen-path

UNIX路径,在该路径上建立socket和监听将要连接的服务

 

    • ib-sdp:

这是千兆网卡的套接字直接协议传输端口,与tcp类似

 

    • ib-verbs:

千兆网卡动态传输接口,当使用’ib-verbs’时,以下选项是可用的:

      • transport.ib-verbs.device-name / ib-verbs-device-name

这个是千兆网卡所用的设备,默认设备是ibv_devinfo命令列出的第一个设备。

      • transport.ib-verbs.port

设备上的物理端口号,默认值为1

      • listen-port / transport.remote-port / transport.ib-verbs.remote-port

千兆网卡中的握手协议监听的TCP端口,默认值为6997

 

验证模块

使用逗号作为间隔,声明多个IP地址,可以运行多IP地址或者子网,如下:

option auth.addr.brick1.allow 192.168.1.10,192.168.1.20,192.168.2.*

由于在存储数据时需要一个安全的环境,作为网络文件系统的GlusterFS更需要在客户端连接前进行验证。目前GlusterFS支持的验证模块有两个方式:

  • addr
  • login

auth.addr

这个模块的验证机制基于客户端的IP,选项使用方法如下:

option auth.addr..allow  # seperated by comma ','
option auth.addr..reject  # seperated by comma ','

这个选项仅能在protocol/server容器中使用

    • auth.addr.*.allow

声明为所有IP地址允许链接到该容器。

    • auth.addr.*.reject

声明为所有IP均拒绝连接到该容器

 

auth.login

这个模块提供“用户名/口令”的认证机制。

服务器端的选项:

option auth.login..allow  # seperated by comma
option auth.login..password  
    • auth.login.*.allow

声明为允许进入该容器

    • auth.login.*.password

声明为拒绝进入该容器

auth.login被使用,根据protocol/client中选项提供的用户名和口令信息进行判断:

option username 
option password 

客户端协议

允许连接到GlusterFS提供的服务器端。

### Add client feature and attach to remote subvolume of server1
volume client1
  type protocol/client
  option transport-type tcp              # for TCP/IP transport
  option remote-subvolume brick          # name of the remote volume
end-volume
  • transport-type

这个选项声明链接到服务器端的传输方法,他们可以是tcp, ib-sdp, ib-verbs 或者是unix

  • remote-host

这个选项声明服务器名或服务器端IP地址。

  • remote-port

声明服务器端的端口号,使用的传输协议不同,默认值也不同 (使用tcp协议的 默认值为6996 而是用ib-verbs协议的默认值为6997)

  • username and password

login模式被使用时,这些认证信息才会被使用:

  • remote-subvolume

由于服务器端提供容器,这个选项是选择进入的容器。

  • frame-timeout

等待响应帧的超时时间,默认值为1800秒。

  • ping-timeout
响应ping的超时时间。这个操作的目的是断开不响应的服务器,默认时间是10秒。
阅读(2531) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~