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

万里数据库分布式GreatDB Cluster 部署集群

原创 Dbb 2024-06-06
254

软硬件环境建议配置

GreatDB Cluster可以很好的部署和运行在 Intel 架构服务器环境、ARM 架构的服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统。支持主流的Linux操作系统。

Linux 操作系统版本要求

Linux操作系统版本服务器架构
Red Hat Enterprise Linux7.2 及以上x86_64,ARM_64
CentOS7.2 及以上x86_64,ARM_64
SUSE Enterprise Linux12SP3 及以上x86_64,ARM_64
Ubuntu16.04 及以上x86_64,ARM_64
Debian8.3 及以上x86_64,ARM_64

服务器建议配置

开发及测试环境

服务器类型最小数量最低配置
SQL节点3(可和数据节点复用)32C,64G,1TB,千兆网卡(可配置多块)
数据节点332C,64G,1TB SSD存储,千兆网卡(可配置多块)

SQL节点最小数量为3,最好配置成奇数个,如3,5,7。

数据节点个数建议为3的整数倍。每个shard内3副本。

生产环境

服务器类型最小数量最低配置
SQL节点332C,128G,1.5TB,万兆网卡(可配置多块)
数据节点332C,256G,2TB SSD存储,万兆网卡(可配置多块)

SQL节点最小数量为3,最好配置成奇数个,如3,5,7。SQL节点存储集群元数据,同时承担大部分计算任务,有些优化策略会生成临时表,故如果用户对性能要求很高,可以配置SSD。

数据节点最小数量为3,一个shard内最小副本数为3,最大副本数为9,推荐一个逻辑shard内副本个数为3。


环境与系统配置检查

本文介绍在部署GreatDB Cluster之前,需要进行的环境与系统配置检查。

BIOS设置

BIOS需要关闭以下选项:

  • Numa关闭
  • Cstate关闭
  • Pstate关闭
  • EIST关闭
  • Power saving 关闭
  • Turbo Mode 关闭
  • BMC share link关闭
  • SMMU关闭(鲲鹏服务器)

CPU模式

数据库服务器的CPU运行模式需要调整到performance模式,以追求比较稳定的性能。

以centos7为例,执行以下命令检查和设置cpu运行模式:

## 检查当前cpu模式,发现是powersave模式
[root@greatdb-test-01 ~]# cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: 2.00 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    2300 MHz max turbo 4 active cores
    2300 MHz max turbo 3 active cores
    2400 MHz max turbo 2 active cores
    2500 MHz max turbo 1 active cores

## 设置CPU为performance模式
[root@greatdb-test-01 ~]# cpupower frequency-set -g "performance"
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
....


内存swap

vm.swappiness是操作系统控制物理内存交换出去的策略。它允许的值是一个百分比的值,最小为0,最大运行100,该值默认为60。vm.swappiness设置为0表示尽量少swap,100表示尽量将inactive的内存页交换出去。

GreatDB Cluster自己管理内存缓存,cache的文件数据来说占用了内存,对数据库几乎没有任何好处。所以,我们在GreatDB Cluster的服务器上最好设置vm.swappiness=0。

我们可以通过在sysctl.conf中添加一行:

echo "vm.swappiness = 0" >>/etc/sysctl.conf

并使用sysctl -p来使得该参数生效。


文件系统

生产环境部署,建议使用 EXT4 类型文件系统,其可靠性、安全性、稳定性已经在大量线上场景中得到证实。

将部署目标机器数据盘格式化成 ext4 文件系统,挂载时添加 nodelalloc 和 noatime 挂载参数。

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

文章被以下合辑收录

评论