一、GlusterFS 安装
本博文讲简要介绍GlusterFS在CentOS 7 中的部署和应用。由于GlusterFS需要使用网络,因此还必须事先根据环境设置防火墙规则,关闭SELinux。
因为GlusterFS至少需要两台服务器搭建,所以我们这里使用两台服务器作为示例,服务器配置最好相同,每个服务器两块磁盘,一块是用于安装系统,一块是用于GlusterFS。
服务器 | IP | 主机名 | 系统 |
server1 | 192.168.2.206 | server1.wzlinux.com | CentOS 7.2 |
server2 | 192.168.2.207 | server2.wzlinux.com | CentOS 7.2 |
1、环境设置
由于GlusterFS并没有服务器与元数据等概念,因此所有服务器的设置都相同。首先要做主机名的设置,这里以一台服务器作为演示,另外一台服务器做同样的操作。
# vim /etc/hostname server1.wzlinux.com # vim /etc/hosts 192.168.2.206 server1.wzlinux.com server1 192.168.2.207 server2.wzlinux.com server2
2、时钟同步
另一个问题是集群内部的时间非常重要,如果服务器间的时间有误差,可能会给集群间的通信带来麻烦,进而导致集群失效。我们这里采用网络同步时钟的方法。
ntpdate time.nist.gov
3、安装GlusterFS仓库
在CentOS的wiki上面有安装的详细过程,我们这里直接使用CentOS 7的yum安装仓库。
yum install centos-release-gluster -y
4、格式化和挂载bricks
把我们的另外一块磁盘sdb格式化然后挂载,我这里配置的是20GB容量的磁盘。
mkfs.xfs -i size=512 /dev/sdb mkdir -p /bricks/brick1
在/etc/fstab 中添加如下。
/dev/sdb /bricks/brick1 xfs defaults 1 2
然后进行挂载。
mount -a
5、安装GlusterFS
yum --enablerepo=centos-gluster*-test install glusterfs-server
添加开机启动和启动服务。
systemctl enable glusterd systemctl start glusterd
二、配置服务和集群
安装完成GlusterFS之后,还不能立即使用,还需要对服务器进行配置,在配置之前最好使用命令ping一下各服务器的主机名,确保主机名与IP都已经配置正确。
1、配置trusted pool
server1:
gluster peer probe server2
server2:
gluster peer probe server1
对于某一台服务器,本机已经自动添加好,只需要添加其他的server即可。
查看集群状态。
# gluster peer status Number of Peers: 1 Hostname: server2 Uuid: 17c14f29-a379-45a1-b8b3-5e4c97baa643 State: Peer in Cluster (Connected)
2、配置GlusterFS卷
请同时在server1和server2上面进行如下操作。
mkdir /bricks/brick1/gv0
在任何一台服务器操作如下指令即可,关于卷的创建模式,可以参照我的上篇博文,我们这里创建一个复制卷,类似于RAID1。
gluster volume create gv0 replica 2 server1:/bricks/brick1/gv0 server2:/bricks/brick1/gv0 gluster volume start gv0
确保已经启动起来,在任何一台机器查看即可。
# gluster volume info Volume Name: gv0 Type: Replicate Volume ID: 794d313e-11cc-4b72-8190-619a7583d2ff Status: Started Snapshot Count: 0 Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: server1:/bricks/brick1/gv0 Brick2: server2:/bricks/brick1/gv0 Options Reconfigured: transport.address-family: inet nfs.disable: on
3、挂载卷
设置到这一步,我们需要找一台机器来挂载测试创建的卷,正常情况下我们应该使用第三台机器来进行挂载,因为还需要配置系统并且按照额外的软件包,我们这里就拿其中一台server作为简单测试。
server1:
mount -t glusterfs server1:/gv0 /mnt cp /var/log/messages /mnt/
为了确认一切正常,我们在另外一台机器上面查看复制的文件。
server2:
# ll /bricks/brick1/gv0/ -rw-------. 2 root root 304233 Jul 21 12:43 messages
目前我们看到数据已经在server2上面了,这就是我们的快速搭建过程,非常简单,后面更加详细的管理操作,请查看我的系列博文。
参考文档:https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart