Gluster File System是一款自由软件,主要由ZRESEARCH公司负责开发,是一款分布式存储系统,分布式文件系统就是将固定于某个点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。通过网络进行节点间的通信和数据传输。GlusterFS上手也比较简单,它有几种工作模式,类似于我们常见的Raid组合,适用于大文件的共享存储,对小文件并不是太友好。
优点
缺点
操作系统:Red Hat Enterprise Linux Server release 7.3 (Maipo)
server1(需要一块新磁盘):userspace-rcu、GlusterFS
server2(需要一块新磁盘):userspace-rcu、GlusterFS
安装包百度网盘下载链接: https://pan.baidu.com/s/1F7koyA-PXlTY_miutoVdKw 提取码: pdx7
github安装链接:https://github.com/urcu/userspace-rcu
安装glusterfs需要依赖userspace-rcu!!!
[root@server1 ~]# yum install -y autoconf automake libtool
[root@server1 ~]# wget https://github.com/urcu/userspace-rcu/archive/v0.7.17.tar.gz
[root@server1 ~]# tar xf v0.7.17.tar.gz
[root@server1 ~]# cd userspace-rcu-0.7.17/
[root@server1 userspace-rcu-0.7.17]# ./bootstrap
[root@server1 userspace-rcu-0.7.17]# ./configure
[root@server1 userspace-rcu-0.7.17]# make && make install
[root@server1 userspace-rcu-0.7.17]# ldconfig
[root@server1 ~]# wget https://download.gluster.org/pub/gluster/glusterfs/old-releases/3.6/3.6.9/glusterfs-3.6.9.tar.gz
[root@server1 ~]# yum install -y flex openssl-devel bison libacl-devel sqlite-devel libxml2-devel python-devel
[root@server1 ~]# tar xf glusterfs-3.6.9.tar.gz
[root@server1 ~]# cd glusterfs-3.6.9/
[root@server1 glusterfs-3.6.9]# ./configure --prefix=/usr/local/glusterfs
[root@server1 glusterfs-3.6.9]# make && make install
[root@server1 ~]# echo "export PATH=\$PATH:/usr/local/glusterfs/sbin" >>/etc/profile
[root@server1 ~]# . /etc/profile 或 source /etc/profile ###声明环境变量
复制模式,既AFR, 创建volume 时带 replica x 数量: 将文件复制到 replica x 个节点中。
配置官网文档:https://docs.gluster.org/en/latest/Install-Guide/Configure/
其他模式可以参考官网:https://docs.gluster.org/en/latest/Administrator Guide/Setting Up Volumes/
[root@server1 ~]# glusterd ###启动server1
[root@server2 ~]# glusterd ###启动server2
[root@server1 ~]# gluster peer probe server2 ###后面接主机名或IP
peer probe: success.
[root@server1 ~]# gluster peer status
Number of Peers: 1
Hostname: 10.10.10.2
Uuid: e67ec36c-3a8d-4eb0-83e3-bfccfbf30ab2
State: Peer in Cluster (Connected)
Other names:
server2
### 这里我们把我们分号的盘格式化后挂载到/data/gluster
[root@server1 ~]# mkdir -p /data/gluster
[root@server2 ~]# mkdir -p /data/gluster
[root@server1 ~]# gluster volume create test-volume replica 2 transport tcp server1:/data/gluster/ server2:/data/gluster/ force
volume create: test-volume: success: please start the volume to access data
[root@server1 ~]# gluster volume start test-volume
volume start: test-volume: success
[root@server1 ~]# gluster volume info
Volume Name: pub
Type: Replicate
Volume ID: d3616ceb-f8d1-4da8-8025-0aba5d5582be
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: server1:/data/gluster/
Brick2: server2:/data/gluster/
这样我们便可以在server1中把数据写入到test目录中,会自动同步到server2中!!!
[root@server1 ~]# mkdir /test
[root@server2 ~]# mkdir /test
### 这里可以使用本机IP或主机名
[root@server1 ~]# mount.glusterfs server1:/test /data/gluster/
[root@server2 ~]# mount.glusterfs server2:/test /data/gluster/