主页 > 其他 | 服务器技术 > 使用GlusterFS做为Drupal文件存储的云服务

使用GlusterFS做为Drupal文件存储的云服务

PDF版本

本文为笔者安装GlusterFS的操作记录,用以备忘以及共享给大家,比较简单。文中使用的软件版本为Gluster3.3。
(注:Gluster在企业级drupal架构中的使用,请参考漫谈企业级Drupal架构应用与部署

Gluster软件本身就不再介绍,就使用而言,Gluster的架构类似RAID,每一个brick(块)相当于一个硬盘,多个brick可以拼在一起,(这些brick和RAID硬盘不同的是,他们需要位于一个服务器上,基于TCP、RDMA之类的协议访问)。

所以Gluster的配置模式有以下几种:

      Distributed 就是没有RAID,所有磁盘按并列使用。
      Replicated 类似与RAID1,完全镜像。
      Striped 类似于RAID0,分散两份,同时操作。

截取几张图片,看看先:


 

Gluster的操作有点类似LVM,但是不尽相同。Gluster安装之后会有很多服务,在3.3版本中,我们使用基本就2个,一个是service软件,glusterd,一个是命令行接口,gluster(这是一个包含很多子命令的命令集,类似SVN)。

安装Gluster 3.3

1. 检查源是否最新,不是3.3版本,请用如下命令更新源(CentOS)。

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

2. 安装

 yum install glusterfs{-fuse,-server,-geo-replication}

3. 使用

/etc/init.d/glusterd start

这样就启用了gluster服务,下面我们来建立gluster使用的卷。

建立共享卷

1. 首先,在每个服务上建立用于share的目录。比如 /opt/files 或者 /var/data/files
2. 进入gluster命令行(服务器群的任何一个)

peer prob [other-ip] #添加服务器,剔除则用peer detach [ip]
 
#添加一个replicated的卷
volume create test-vol replica 2 [local-ip]:/var/data/brick1 [other-ip]:/var/data/brick1
#启动 test-vol卷
volume start test-vol

注意:
1. 不要prob本机,
2. [local-ip] 不要使用127.0.0.1,因为所有的服务器都是peer关系,对等的,这些操作再其他机器也会相应的执行,也是就是说这个 test-vol会在所有的节点服务器。

使用gluster存储服务

如果本机在节点群里面,那就使用本机的服务,如 127.0.0.1:/test-vol,如果本机不在集群节点里面,就得使用任何一个节点服务器的服务。

 mkdir mydir
 mount -t glusterfs 127.0.0.1:/test-vol  mydir #mount test-vol卷

节点故障处理
如果一台节点服务器down机,这个时候,我们要恢复故障,替换volume中坏掉的brick为新的brick,参考如下操作:

 #prob server
 gluster peer probe [new-server]
 #replace old to new brick
 gluster volume replace-brick vol-name [old-server]:/[old-brick]  [new-server]:/[new-brick]  start
 #检查同步的状态
 gluster volume replace-brick vol-name [old-server]:/[old-brick]  [new-server]:/[new-brick]  status
 #等待同步完成之后 提交
 gluster volume replace-brick vol-name [old-server]:/[old-brick]  [new-server]:/[new-brick]  commit force

只需在一台节点上操作,所有的服务器上该卷的brick都换成新的brick了。

至此gluster的基本安装和使用以及故障处理就全部完成了。

后记:1台服务器怎么办?

如果只有一台服务器做为Gluster存储节点,那么只能创建一个distributed卷,(笔者试着创建一个基于本机的2个brick的replicated卷,没有成功),请参考如下操作:

gluster volume create testvol server1.example.com:/data
gluster volume start testvol

严重参考:
http://www.gluster.org/wp-content/uploads/2012/05/Gluster_File_System-3.3.0-Administration_Guide-en-US.pdf
http://www.gluster.org

推荐阅读:

GlusterFS replication do’s and don’ts
How to expand GlusterFS replicated clusters by one server

与Drupal的使用请参考Drupal相关文章:
让猪去飞-漫谈Drupal性能优化经验贴


声明: 本站所有文章欢迎转载,所有文章未说明,均属于原创,转载均请注明出处。
本文有效链接: http://www.drupal001.com/2013/01/use-gluster-filesystem-with-drupal/
版权所有: Drupal与高性能网站架构 http://www.drupal001.com


, , ,

评论:1

发表评论
  1. avatar
    回复 hellodrupal
    13/02/21

    注意要先安装 fuse:

    yum -y install fuse fuse-libs libibverbs

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注


二 × 4 =

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

引用:0

下面所列的是引用到本博客的链接
使用GlusterFS做为Drupal文件存储的云服务 来自 Drupal与高性能网站架构
顶部