GBase 8a MPP Cluster使用Ceph做存储计算分离
1. 分布式文件系统
分布式文件系统或分布式存储的代表产品有:AWS S3,阿里云 OSS及PolarFS,Azure Blob Storage,OpenStack Swift,Ceph,OceanStore。
分布式存储有三种接口类型:块设备、POSIX兼容文件系统、对象存储。三种分布式存储接口类型中,块设备速度最快,不易共享。对象存储适合更新变动较少的数据,没有目录结构,不能直接打开/修改文件。
AWS S3和OpenStack Swift及大多数云产品只支持对象存储;Ceph三种接口方式都支持;PolarFS支持对象存储和POSIX兼容文件系统。
块设备存储是可以将分布式存储以本地路径的方式映射给主机使用,所以传统的基于硬件服务器本地存储的数据库架构,可以通过块设备接口的方式将数据文件放到分布式文件系统中。
2. GBase 8a集群基于Ceph的测试
测试GBase 8a MPP Cluster在不经过存储计算分离改造的情况下,使用本地存储路径mount Ceph分布式存储。
2.1测试集群部署图
部署图如下,将数据目录存放到远程的Ceph块设备上。
Ceph集群中每台机器使用7块硬盘,启动7个osd进程,每个管理一块硬盘。
8a集群中的服务器采用块设备方式挂载到Ceph存储。
2.2 测试结果
为更好的验证Ceph分布存储的支持能力,获取存储计算分离带来的具体影响,进行在本地存储和远程存储两个GBase 8a集群下的对比,包括TPC-H、TPC-DS和加载性能对比。
测试结论:
- 通过块设备接口方式,基于本地存储方式的数据库可以直接使用Ceph分布式存储;
- 使用Ceph分布式存储,不影响GBase 8a集群加载性能和查询性能;
TPC-H1T查询对比图
说明:Ceph节点越多,查询速度越快,见下图,数值为查询总时间,越小越好。
TPC-DS查询对比图
说明:测试了 物理机和9节点7osd的Ceph的冷热数据,见下图,数值为查询总时间,越小越好。
TPC-H1T加载对比图
说明:测试了4,8,12,16并行度,测试目的是看在不同加载压力下本地盘和使用Ceph存储的性能差异,(相邻的红色和蓝色柱状图)差异越小越好。
2.3 测试环境
本次测试共使用13台服务器,其中4台服务器作为GBase 8a MPP Cluster节点使用,9台作为Ceph服务器使用。对比测试,基于本地硬盘和基于Ceph的两个GBase 8a集群使用的是相同的4台服务器。
PS:上述测试结果数据只是为了做本地存储与Ceph存储的对比,为避免引做他用,只介绍粗略的测试环境信息。
硬件环境:
型号 |
台数 |
配置 |
INSPUR |
13 |
CPU 8*2CORE/Disk RAID0 6*900G 10k/Mem 64GB/万兆网络 |
测试的软件产品版本:
测试版本 |
安装包 |
version |
GBase |
GBase8a_MPP_Cluster-9.5.2.7-redhat7.3-x86_64.tar.bz2 |
9.5.2.7 |
Ceph |
Ceph version 13.2.5 mimic (stable) |
13.2.5 |
Ceph配置:
# cat /etc/Ceph/Ceph.conf
[global]
fsid = 60909ecd-f91e-411e-a714-64914b5ac3ec
mon_initial_members = n61,n63,n64
mon_host = 10.10.10.61,10.10.10.63,10.10.10.64
auth_cluster_required = Cephx
auth_service_required = Cephx
auth_client_required = Cephx
public_network = 10.10.10.0/24
cluster network = 10.10.10.0/24
mon clock drift allowed = 2
mon clock drift warn backoff = 30
osd crush chooseleaf type = 1
osd pool default size = 2
mon_allow_pool_delete = 1
3. Ceph分布存储的性能损耗
性能损失分析
不使用Ceph机械盘开销为8到10ms;
使用Ceph 在万兆网络环境下增加的在0.1ms,测试结果Ceph对性能的影响在5%以下,性能接近预期。预期是网络损失1%,Ceph损失在5%左右。
性能提升分析
增加Ceph集群服务器,性能提升近似线性,主要原因是增加了磁盘数量,提升了Ceph集群的吞吐量。
Ceph资源消耗
观察Ceph集群的资源使用,cpu多数时间处于wait I/O状态,除了磁盘外对系统的资源需求不高,符合预期。
Ceph的存储节点可以使用cpu较低的服务器,磁盘尽量多,网络万兆(最好是双万兆)。
本文地址:https://blog.csdn.net/weixin_42336273/article/details/107579526
上一篇: Apollo学习笔记