一、什么是GlusterFS?
GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点全部平等。
二、GlusterFS的整体架构是什么?
它主要由存储服务器(BrickServer)、客户端以及NFS/Samba 存储网关组成。
具体的工作流程是
在其中的一些相关概念:
- brick: GlusterFS的基本单元,以节点服务器目录形式展现。
- Volume: 多个 bricks 的逻辑集合
- Metadata: 元数据,用于描述文件、目录等的信息。
- Self-heal: 用于后台运行检测复本卷中文件和目录的不一致性并解决这些不一致。
- FUSE: Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。 通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
- GlusterFS Server:数据存储服务器,即组成GlusterFs存储集群的节点。
- GlusterFS Client: 使用GlusterFS存储服务器的服务器,例如KVM、Openstack、
HA node。
三、为什么要使用分布式存储?
- 高性能
- 弹性扩展
- 支持分级存储等等
四、分布式存储卷类型的分类
1.分布卷
分布卷也为哈希卷,多个文件在多个 brick 上使用哈希算法随机存储。
优点:读/写性能好
缺点:果存储或服务器故障,数据将丢失称为哈希卷,多个文件在多个 brick 上使用哈希算法随机存储。
2.复制卷
多个文件在多个brick上复制多份,brick 的数目要与需要复制的份数相等。
优点:性能好
缺点:写性能差
3.条带卷
将文件分成条带,存放在多个 brick上,默认条带大小128K,相当于RAID0。
优点:适用于大文件存储
缺点:可靠性低,brick 故障会导致数据全部丢失
4.复合卷
-
分布复制卷
优点:可靠性,读性能高
缺点:牺牲存储空间,写性能差 -
分布条带卷
-
条带复制卷
-
分布条带复制卷
五、具体操作
那么对于不同的卷类型的操作如下:
名称 | IP |
---|---|
node1 | 192.168.146.133 |
node2 | 192.168.146.128 |
client | 192.168.146.130 |
节点的数目你自己决定,我这边只创建了两个节点。
1.基本环境搭建
- 关闭防火墙,selinux;
- 时间同步-ntpdate -u xx.xx.xx.xx (-u 可以越过防火墙与主机同步)
node1
[root@node1 ~]# hostnamectl set-hostname node1
[root@node1 ~]# setenforce 0
[root@node1 ~]# getenforce
Permissive
[root@node1 ~]# date
Fri Nov 30 19:11:20 CST 2018
node2
[root@node2 ~]# hostnamectl set-hostname node2
[root@node2 ~]# setenforce 0
setenforce: SELinux is disabled
[root@node2 ~]# getenforce
Disabled
[root@node2 ~]# systemctl stop firewalld.service
[root@node2 ~]# date
Fri Nov 30 19:11:23 CST 2018
- 安装相关软件
- 创建并查看集群状态(创建集群操作即添加节点操作在一台机器上完成即可)
node1
[root@localhost ~]# yum -y install c