- glusterfs-3.6.9.tar.gz
- userspace-rcu-master.zip
- 三台服务器:
192.168.133.53
、192.168.133.54
、192.168.133.55
- 如果您的环境没有网络,请先阅读centos7 配置本地yum源
以下出现的简写 | 含义 |
---|---|
53 | 192.168.133.53:主节点 |
54 | 192.168.133.54:从节点 |
55 | 192.168.133.55:客户端 |
(53) | 仅在53节点操作 |
(53&54) | 53和54两个节点均需操作 |
(55) | 仅在55节点操作 |
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
注:以上是一条命令
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
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节点?没啥为什么,随便选一个。
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 性能调优
volume
的配额 gluster volume quota models enable
限制 models
总目录最大使用 5GB
空间(5GB并非绝对,您可根据实际硬盘大小配置)
gluster volume quota models limit-usage / 5GB
设置 cache 大小(128MB并非绝对,您可根据实际硬盘大小配置)
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
到目前为止,大部分工作已经做完了,接下来就是挂载一个目录,然后通过对这个挂载目录操作,实现数据同步至文件系统。写文件试试^_^
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
cd /opt/gluster/data/ && ll
备注:查看得知gluster服务器的每个节点上都有备份,符合步骤
创建复制卷 models,指定刚刚创建的目录(replica 2表明存储2个备份)
查看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服务器