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

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

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

Distributed 就是没有RAID,所有磁盘按并列使用。
Replicated 类似与RAID1,完全镜像。
Striped 类似于RAID0,分散两份,同时操作。
截取几张图片,看看先:
GlusterFSvsCeph-2

GlusterFSvsCeph-1
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

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 69 queries in 1.916 seconds