暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用Ceph改造GBase 8a MPP Cluster支持分布存储

原创 白军奎 2020-07-25
1205

1分布式文件系统

分布式文件系统或分布式存储的代表产品有:AWS S3,阿里云 OSS及PolarFS,Azure Blob Storage,OpenStack Swift,Ceph,OceanStore。
分布式存储有三种接口类型:块设备、POSIX兼容文件系统、对象存储。三种分布式存储接口类型中,块设备速度最快,不易共享。对象存储适合更新变动较少的数据,没有目录结构,不能直接打开/修改文件。
AWS S3和OpenStack Swift及大多数云产品只支持对象存储;Ceph三种接口方式都支持;PolarFS支持对象存储和POSIX兼容文件系统。
块设备存储是可以将分布式存储以本地路径的方式映射给主机使用,所以传统的基于硬件服务器本地存储的数据库架构,可以通过块设备接口的方式将数据文件放到分布式文件系统中。

2GBase 8a集群基于Ceph的测试

测试GBase 8a MPP Cluster在不经过存储计算分离改造的情况下,使用本地存储路径mount Ceph分布式存储。

2.1测试集群部署图

部署图如下,将数据目录存放到远程的Ceph块设备上。
图片1.png
Ceph集群中每台机器使用7块硬盘,启动7个osd进程,每个管理一块硬盘。
8a集群中的服务器采用块设备方式挂载到Ceph存储。

2.2测试结果

为更好的验证Ceph分布存储的支持能力,获取存储计算分离带来的具体影响,进行在本地存储和远程存储两个GBase 8a集群下的对比,包括TPC-H、TPC-DS和加载性能对比。
测试结论:
(1)通过块设备接口方式,基于本地存储方式的数据库可以直接使用Ceph分布式存储;
(2)使用Ceph分布式存储,不影响GBase 8a集群加载性能和查询性能;

TPC-H1T查询对比图
说明:Ceph节点越多,查询速度越快,见下图,数值为查询总时间,越小越好。
图片2.png
TPC-DS查询对比图
说明:测试了 物理机和9节点7osd的Ceph的冷热数据,见下图,数值为查询总时间,越小越好。
图片3.png
TPC-H1T加载对比图
说明:测试了4,8,12,16并行度,测试目的是看在不同加载压力下本地盘和使用Ceph存储的性能差异,(相邻的红色和蓝色柱状图)差异越小越好。
图片4.png

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

3Ceph分布存储的性能损耗

性能损失分析
不使用Ceph机械盘开销为8到10ms;
使用Ceph 在万兆网络环境下增加的在0.1ms,测试结果Ceph对性能的影响在5%以下,性能接近预期。预期是网络损失1%,Ceph损失在5%左右。
性能提升分析
增加Ceph集群服务器,性能提升近似线性,主要原因是增加了磁盘数量,提升了Ceph集群的吞吐量。
Ceph资源消耗
观察Ceph集群的资源使用,cpu多数时间处于wait I/O状态,除了磁盘外对系统的资源需求不高,符合预期。
Ceph的存储节点可以使用cpu较低的服务器,磁盘尽量多,网络万兆(最好是双万兆)。

最后修改时间:2020-07-25 16:27:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论