dbops 助力 GreatSQL MGR架构安装部署

dbops 助力 GreatSQL MGR架构安装部署

在上一篇中讲到了如何使用 dbops 部署 GreatSQL 主从架构,这篇中将介绍如何使用 dbops 部署MGR架构。

  • dbops 助力 GreatSQL 单机架构安装部署
  • dbops 助力 GreatSQL 主从架构安装部署

部署 GreatSQL MGR 架构,还可启用 GreatSQL 的动态 VIP 功能,以及仲裁节点功能。

环境介绍

本次部署所使用的操作系统为麒麟 V10 系统,以下是系统的详细信息:

$ cat /etc/*release
Kylin Linux Advanced Server release V10 (Sword)
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"
Kylin Linux Advanced Server release V10 (Sword)

$ uname -a
Linux gip 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
  • 环境 GlibC++ 版本信息为
$ ldd --version
ldd (GNU libc) 2.28
  • 使用的 dbops 版本为
dbops.1.10.20250329 release

在此文章撰写时,芬达老师对 dbops 进行了更新,所以此篇采用新版本安装部署。

  • 使用的 GreatSQL 版本为
GreatSQL-8.0.32-27 minimal
  • 架构如下:

下载 dbops

Gitee 下载最新版本 dbops

$ cd /usr/local
$ wget https://gitee.com/fanderchan/dbops/releases/download/dbops.1.10.20250329/dbops.1.10.20250329-Linux-x86_64.tar.gz

下载完成后,对 dbops 进行解压:

$ tar -xvzf dbops.1.10.20250329-Linux-x86_64.tar.gz 

安装 Ansible

dbops 自带绿色版 Ansible,dbops 的核心依赖于 Ansible,执行此命令用于注册:

$ cd dbops/portable-ansible-v0.5.0-py3
$ sh setup_portable_ansible.sh
$ source ~/.bashrc

最后检查下 Ansible 是否安装成功:

$ ansible --version
ansible 2.10.5

自动下载 GreatSQL 安装包

dbops 默认会自动下载 GreatSQL 安装包,所以本篇采用自动下载方式。

在公共配置文件common_config.yml中可以看到,只要选择了 GreatSQL 版本后,默认自动下载安装包。

# 此处默认设置 true 会自动下载安装包
fcs_auto_download_MySQL: true     # only support mysql. percona, greatsql pls download yourself first.

但由于 dbops 限制,只能下载 GreatSQL-8.0.32-27-Linux-glibc2.17-x86_64-minimal* 这个 Linux Generic 通用包。

minimal版本是对二进制文件执行strip操作,所以文件尺寸较小,功能上与正常版本一样

编辑配置清单

$ vim /usr/local/dbops/mysql_ansible/inventory/hosts.ini 

修改内容如下:

$ ldd --version
ldd (GNU libc) 2.28
0

注意!密码需要单引号包围,修改时不要漏掉。

验证服务器的连通性:

$ ldd --version
ldd (GNU libc) 2.28
1

配置公共参数文件

$ ldd --version
ldd (GNU libc) 2.28
2

修改数据库版本以及端口:

$ ldd --version
ldd (GNU libc) 2.28
3

修改数据库类型为 “greatsql”:

$ ldd --version
ldd (GNU libc) 2.28
4

采用自动下载安装包,此处默认为 true ,不做修改即可

$ ldd --version
ldd (GNU libc) 2.28
5

若有需要修改的,例如 my.cnf 配置文件,数据库初始密码、初始用户,都可在 common_config.yml 公共参数文件中修改。

修改 Playbook 参数

$ ldd --version
ldd (GNU libc) 2.28
6

修改主从库IP以及主从复制账号可信网段:

$ ldd --version
ldd (GNU libc) 2.28
7
  • mysql_binlog_format:因为 MGR 架构,需要 binlog 为 row 格式,所以这里不能修改,为的是覆盖common_config.yml文件中的 binlog 格式。
  • mysql_mgr_port:mgr 的通讯端口,采用原本端口 * 10 + 1 设置。
  • sub_nets:可信网段、可信域、可信IP。
  • mysql_mgr_hosts:MGR 实例的 IP 地址列表,部署后会按照字符串列表第一个IP设置为 Primary 节点。
  • greatsql_vip:GreatSQL HA绑定的VIP地址,只有部署GreatSQL HA时才会生效。
  • greatsql_net_work_interface:GreatSQL HA绑定的VIP地址所在的网卡号,只有部署GreatSQL HA时才会生效
  • greatsql_netmask:GreatSQL HA绑定的VIP地址使用的netmask,一般使用"32"即可,无需修改,只有部署GreatSQL HA时才会生效
  • greatsql_group_replication_arbitrator:是否开启仲裁节点功能
  • greatsql_group_replication_arbitrator_hosts:GreatSQL 的仲裁节点列表。和 greatsql_group_replication_arbitrator 搭配使用,greatsql_group_replication_arbitrator 为 true 此参数才生效。

dbops 支持直接部署 GreatSQL 的 VIP 和仲裁节点功能特性,两个功能特性可详见 GreatSQL 用户手册:

执行 GreatSQL 安装

执行安装 GreatSQL MGR 架构

$ ldd --version
ldd (GNU libc) 2.28
8

等待一会儿会打印如下信息

$ ldd --version
ldd (GNU libc) 2.28
9

可以看到上面的信息,安装时请确认无误后,输入 “confirm” 确认安装。如果想修改,可按 Ctrl+C 退出安装,再修改文件 common_config.yml稍等片刻,GreatSQL 就部署完成。

dbops.1.10.20250329 release
0

部署 MGR 架构可能会等待久一些

登入 GreatSQL 检查

dbops.1.10.20250329 release
1

若没有修改安装密码,初始为Dbops@8888,请用户在安装后自行修改默认密码。

也可以使用快速登录,db+设置的端口号:

dbops.1.10.20250329 release
2

检查下 MGR 情况:

dbops.1.10.20250329 release
3

检查 MGR 动态读写 VIP 功能

登入 PRIMARY 节点查看

dbops.1.10.20250329 release
4

使用 VIP 链接,查看是否链接 PRIMARY 节点

dbops.1.10.20250329 release
5

至此,麒麟系统下 GreatSQL MGR架构安装已顺利完成:D

Enjoy GreatSQL

关于 GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

技术交流群:

微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群