(表格在文本模式无法显示,请下载附件看详细内容)多节点gluster_NFS安装配置性能对比
1 部署拓扑
1.1 Gluster部署拓扑
1.2 NFS部署拓扑
1.3 说明
1.3.1 Gluster模式:
192.168.167.47 gluster 主服务器
挂载点 /apps/test
192.168.167.49 gluster 主服务器
192.168.167.48 gluster 从服务器
挂载点 /apps/test
1.3.2 NFS server 模式:
192.168.167.47 NFS 主服务器
[root@EMAG-TEST-167-47 etc]# vi /etc/exports
/apps/test1 192.168.167.48(rw,sync)
192.168.167.48 NFS 客户端服务器1
mount -t nfs 192.168.167.47:/apps/test1 /apps/test1
192.168.167.49 NFS客户端服务器2
mount -t nfs 192.168.167.47:/apps/test1 /apps/test1
2 安装
2.1 Gluster 安装
2.1.1 首先安装fuse
tar -zxvf fuse-2.7.4.tar.gz
cd fuse-2.7.4
./configure -enable-dependency-tracking -enable-kernel-module -enable-lib -enable-util
make && make isntall
2.1.2 安装glusterfs
tar -zxvf glusterfs-2.0.0rc1.tar.gz
cd glusterfs-2.0.0rc1
./configure
make && make install
两台glusterfs_server和glusterfs_client端操作一样
3 配置
3.1 gluster_server端的操作
3.1.1 配置文件的修改
3.1.1.1 192.168.167.47上:
[root@EMAG-TEST-167-47 glusterfs]# vi glusterfs-server.vol
volume brick
type storage/posix # POSIX FS translator
option directory /apps/test # Export this directory
end-volume
volume locker
type features/posix-locks
subvolumes brick
end-volume
### Add network serving capability to above brick.
volume server
type protocol/server
option transport-type tcp/server
option bind-address 192.168.167.47 # Default is to listen on all interfaces
option listen-port 6996 # Default is 6996
subvolumes locker
option auth.addr.brick.allow * # Allow access to "brick" volume
option auth.addr.locker.allow *
end-volume
3.1.1.2 192.168.167.49上:
[root@EMAG-TEST-167-49 glusterfs]# vi glusterfs-server.vol
volume brick
type storage/posix # POSIX FS translator
option directory /apps/test # Export this directory
end-volume
volume locker
type features/posix-locks
subvolumes brick
end-volume
### Add network serving capability to above brick.
volume server
type protocol/server
option transport-type tcp/server
option bind-address 192.168.167.49 # Default is to listen on all interfaces
option listen-port 6996 # Default is 6996
subvolumes locker
option auth.addr.brick.allow * # Allow access to "brick" volume
option auth.addr.locker.allow *
end-volume
3.2 gluster_client端的操作:
cd /usr/local/etc/glusterfs/
mv glusterfs-client.vol.sample glusterfs-client.vol
修改后的内容如下:
[root@EMAG-TEST-167-48 glusterfs]# vi glusterfs-client.vol
volume client0
type protocol/client
option transport-type tcp/client
option remote-host 192.168.167.47 # IP address of the remote brick
option remote-port 6996 # default server port is 6996
option remote-subvolume locker # name of the remote volume
end-volume
volume client1
type protocol/client
option transport-type tcp/client
option remote-host 192.168.167.49
option remote-port 6996
option remote-subvolume locker
end-volume
volume bricks
type cluster/replicate
subvolumes client0 client1
end-volume
4 操作
4.1 glusterfs_server端的操作
glusterfsd -f /usr/local/etc/glusterfs/glusterfs-server.vol
ps -ef | grep glusterfs
netstat -ln | grep 6996
两台server一样
4.2 glusterfs_client端的操作
modprobe -i fuse
glusterfs -f /usr/local/etc/glusterfs/glusterfs-client.vol /
4.3 高可用测试
在gluster 客户端touch10个文件:
[root@EMAG-TEST-167-48 test]# touch {1,2,3,4,5,6,7,8,9,10}
[root@EMAG-TEST-167-48 test]# ls
10 2 3 4 5 6 7 8 9
在两台gluster主服务器上分别察看,文件是否创建:
[root@EMAG-TEST-167-49 test]# ls
10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-47 test]# ls
1 10 2 3 4 5 6 7 8 9
可以看到2个主服务器都创建了10个文件,RADI1模式实现;
在server端进行一个破坏性的实验,把49的gluster进程杀掉,
[root@EMAG-TEST-167-49 test]# ps -ef|grep glusterfs
root 23362 1 0 Jan26 ? 00:00:47 glusterfsd -f /usr/local/etc/glusterfs/glusterfs-server.vol
[root@EMAG-TEST-167-49 test]# kill -9 23362
[root@EMAG-TEST-167-49 test]# ps -ef|grep glusterfs
到client端看,发现/apps/test下看刚touch文件是没问题的都可以访问,
[root@EMAG-TEST-167-48 test]# ls
1 10 2 3 4 5 6 7 8 9
我们再mkdir {a,b,c,d,e,f,g,h}建立几个目录,
[root@EMAG-TEST-167-48 test]# mkdir {a,b,c,d,e,f,g,h}
[root@EMAG-TEST-167-48 test]# ls
1 10 2 3 4 5 6 7 8 9 a b c d e f g h
再把49的进程glusterfs启动,
[root@EMAG-TEST-167-49 test]# glusterfsd -f /usr/local/etc/glusterfs/glusterfs-server.vol
[root@EMAG-TEST-167-49 test]# ps -ef|grep glusterfs
root 16998 1 0 14:47 ? 00:00:00 glusterfsd -f /usr/local/etc/glusterfs/glusterfs-server.vol
过段时间,到/apps/test下看刚建立的a,b,c,d,e,...几个文件夹已经复制过来了
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9
[root@EMAG-TEST-167-49 test]# ls
1 10 2 3 4 5 6 7 8 9 a b c d e f g h
5 Gluster&NFS性能对比
5.1 单节点性能对比
5.1.1 写性能对比
从以上数值可以看出,gluster的写性能远优于NFS;
5.1.2 读性能对比
从以上数据可以看出,NFS读性一个数量级别优于Gluster,因此在此次试验中,我进行了2次数据的测试,都是MB和GB的差别,因为我们环境基于虚拟机环境,可能引起数据失真,要么是虚拟机根据常用的NFS协议做了相关虚拟硬件的优化,虚拟机之间没有真正的走物理网络上的交换机走,要么就是NFS本身性能优异,后者可能比较小;
5.2 多节点对比
5.2.1 写性能对比
5.2.1.1. Gluster单节点与复制集群模式对比
节点复制和单节点对比可以看出,多节点平均比单节点性能差一半多一点,主要耗费在同步写2个主节点的写和同步状态时间上,多节点为类似RADI1模式,同时写2台主服务器;
5.2.1.2. Gluster集群复制模式与NFS多节点对比
从以上数据可以看出,cluster的集群复制模式跟NFS的多客户端同时访问在单个节点对比上性能相差不大;
5.2.2 读性能对比
5.2.2.1. Gluster单节点与复制集群模式对比
从以上数据可以看出,在读性能上,单节点和集群模式相差不大,gluster并没有实现类似2个主节点的并行读取功能;
5.2.2.2. Gluster集群复制模式与NFS多节点对比
在读取性能上,还是有一个数量级的大差距,原因和5.1.2节应该一样;
分享到:
相关推荐
本运维手册详细介绍了如何配置和管理Red Hat Gluster Storage 3.5版本,是管理员进行日常维护和高级操作的重要参考资料。 一、GlusterFS基础 GlusterFS是一个基于分布式文件系统的系统,它将多台服务器的存储资源...
features_ganesha_volume 联合国发展基金现有的GlusterFS卷将通过NFS Ganesha导出gluster_features_ganesha_hostnames 联合国发展基金逗号分隔的主机名列表,它们是构成Ganesha HA集群的Gluster Trusted Pool节点的...
GlusterFS是一款开源的分布式文件系统,它设计用于处理大规模的数据存储需求,具有高扩展性和高性能的特点。在“Gluster 3.6.2 源码包”中,我们可以深入理解这款系统的内部机制和工作原理。源码包提供了一个宝贵的...
它能够提供可扩展性、高可用性和容错性,支持跨多个普通硬件节点的数据聚合,无需中心控制节点。这个版本的发布标志着GlusterFS在功能和性能上的一次重要升级。 在GlusterFS 3.2.0中,有以下几个关键知识点: 1. *...
1. **安装Samba服务**:在Gluster集群的一个或多个节点上安装Samba服务。 2. **修改配置文件**:编辑Samba配置文件以允许Windows客户端访问共享目录。 3. **添加Samba用户**:创建Samba用户账户以便进行身份验证。 4...
它在Linux环境下运行,提供了一种可扩展、无中心节点的解决方案,适合云计算、大数据和其他需要高可用性和性能的场景。在"gluster 7.0-1安装包及操作.zip"这个压缩包中,我们可以找到关于GlusterFS 7.0-1版本的安装...
需要从硬件配置、网络规划、操作系统安装、共享存储配置、环境变量设置等多个方面进行综合考虑。其中,利用NFS+OCFS2构建的RAC环境是最为推荐的一种方式,它能够有效地解决资源共享和集群管理的问题。此外,文档还...
在多个服务器上重复上述步骤后,需要使用`gluster peer probe <node>`命令将每台服务器添加为节点。 ### Glusterfs磁盘创建 #### 3.1 创建数据目录(每台执行) 在每台服务器上创建用于存储GlusterFS数据的目录。 ##...
2. GlusterFS的安装和配置:手册详细介绍了如何配置、操作和管理GlusterFS,包括设置可信存储池和卷的创建与管理。在可信存储池的设置中,用户可以手动或自动地添加和移除服务器。自动启动glusterd服务(GlusterFS的...
GlusterFS 3.4.6 是一个开源的、分布式文件系统,专为大...不过,请注意,为了获得最佳性能和稳定性,建议按照官方文档进行详细配置和优化。在实际环境中,可能还需要考虑监控、日志分析、故障恢复和数据保护等方面。
例如,镜像可以将数据复制到两个或更多节点,而纠删码则可以在数据丢失后恢复。 3. **透明伸缩性**:GlusterFS允许动态添加或移除节点,无需停机,因此可以随着存储需求的增长轻松扩展。 4. **全局命名空间**:...
Scale-Out存储是一种通过增加更多节点来提高存储容量和性能的方法,相较于传统的Scale-Up方法,即通过升级单个节点的硬件能力,Scale-Out提供了一种更灵活、经济高效的解决方案。GlusterFS的设计目标是支持PB级别的...
离线安装GlusterFS涉及下载依赖DEB包、解压、安装和配置等多个步骤,每个环节都需谨慎操作,以确保系统的稳定运行。在部署和使用过程中,理解其核心概念和特性,以及如何与现有系统集成,是成功实施的关键。
docker-gluster-centos 包含dockerfile和用于在centos7上运行glusterfs的代码作为docker镜像的仓库 ##概述通常,容器环境中的持久性存储将涉及多层-一个用于计算,另一个用于存储。 那么,如果我们可以将该体系结构...
用户需要按照官方文档或社区提供的教程,编译源代码并在各个服务器节点上安装GlusterFS,然后配置和启动服务,形成一个GlusterFS集群。 6. **使用与管理**: 通过GlusterFS的命令行工具(如`gluster volume`和`...
K8s-CKS必备技能攻略 K8s框架介绍: K8s框架是由三个紧密协作的独立组件组合而成的,它们分别是负责API服务的kube-apiserver、负责调度的kube-scheduler,...CSI可以与多种存储系统集成,例如Ceph、Gluster、NFS等。
1. **安装与配置**:首先在所有参与的服务器上安装GlusterFS软件包,然后通过命令行工具配置GlusterFS集群。 2. **创建卷**:使用`gluster volume create`命令创建一个新的分布式卷或者复制卷,定义卷的大小和结构。...