欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

GBase 8a MPP Cluster使用Ceph做存储计算分离

程序员文章站 2022-06-19 10:04:35
1. 分布式文件系统分布式文件系统或分布式存储的代表产品有:AWS S3,阿里云OSS及PolarFS,Azure Blob Storage,OpenStackSwift,Ceph,OceanStore。分布式存储有三种接口类型:块设备、POSIX兼容文件系统、对象存储。三种分布式存储接口类型中,块设备速度最快,不易共享。对象存储适合更新变动较少的数据,没有目录结构,不能直接打开/修改文件。AWS S3和OpenStackSwift及大多数云产品只支持对象存储;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块设备上。

 

GBase 8a MPP Cluster使用Ceph做存储计算分离

Ceph集群中每台机器使用7块硬盘,启动7个osd进程,每个管理一块硬盘。

8a集群中的服务器采用块设备方式挂载到Ceph存储。​​​​​​​

2.2 测试结果

为更好的验证Ceph分布存储的支持能力,获取存储计算分离带来的具体影响,进行在本地存储和远程存储两个GBase 8a集群下的对比,包括TPC-H、TPC-DS和加载性能对比。

测试结论:

  1. 通过块设备接口方式,基于本地存储方式的数据库可以直接使用Ceph分布式存储;
  2. 使用Ceph分布式存储,不影响GBase 8a集群加载性能和查询性能;

 

TPC-H1T查询对比图

说明:Ceph节点越多,查询速度越快,见下图,数值为查询总时间,越小越好。

GBase 8a MPP Cluster使用Ceph做存储计算分离

 

TPC-DS查询对比图

说明:测试了 物理机和9节点7osd的Ceph的冷热数据,见下图,数值为查询总时间,越小越好。

GBase 8a MPP Cluster使用Ceph做存储计算分离

 

TPC-H1T加载对比图

说明:测试了4,8,12,16并行度,测试目的是看在不同加载压力下本地盘和使用Ceph存储的性能差异,(相邻的红色和蓝色柱状图)差异越小越好。

GBase 8a MPP Cluster使用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