简单介绍:
glusterfs是一个可扩展的网络文件系统,适用于数据密集型任务,如云存储与媒体流。是免费开源软件。
官网地址:www.gluster.org
glusterfs yum源需要的安装包:SpecialInterestGroup/Storage - CentOS Wiki
安装下面两个包:
本文部署的是复制卷,类似于磁盘阵列的raid1
第一步:环境准备:
至少准备三个节点,每个节点都做(除了系统盘以外额外添加至少一块硬盘,这里我添加了两块硬盘)
关闭防火墙与selinux三个节点都做
配置主机名、IP地址、及主机名解析(三个节点都做)
vim /etc/hosts
配置免密登录(在server1上做)
[root@server1 ~]# ssh-keygen
[root@server1 ~]# ssh-copy-id server2
[root@server1 ~]# ssh-copy-id server3
配置yum源(三个节点都做)
[root@server1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
[root@server1 ~]# yum -y install centos-release-gluster
第二步:安装glusterfs软件包并设置开机自启(三个节点都做)
[root@server1 ~]# yum -y install glusterfs-server
[root@server1 ~]# systemctl enable glusterd.service --now
第三步:配置磁盘分区并格式化挂载(每个节点都做)
配置分区
[root@server1 ~]# fdisk /dev/sdb
[root@server1 ~]# fdisk /dev/sdc
创建挂载点目录
[root@server1 ~]# mkdir -p /data/brick1
[root@server1 ~]# mkdir -p /data/brick2
格式化文件系统
[root@server1 ~]# mkfs.xfs -i size=512 /dev/sdb1
[root@server1 ~]# mkfs.xfs -i size=512 /dev/sdc1
配置开机自动挂载并挂载(三个节点都做)
[root@server1 ~]# echo '/dev/sdb1 /data/brick1 xfs defaults 0 0 ' >> /etc/fstab
[root@server1 ~]# echo '/dev/sdc1 /data/brick2 xfs defaults 0 0' >> /etc/fstab
[root@server1 ~]# mount -a
第四步:配置受信任池(在server1执行就行)
[root@server1 ~]# gluster peer probe server2
[root@server1 ~]# gluster peer probe server3
查看服务器的对等状态,在任意节点都可以看到有两个对等节点
[root@server1 ~]# gluster peer status
第五步:设置glusterfs卷
在所有节点执行
[root@server1 ~]# mkdir /data/brick1/gv0
[root@server1 ~]# mkdir /data/brick2/gv0
在server1 节点执行
[root@server1 ~]# gluster volume create gv0 replica 3 server1:/data/brick1/gv0 server2:/data/brick1/gv0 server3:/data/brick1/gv0 server1:/data/brick2/gv0 server2:/data/brick2/gv0 server3:/data/brick2/gv0 force
第六步:启动新的卷并查看信息
启动创建的卷
[root@server1 ~]# gluster volume start gv0
查看卷的信息
[root@server1 ~]# gluster volume info
最后:测试glusterfs卷
[root@server1 ~]# mount -t glusterfs server1:/gv0 /mnt
[root@server1 ~]# for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
[root@server1 ~]# ls -lA /mnt/copy* | wc -l
因为是三副本存储,所以每个节点上的文件数量都是100