GlusterFS中的volume挂载

 
GlusterFS提供了最大的灵活性:你可以自由地用各种现在存在的协议输出存储卷,它支持GlusterFS自己的客户端,CIFS,NFS和WebDAV协议

参考资料: http://hi.baidu.com/wongxuelei/blog/item/cd32e62e6bc16c434ec22696.html
 
官网有基于glusterfs,nfs,CIFS的volume挂载例子,前面在GlusterFS集群环境搭建文章中,也用glusterfs和cifs挂载过volume,在搭建win nfs客户端文章中,用nfs挂载过volume,有兴趣的可以看前面的文章,下面主要看一下,如何用WebDav来挂载volume
1,安装apache服务器
sudo apt-get install apache2
 2.打开DAV模块库

sudo a2enmod dav_fs

sudo a2enmod dav

sudo a2enmod dav_lock

3.创建WebDav虚拟目录

mkdir /var/www/sync

4.创建用户名和密码

sudo htpasswd -c /var/www/pwd.dav test      #其中test是用户名

5.修改配置文件

sudo cp  /etc/apache2/sites-available/default /etc/apache2/sites-available/default-backup    #备份原始配置文件

sudo gedit /etc/apache2/sites-available/default

Alias /shared /var/www/sync               #为刚创建的共享目录取个别名

<Location /shared>
DAV On                                    #启动DAV
AuthType Basic
AuthName "testdav"                        #提供对外的服务名
AuthUserFile /var/www/pwd.dav             #密码文件存放的路径
Require valid-user                        #指明要求校验用户
</Location>

#只有指明了要求校验用户,密码文件才用得到


 

关于WebDav在ubuntu下的搭建,大家可以参考以下几篇文章,都写的很详细
参考资料:

我在配WebDav环境过程中,主要遇到以下几个问题,当时折腾的够呛,现写出来以作记录
 
一.通过浏览器地址栏中输入 http://192.168.30.6/shared来访问,其中shared是在/etc/apache2/sites-available/default或/etc/apache2/sites-enabled/000-default中Location的名字,刚开始一直以为是webdav(该目录位于/var/www/webdav),一直输入 http://192.168.30.6/webdav,所以一直访问不到,通过浏览器访问这个地址后,弹出用户名和密码,输入正确后就可以看到共享目录下的文件了,但这个只能用于访问,不能增删改,/etc/apache2/sites-enabled/000-default是/etc/apache2/sites-available/default的一个快捷连接,改其中任意一个都可以的

 
二.看网上有人说可以通过net use m:  http://192.168.30.6/shared来建立映射,不管是通过dos下的命令来连,还是直接通过映射网络驱动器来连,我试了一下都连不上
参考资料:
试了半天,也没连上,老是报"网络错误 67"
 
三.XP可以通过网上邻居来访问,可以做复制,粘贴,删除操作,但不能在线修改,需要把修改的文件从网上邻居中复制出来,修改后,再粘贴到这个位置,覆盖原有的文件
参考资料:
 
四.看网上有几篇文章中都写到,ubuntu可以通过装cadaver来访问WebDav,可我装了之后,sudo apt-get install cadaver,
cadaver http://localhost/webdav/ ,一直报405的错,详见如下:
Could not access /webdav/ (not WebDAV-enabled?):
405 Method Not Allowed
Connection to 'localhost' closed.
在网上查了些相关资料,都没能解决,后面在XP上通过网上邻居成功连接上webdav后,我才弄清楚,是因为地址不对的原因,正确的应该是cadaver  http://localhost/shared/,是因为在配置文件中设置的Loctioan用的这个名字,这样就连接上了,进入dav的终端了,可以输入help查看相关命令,有get,put,edit,move等命令

如果是桌面版ubuntu,可以通过Places->Connect to Server...->Service Type选择WebDav(Http)后,输入url,和/shared,这个对应为整合配置的<Location /shared>,输入用户名test,最后Connect,输入密码,连接成功,在这个上面,增删改查都支持
 
五.这个问题,我还没搞清楚,就是共享目录文件的权限问题,我在服务机上,chown -R test:test /var/www/webdav,当在客户端中往共享目录新建文件后,无论是通过XP的网上邻居新建的,还是通过ubuntu客户端新建的文件,到服务端去查看文件ls -l,可以看到用户为www-data:www-data,可是本机是没有这个用户的,我在搭webdav环境时,就发现有这个问题,在用sudo chown www-data:www-data /var/www/webdav时,ubuntu server上没提示,但在ubuntu桌面版时报了错,提示说没有www-data这个用户
 

大概看了一下,通过webdav挂载volume,首先要知道如何通过apache来访问volume:
1.直接在服务端将volume挂载到一个物理目录,然后将这个目录设成apache webdav的目录,然后windows通过网上邻居来建立一个http的webdav访问就行了,这一种方式和用samba方式类似,先将volume mount到一个物理目录,然后设置samba,将这个挂载目录export出去,这样windows就可以通过CIFS协议即网上邻居来访问

2.通过配置文件,将volume挂到一个虚拟的挂载点上,然后将此文件加到apache启动的环境变量中去

个人认为webdav的方式和用CIFS协议差不多,需要在GlusterFS服务端把volume挂载到一个物理目录,然后将这个目录放到apache中,才能实现它的通用跨平台性,如果是用glusterfs自带的协议或用nfs协议,是不用在服务端挂载的,但无法在windows上挂载,就算是在windows安装了win nfs客户端,只能挂载nfs服务端的共享目录,无法挂载volume,无法做到跨平台性

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值