准备工作
| 以下出现的简写 |
含义 |
| 53 |
192.168.133.53:主节点 |
| 54 |
192.168.133.54:从节点 |
| 55 |
192.168.133.55:客户端 |
| (53) |
仅在53节点操作 |
| (53&54) |
53和54两个节点均需操作 |
| (55) |
仅在55节点操作 |
一、安装依赖(53&54)
yum install -y flex bison openssl openssl-devel acl libacl libacl-devel sqlite-devel libxml2-devel python-devel make cmake gcc gcc-c++ autoconf automake libtool unzip zip
注:以上是一条命令
二、安装userspace-rcu-master(53&54)
1)创建software目录并将glusterfs-3.6.9.tar.gz和userspace-rcu-master.zip上传,如下图所示:
![这里写图片描述]()
2)解压并编译安装,命令如下:
- unzip /usr/local/software/userspace-rcu-master.zip -d /usr/local/
- cd /usr/local/userspace-rcu-master/
- ./bootstrap
- ./configure
- make && make install
- ldconfig
三、安装userspace-rcu-master(53&54)
1)解压并编译安装,命令如下:
tar -zxvf /usr/local/software/glusterfs-3.6.9.tar.gz -C /usr/local/
cd /usr/local/glusterfs-3.6.9/
./configure --prefix=/usr/local/glusterfs
make && make install
2)添加环境变量,命令和示例图如下所示:
vi /etc/profile
export GLUSTERFS_HOME=/usr/local/glusterfs
export PATH=$PATH:$GLUSTERFS_HOME/sbin
![这里写图片描述]()
source /etc/profile #刷新配置使之生效
![这里写图片描述]()
3)启动glusterfs
/usr/local/glusterfs/sbin/glusterd
4)关闭防火墙
- systemctl stop firewalld.service
- systemctl disable firewalld.service
四、建立集群(53)
为什么是53节点?没啥为什么,随便选一个。
1)执行以下命令,将192.168.133.54节点加入到集群:
gluster peer probe 192.168.133.54
![这里写图片描述]()
2)查看集群状态:
gluster peer status
![这里写图片描述]()
3)查看 volume 信息(由于还没有创建volume所以显示的是暂无信息):
gluster volume info
![这里写图片描述]()
4)创建数据存储目录(在53和54两个节点上都运行):
mkdir -p /opt/gluster/data
5)创建复制卷 models,指定刚刚创建的目录(replica 2表明存储2个备份,后面指定服务器的存储目录)
gluster volume create models replica 2 192.168.133.53:/opt/gluster/data 192.168.133.54:/opt/gluster/data force
![这里写图片描述]()
6)再次查看 volume 信息
gluster volume info
![这里写图片描述]()
7)启动 models
gluster volume start models
![这里写图片描述]()
8)gluster 性能调优
gluster volume set models performance.cache-size 128MB ![这里写图片描述]()
-
开启异步,后台操作 gluster volume set models performance.flush-behind on ![这里写图片描述]()
-
设置 io 线程 32 gluster volume set models performance.io-thread-count 32 ![这里写图片描述]()
-
设置 回写 (写数据时间,先写入缓存内,再写入硬盘) gluster volume set models performance.write-behind on ![这里写图片描述]()
9)查看调优之后的volume信息
gluster volume info
![这里写图片描述]()
五、部署客户端并挂载GlusterFS文件系统(55)
到目前为止,大部分工作已经做完了,接下来就是挂载一个目录,然后通过对这个挂载目录操作,实现数据同步至文件系统。写文件试试^_^
1)安装gluster-client,命令如下:
yum install -y glusterfs glusterfs-fuse
2)建立挂载点目录,命令如下:
mkdir -p /opt/gfsmount
3)挂载,命令如下:
mount -t glusterfs 192.168.133.53:models /opt/gfsmount/
![这里写图片描述]()
4)令检查挂载情况,命令如下:
df -h
![这里写图片描述]()
5)测试
time dd if=/dev/zero of=/opt/gfsmount/hello bs=10M count=1
![这里写图片描述]()
mkdir /opt/gfsmount/test
6)查看集群存储情况 (在53和54两个节点上都运行):
cd /opt/gluster/data/ && ll
![这里写图片描述]()
备注:查看得知gluster服务器的每个节点上都有备份,符合步骤创建复制卷 models,指定刚刚创建的目录(replica 2表明存储2个备份)
六、GlusterFS相关命令
查看GlusterFS中所有的volume:
gluster volume list
启动磁盘:
gluster volume start models //启动名字为 models 的磁盘
停止磁盘:
gluster volume stop models //停止名字为 models 的磁盘
删除磁盘:
gluster volume delete models //删除名字为 models 的磁盘
七、结束语
至此,GlusterFS的分布式环境已经搭建完成。
1.如果机器重启,
-
glusterFS服务需要启动
- 磁盘
models需要启动
- 目录
/opt/gfsmount/需要重新挂载
- 挂载完目录
/opt/gfsmount/需要重新进入
systemctl stop firewalld.service gluster volume start models mount -t glusterfs 192.168.133.53:models /opt/gfsmount/ cd /opt/gfsmount/
注意:两个分区挂到同一个分区,第一个挂的那个不是被覆盖,而是被暂时隐藏。比如:你先挂的mount /dev/sda1 /opt/gfsmount/,又挂的mount /dev/sda2 /opt/gfsmount/,那/dev/sda1内的就暂时被隐藏,你只要umount /dev/sda2,把第二个分区卸载了,在cd /opt/gfsmount/就可以看到挂的第一个分区的内容了。
结合ftp、java实现文件上传下载删除等必将锦上添花:Centos7搭建ftp服务器