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

PTK工具安装MogDB 一主两备集群

原创 majysky 2024-05-25
311

PTK 简介

PTK (Provisioning Toolkit)是一款针对 MogDB 数据库开发的软件安装和运维工具,旨在帮助用户更便捷地安装部署MogDB数据库。

如果用户想要运行 MogDB 或者 MogDB 的相关组件时,仅需要执行一行命令即可实现。

使用场景

  • 开发人员快速启动多个本地MogDB环境
  • 用户通过PTK快速安装部署MogDB
  • DBA日常运维使用
  • 第三方运维平台集成

安装环境

硬件信息: Intel i9 + 64G 内存 + 1T SSD
虚拟机软件:Oracle VM Virtual Box 7.1.12 + Vagrant 2.2.16

虚拟机配置:
192.168.56.231   8g4c 50G
192.168.56.232   8g4c 50G
192.168.56.233   8g4c 50G 

操作系统版本: Kylin Linux Advanced Server release V10 (Lance)
数据库版本: MogDB-5.0.6
PTK版本:v1.4.5

下载安装 PTK

在线安装

​ 在终端使用curl下载ptk的install.sh 脚本并执行进行安装

#下载ptk的install.sh脚本并执行 [root@mogdb1 ~]# curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh Downloading ptk package... Detected shell: bash Shell profile: /root/.bash_profile ptk has been added to PATH in /root/.bash_profile open a new terminal or source /root/.bash_profile to active it Installed path: /root/.ptk/bin/ptk #查看ptk安装目录文件 [root@mogdb1 ~]# ls -la .ptk/bin/ total 57604 drwx------ 3 root root 51 May 23 16:14 . drwx------ 3 root root 17 May 23 16:14 .. drwx------ 2 root root 70 May 23 16:14 CHANGELOG -rwxr-xr-x 1 root root 58982400 May 14 14:28 ptk -rw-r--r-- 1 root root 237 Sep 15 2023 README.md #查看ptk程序环境变量添加到.bash_proifle [root@mogdb1 ~]# cat ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH export PATH=/root/.ptk/bin:$PATH #生效环境变量 [root@mogdb1 ~]# source ~/.bash_profile #查看ptk版本 [root@mogdb1 ~]# ptk --version PTK Version: v1.4.5 release Go Version: go1.19.10 Build Date: 2024-05-14T14:25:55 Git Hash: e043ed69 OS/Arch: linux/amd64

​ PTK 安装在目录 $HOME/.ptk 目录下,该目录以后会作为 PTK 工具的工作目录。安装指令会自动将 $HOME/.ptk/bin 的路径加入到对应 SHELL Profile 文件的 PATH 环境变量。用户可以直接使用ptk命令。

离线安装

​ 从 https://www.mogdb.io/downloads/ptk/all 下载对应服务器架构的安装包,以ptk_1.4.5_linux_x86_64.tar.gz 为例。

mkdir -p $HOME/.ptk/bin/ tar -xvf ptk_1.4.5_linux_x86_64.tar.gz -c $HOME/.ptk/bin/ echo 'export PATH=$HOME/.ptk/bin:$PATH' >> ~/.bashrc source ~/.bashrc

ptk命令行帮助

[root@mogdb1 ~]# ptk -h ptk is a command-line management tool that can help you to deploy or manage MogDB clusters. Usage: ptk [flags] <command> [args...] Available Commands: env Print ptk loaded environment values gen-om-xml Generate an XML file for gs_om self Self operations about ptk version Print version of ptk meta Manage ptk metadata demo Install MogDB demo quickly manage Manage an exist cluster (File $GAUSSHOME/bin/cluster_static_config is required) gen-ptkc Generate ptkc binary cache List the cache files rec-guc Display the list of optimising guc parameters collect Collect system and cluster information for analysis completion Generate the autocompletion script for the specified shell Pre Install Commands: candidate Print software version list which PTK supported download Download MogDB package online checkos Check cluster servers os dependencies encrypt Provides a convenient way to encrypt your text/password template Generate template of configuration exec Execute shell command or script Install Commands: install Install a MogDB or Uqbar database cluster Post Install Commands: ls List MogDB clusters uninstall Uninstall a database cluster cluster Manage clusters gen-static-config Generate and distribute a new cluster_static_config with specified YAML config Experimental Commands: register Register some internal types to fulfill specific requirements Flags: --disable-color Force disabling colors --disable-debug-log Do not write debug log file --disable-progressbar Disable show progress bar globally -h, --help Print help information --log-file string Specify a log output file --log-format string Specify the log message format. Options: [text, json] (default "text") --log-level string Specify the log level. Options: [debug, info, warning, error, panic] (default "info") --silence Do not print logs to stdout --skip-fix-ssh Skip fix ssh connection by interaction -v, --version Print version of ptk Use "ptk [command] --help" for more information about a command.

部署数据库

系统检查

检查项目

​ PTK 内置了 checkos 的指令来辅助你进行检查操作,在检查过程中,PTK 会对服务器上以下这些模块进行检查:

类别编号 类别 检查项 说明
A1 系统版本 Check_OS_Version 检查系统版本
A2 内核版本 Check_Kernel_Version 检查内核版本
A3 字符集 Check_Unicode 检查字符集
A4 时区 Check_TimeZone 检查时区
A5 内存交换区 Check_Swap_Memory_Configure 检查 swap 内存配置
A6 sysctl参数 Check_SysCtl_Parameter 检查 sysctl 参数
A7 文件系统 Check_FileSystem_Configure 检查文件系统配置
A8 磁盘配置 Check_Disk_Configure 检查磁盘配置
A9 预读块设置 Check_BlockDev_Configure 检查块设备配置
Check_Logical_Block 检查逻辑块
A10 IO调度 Check_IO_Request 检查 IO 请求参数
Check_Asynchronous_IO_Request 检查异步 IO 请求参数
Check_IO_Configure 检查 IO 配置
A11 网络配置 Check_Network_Configure 检查网络配置
A12 时钟一致性 Check_Time_Consistency 检查时钟一致性
A13 防火墙配置 Check_Firewall_Service 检查防火墙配置
A14 透明大页配置 Check_THP_Service 检查透明大页配置
A15 依赖包 Check_Dependent_Package 检查数据库系统安装依赖
A16 CPU指令集 Check_CPU_Instruction_Set 检查CPU指令集
A17 端口状态 Check_Port 检查数据库端口是否被占用
A18 Selinux状态 Check_Selinux 检查系统Selinux是否关闭
A19 用户Ulimit状态 Check_User_Ulimit 检查数据库用户的 Ulimit 值是否满足数据库要求(系统用户存在时)

​ 在使用 PTK 进行系统检查时,需指定集群配置文件(-f)以及指定要检查的内容(-i),如果不知道要检查的内容,默认会检查以上表格内的所有项目。如果需要针对个别类别进行检查,可以通过以逗号连接类别编号来进行指定。

检查结果分类

PTK 的检查结果分为四个等级:

  • OK:符合预期值,满足安装需求
  • Warning: 不符合预期值,但不影响安装(预期值主要针对生产环境进行的建议)
  • Abnormal: 不满足安装要求,可能会导致安装过程失败,需根据 PTK 给出的修改建议脚本,人工执行修改
  • ExecuteError: 执行错误,该等级表示 PTK 在检查时执行命令失败,可能为用户环境工具缺失或内部BUG,需根据实际错误提示进行修正

在安装数据库之前,需确保所有的检查项都在 OKWarning 级别,如果存在 Abnormal 的检查结果,在安装时会中断退出。

执行系统检查

[root@mogdb1 ~]# ptk checkos INFO[2024-05-23T16:49:50.071] prechecking dependent tools... WARN[2024-05-23T16:49:50.189] [10.0.2.15][omm] device(sda) 'IO Request'=64, expect 256 ERRO[2024-05-23T16:49:51.152] [10.0.2.15][omm] not found package: numactl INFO[2024-05-23T16:49:51.152] [10.0.2.15][omm] platform: kylin_V10_64bit INFO[2024-05-23T16:49:51.156] [10.0.2.15][omm] timezone: +0800 INFO[2024-05-23T16:49:51.160] [10.0.2.15][omm] kernel version: 4.19.90-52.22.v2207.ky10.x86_64 WARN[2024-05-23T16:49:51.275] [10.0.2.15][omm] net.ipv4.tcp_retries1=3, expect 5 WARN[2024-05-23T16:49:51.309] [10.0.2.15][omm] net.ipv4.tcp_syn_retries=6, expect 5 INFO[2024-05-23T16:49:51.314] [10.0.2.15][omm] check kernel.core_pattern INFO[2024-05-23T16:49:51.322] [10.0.2.15][omm] check RemoveIPC value INFO[2024-05-23T16:49:51.338] [10.0.2.15][omm] check KillUserProcesses value ERRO[2024-05-23T16:49:51.444] [10.0.2.15][omm] selinux mode in /etc/selinux/config is 'enforcing' INFO[2024-05-23T16:49:51.449] [10.0.2.15][omm] locale: LANG=en_US.UTF-8 INFO[2024-05-23T16:49:51.453] [10.0.2.15][omm] swap memory 2162684kB, total memory 6847020kB INFO[2024-05-23T16:49:51.454] all checkers finished INFO[2024-05-23T16:49:51.454] write fix os script to root_fix_os.0523.164951.sh success INFO[2024-05-23T16:49:51.454] time elapsed: 1s # Check Results Item | Level ------------------------------------+----------- A1.Check_OS_Version | OK A2.Check_Kernel_Version | OK A3.Check_Unicode | OK A4.Check_TimeZone | OK A5.Check_Swap_Memory_Configure | OK A6.Check_SysCtl_Parameter | Warning A7.Check_FileSystem_Configure | OK A8.Check_Disk_Configure | OK A9.Check_Logical_Block | OK A9.Check_BlockDev_Configure | OK A10.Check_NR_Request | Warning A10.Check_Asynchronous_IO_Request | OK A10.Check_IO_Configure | OK A11.Check_Network_Configure | OK A12.Check_Time_Consistency | OK A13.Check_Firewall_Status | OK A14.Check_THP_Status | OK A15.Check_Dependent_Package | Abnormal A16.Check_CPU_Instruction_Set | OK A18.Check_Selinux | Abnormal Total count 20, abnormal count 2, warning count 2 Failed to check os, can’t perform installation unless fix all the abnormal items. You can use 'ptk checkos -i ITEM --detail' to get detail message Please check root_fix_os.0523.164951.sh for commands to resolve. #备注:**ptk checkos -i ITEM --detail** 这里的ITEM内容是A1,A2 ,--detail 是查看的详细信息

对系统检查进行修复

对级别是Warning,Abnormal的检查项输出详细信息并得到修改的命令脚本
[root@mogdb1 ~]# ptk checkos --detail --gen-warning-fix INFO[2024-05-23T16:59:34.191] prechecking dependent tools... WARN[2024-05-23T16:59:34.299] [10.0.2.15][omm] net.ipv4.tcp_syn_retries=6, expect 5 WARN[2024-05-23T16:59:34.365] [10.0.2.15][omm] net.ipv4.tcp_retries1=3, expect 5 INFO[2024-05-23T16:59:34.402] [10.0.2.15][omm] check kernel.core_pattern INFO[2024-05-23T16:59:34.411] [10.0.2.15][omm] check RemoveIPC value INFO[2024-05-23T16:59:34.425] [10.0.2.15][omm] check KillUserProcesses value WARN[2024-05-23T16:59:34.455] [10.0.2.15][omm] device(sda) 'IO Request'=64, expect 256 ERRO[2024-05-23T16:59:35.384] [10.0.2.15][omm] not found package: numactl ERRO[2024-05-23T16:59:35.396] [10.0.2.15][omm] selinux mode in /etc/selinux/config is 'enforcing' INFO[2024-05-23T16:59:35.396] all checkers finished INFO[2024-05-23T16:59:35.396] write fix os script to root_fix_os.0523.165935.sh success INFO[2024-05-23T16:59:35.396] time elapsed: 1s # Check Results Item | Level | Message ------------------------------------+----------+----------------------------------------------------- A6.Check_SysCtl_Parameter | Warning | [10.0.2.15]: | | Warning: net.ipv4.tcp_syn_retries=6, expect 5 | | Warning: net.ipv4.tcp_retries1=3, expect 5 A10.Check_NR_Request | Warning | [10.0.2.15]: | | device(sda) 'IO Request'=64, expect 256 A10.Check_Asynchronous_IO_Request | OK | A10.Check_IO_Configure | OK | A15.Check_Dependent_Package | Abnormal | [10.0.2.15]: | | Warning: not found package: flex | | Warning: not found package: bison | | Warning: not found package: ncurses-devel | | Warning: not found package: glibc-devel | | Warning: not found package: patch | | Abnormal: not found package: numactl A18.Check_Selinux | Abnormal | [10.0.2.15]: | | selinux mode in /etc/selinux/config is 'enforcing' Total count 6, abnormal count 2, warning count 2 Failed to check os, can’t perform installation unless fix all the abnormal items. You can use 'ptk checkos -i ITEM --detail' to get detail message Please check root_fix_os.0523.165935.sh for commands to resolve. #root_fix_os.0523.165935.sh 脚本是修复系统配置, #查看修复脚本的内容,是对系统参数进行配置,安装package,关闭selinux [root@mogdb1 ~]# cat root_fix_os.0523.165935.sh #!/usr/bin/env bash local_ips=$(ip addr | grep 'inet' | grep -v 'inet6\|127.0.0.1' | grep -v grep | awk -F '/' '{print $1}' | awk '{print $2}') # fix suggestions for host: 10.0.2.15 for ip in ${local_ips}; do if [[ "${ip}" == "10.0.2.15" ]]; then if ! (sed -i '/net.ipv4.tcp_syn_retries/d' /etc/sysctl.conf;echo net.ipv4.tcp_syn_retries = 5 >> /etc/sysctl.conf); then echo '[ERROR] Execute failed. Command: sed -i '/net.ipv4.tcp_syn_retries/d' /etc/sysctl.conf;echo net.ipv4.tcp_syn_retries = 5 >> /etc/sysctl.conf'; fi; if ! (sed -i '/net.ipv4.tcp_retries1/d' /etc/sysctl.conf;echo net.ipv4.tcp_retries1 = 5 >> /etc/sysctl.conf); then echo '[ERROR] Execute failed. Command: sed -i '/net.ipv4.tcp_retries1/d' /etc/sysctl.conf;echo net.ipv4.tcp_retries1 = 5 >> /etc/sysctl.conf'; fi; sysctl -p if ! (echo 256 >> /sys/block/sda/queue/nr_requests); then echo '[ERROR] Execute failed. Command: echo 256 >> /sys/block/sda/queue/nr_requests'; fi; if ! (sudo yum install -y flex); then echo '[ERROR] Execute failed. Command: sudo yum install -y flex'; fi; if ! (sudo yum install -y bison); then echo '[ERROR] Execute failed. Command: sudo yum install -y bison'; fi; if ! (sudo yum install -y ncurses-devel); then echo '[ERROR] Execute failed. Command: sudo yum install -y ncurses-devel'; fi; if ! (sudo yum install -y glibc-devel); then echo '[ERROR] Execute failed. Command: sudo yum install -y glibc-devel'; fi; if ! (sudo yum install -y patch); then echo '[ERROR] Execute failed. Command: sudo yum install -y patch'; fi; if ! (sudo yum install -y numactl); then echo '[ERROR] Execute failed. Command: sudo yum install -y numactl'; fi; if ! (sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config); then echo '[ERROR] Execute failed. Command: sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config'; fi; exit 0 fi done #执行修复脚本,如果脚本涉及到要安装package包的,配置好本地的yum或可以联网安装。 [root@mogdb1 ~]# sh root_fix_os.0523.165935.sh #修复后再次进行检查 [root@mogdb1 ~]# ptk checkos INFO[2024-05-23T17:22:11.618] prechecking dependent tools... INFO[2024-05-23T17:22:12.657] [10.0.2.15][omm] kernel version: 4.19.90-52.22.v2207.ky10.x86_64 INFO[2024-05-23T17:22:12.778] [10.0.2.15][omm] check kernel.core_pattern INFO[2024-05-23T17:22:12.786] [10.0.2.15][omm] check RemoveIPC value INFO[2024-05-23T17:22:12.796] [10.0.2.15][omm] check KillUserProcesses value INFO[2024-05-23T17:22:12.894] [10.0.2.15][omm] locale: LANG=en_US.UTF-8 INFO[2024-05-23T17:22:12.903] [10.0.2.15][omm] timezone: +0800 INFO[2024-05-23T17:22:12.926] [10.0.2.15][omm] platform: kylin_V10_64bit INFO[2024-05-23T17:22:12.933] [10.0.2.15][omm] swap memory 2162684kB, total memory 6847020kB INFO[2024-05-23T17:22:12.933] all checkers finished INFO[2024-05-23T17:22:12.933] time elapsed: 1s # Check Results Item | Level ------------------------------------+-------- A1.Check_OS_Version | OK A2.Check_Kernel_Version | OK A3.Check_Unicode | OK A4.Check_TimeZone | OK A5.Check_Swap_Memory_Configure | OK A6.Check_SysCtl_Parameter | OK A7.Check_FileSystem_Configure | OK A8.Check_Disk_Configure | OK A9.Check_BlockDev_Configure | OK A9.Check_Logical_Block | OK A10.Check_NR_Request | OK A10.Check_Asynchronous_IO_Request | OK A10.Check_IO_Configure | OK A11.Check_Network_Configure | OK A12.Check_Time_Consistency | OK A13.Check_Firewall_Status | OK A14.Check_THP_Status | OK A15.Check_Dependent_Package | OK A16.Check_CPU_Instruction_Set | OK A18.Check_Selinux | OK Total count 20, abnormal count 0, warning count 0

配置本地yum

#创建挂载目录 [root@mogdb1 ~]# mkdir /mnt/cdrom #挂载iso [root@mogdb1 ~]# mount /dev/cdrom /mnt/cdrom mount: /mnt/cdrom: /dev/sr0 already mounted on /mnt/cdrom. #或者iso文件挂载 [root@mogdb1 ~]# mount /root/Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso /mnt/cdrom # 重命名在线kylin_x86_64.repo为repo.bak [root@mogdb1 ~]# cd /etc/yum.repos.d/ [root@mogdb1 yum.repos.d]# mv kylin_x86_64.repo kylin_x86_64.repo.bak #添加本地yum repo文件 [root@mogdb1 ~]# cat > /etc/yum.repos.d/kylin-media.repo <<EOF [kylin-media] name=Server baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release EOF #更新yum [root@mogdb1 ~]# yum makecache

ptk命令示例

ptk checkos -i A1,A2,A3 # 要检查多个状态,请按以下格式输入项目:“-i A1,A2,A3”。 ptk checkos -i A # 检查全部检查项 ptk checkos -i A --detail # 加上--detail 会显示详细信息 ptk checkos --gen-warning-fix # 输出 root-fix 脚本的时候,将 warning 级别的检查项也生成修复指令

数据库安装

准备配置文件

使用 PTK 进行数据库的安装或扩容时,需要用户提前准备一个用来描述集群拓扑结构的 YAML 格式的配置文件,可以通过查看现有的配置示例进行修改,也可以通过 ptk 提供的 template 指令进行自动生成,生成方式可以参考创建配置文件章节

使用交互式创建模板

配置文件示例[root@mogdb1 ~]# ptk template create
✔ Please enter cluster name (default: satoshi): mogdb
✔ Please enter group of user (default: omm): █
✔ Please enter db password (8~15 characters, 3 classes): ************
✔ Retype db password: ************
✔ Please enter db port (range 1024~65535) (default: 26000):
✔ Please enter mogdb base dir (which should be empty) (default: /opt/mogdb): /data/mogdb
✔ Do you want to intall cm component (default=n) [y/n]: y
And then, let's add some db servers
================db server 1================
✔ Please enter server ip (IPv4 only): 192.168.56.231
✔ Please choose db role: primary
✔ Please enter available zone name (default: AZ1):
✔ Please enter zone("AZ1") priority (default: 1):
================ end ================
✔ Do you want to add another db server (default=n) [y/n]: y
================db server 2================
✔ Please enter server ip (IPv4 only): 192.168.56.232
✔ Please choose db role: standby
✔ Please enter available zone name (default: AZ1): █
✔ [SSH] Please enter ssh user (default: root):
✔ [SSH] Please enter ssh port (default: 22):
✔ [SSH] Please choice an auth method: : Password
✔ [SSH] Please enter ssh password: ************
================ end ================
✔ Do you want to add another db server (default=n) [y/n]: y
================db server 3================
✔ Please enter server ip (IPv4 only): 192.168.56.233
✔ Please choose db role: standby
✔ Please enter available zone name (default: AZ1):
✔ Do you want to reuse SSH configurations from other servers (default=n) [y/n]: y
✔ Please choose a server: 192.168.56.232
================ end ================
✔ Do you want to add another db server (default=n) [y/n]: n
Generate /root/config.2024-05-24T21_36_58.yaml successfully
[root@mogdb1 ~]# cat config.2024-05-24T21_36_58.yaml
global:
    cluster_name: mogdb
    user: omm
    group: omm
    db_password: pTk6YWEwYjVlNzM8QT5APj0/Q1UxZXJhalpXSzZqMDZkbktSX1JtbjVRb1lQMkIxVDg3N2k5TG5XVTR4d2c=
    db_port: 26000
    base_dir: /data/mogdb
    cm_option:
        dir: /data/mogdb/cm
        cm_server_port: 15300
        db_service_vip: ""
db_servers:
    - host: 192.168.56.231
      role: primary
      az_name: AZ1
      az_priority: 1
    - host: 192.168.56.232
      role: standby
      az_name: AZ1
      az_priority: 1
      ssh_option:
        port: 22
        user: root
        password: pTk6ZjE0OTc1ZTQ8QT5APj1ARHpHaER0OHhkTDdsNWlBeV8xaVkwc3lCZ0FDNkxUa09fRWpnTmlRWXBPQm8=
    - host: 192.168.56.233
      role: standby
      az_name: AZ1
      az_priority: 1
      ssh_option:
        port: 22
        user: root
        password: pTk6ZjE0OTc1ZTQ8QT5APj1ARHpHaER0OHhkTDdsNWlBeV8xaVkwc3lCZ0FDNkxUa09fRWpnTmlRWXBPQm8=
cm_servers: []

执行安装

​ 数据库安装文件下载页面:https://www.mogdb.io/downloads/mogdb

​ 系统检查完成后,我们就可以使用 PTK 进行数据库安装了,安装仅需输入以下指令即可:

[root@mogdb1 ~]# ptk install -f config.2024-05-24T21_36_58.yaml -y -p MogDB-5.0.6-Kylin-x86_64-all.tar.gz INFO[2024-05-24T22:11:02.570] PTK Version: 1.4.5 release INFO[2024-05-24T22:11:02.571] load config from config.2024-05-24T21_36_58.yaml INFO[2024-05-24T22:11:02.593] start check hostname ... INFO[2024-05-24T22:11:10.449] check hostname success INFO[2024-05-24T22:11:10.451] start check os ... INFO[2024-05-24T22:11:10.455] prechecking dependent tools... INFO[2024-05-24T22:12:15.475] [192.168.56.233][omm] check port 26000 INFO[2024-05-24T22:12:15.482] [192.168.56.231][omm] check port 26000 INFO[2024-05-24T22:12:15.484] [192.168.56.232][omm] check port 26000 INFO[2024-05-24T22:12:15.599] [192.168.56.231][omm] port 26000 is free INFO[2024-05-24T22:12:21.336] [192.168.56.232][omm] port 26000 is free INFO[2024-05-24T22:12:24.558] [192.168.56.233][omm] port 26000 is free INFO[2024-05-24T22:12:31.427] [192.168.56.231][omm] check kernel.core_pattern INFO[2024-05-24T22:12:31.564] [192.168.56.231][omm] check RemoveIPC value INFO[2024-05-24T22:12:31.749] [192.168.56.231][omm] check KillUserProcesses value INFO[2024-05-24T22:13:20.082] [192.168.56.232][omm] check kernel.core_pattern INFO[2024-05-24T22:13:22.774] [192.168.56.232][omm] check RemoveIPC value INFO[2024-05-24T22:13:25.542] [192.168.56.232][omm] check KillUserProcesses value INFO[2024-05-24T22:13:48.884] [192.168.56.233][omm] check kernel.core_pattern INFO[2024-05-24T22:13:53.683] [192.168.56.233][omm] check RemoveIPC value INFO[2024-05-24T22:13:59.576] [192.168.56.233][omm] check KillUserProcesses value INFO[2024-05-24T22:14:35.748] [192.168.56.233][omm] platform: kylin_V10_64bit INFO[2024-05-24T22:14:35.749] [192.168.56.231][omm] platform: kylin_V10_64bit INFO[2024-05-24T22:14:35.749] [192.168.56.232][omm] platform: kylin_V10_64bit INFO[2024-05-24T22:14:35.812] [192.168.56.231][omm] timezone: +0800 INFO[2024-05-24T22:14:37.207] [192.168.56.232][omm] timezone: +0800 INFO[2024-05-24T22:14:38.689] [192.168.56.233][omm] timezone: +0800 INFO[2024-05-24T22:14:42.677] [192.168.56.231][omm] locale: LANG=en_US.UTF-8 INFO[2024-05-24T22:14:44.155] [192.168.56.232][omm] locale: LANG=en_US.UTF-8 INFO[2024-05-24T22:14:44.767] [192.168.56.233][omm] locale: LANG=en_US.UTF-8 INFO[2024-05-24T22:14:44.856] [192.168.56.231][omm] swap memory 2162684kB, total memory 6847020kB INFO[2024-05-24T22:14:46.652] [192.168.56.232][omm] swap memory 2162684kB, total memory 6847020kB INFO[2024-05-24T22:14:47.726] [192.168.56.233][omm] swap memory 2162684kB, total memory 6847020kB WARN[2024-05-24T22:14:47.783] [192.168.56.231][omm] device(sda) 'IO Request'=64, expect 256 INFO[2024-05-24T22:14:57.034] [192.168.56.231][omm] kernel version: 4.19.90-52.22.v2207.ky10.x86_64 INFO[2024-05-24T22:14:58.594] [192.168.56.232][omm] kernel version: 4.19.90-52.22.v2207.ky10.x86_64 INFO[2024-05-24T22:14:59.352] [192.168.56.233][omm] kernel version: 4.19.90-52.22.v2207.ky10.x86_64 INFO[2024-05-24T22:15:02.018] all checkers finished INFO[2024-05-24T22:15:02.024] time elapsed: 3m52s INFO[2024-05-24T22:15:02.032] check os success INFO[2024-05-24T22:15:02.042] start check distro ... INFO[2024-05-24T22:15:02.043] check distro success INFO[2024-05-24T22:15:02.044] start check user ... INFO[2024-05-24T22:15:09.444] check user success INFO[2024-05-24T22:15:09.447] start check port ... INFO[2024-05-24T22:15:09.449] checking port 26000 on host 192.168.56.231 (db listen port) ... INFO[2024-05-24T22:15:09.450] checking port 26000 on host 192.168.56.232 (db listen port) ... INFO[2024-05-24T22:15:09.450] checking port 26000 on host 192.168.56.233 (db listen port) ... INFO[2024-05-24T22:15:09.544] checking port 26001 on host 192.168.56.231 (db HA port) ... INFO[2024-05-24T22:15:15.429] checking port 26001 on host 192.168.56.232 (db HA port) ... INFO[2024-05-24T22:15:20.154] checking port 26001 on host 192.168.56.233 (db HA port) ... INFO[2024-05-24T22:15:33.909] check port success INFO[2024-05-24T22:15:42.706] start prepare installation package ... INFO[2024-05-24T22:15:42.707] installation package is ready INFO[2024-05-24T22:15:42.709] parse installation package ... INFO[2024-05-24T22:16:14.101] db product: MogDB, version: 5.0.6, number: 92.920, commit_id: 8b0a6ca8 INFO[2024-05-24T22:16:15.830] extract MogDB-5.0.6-Kylin-64bit.tar.gz to dir /tmp/ptk_tmp_2609185530 INFO[2024-05-24T22:16:33.343] execute command: mogdb --version INFO[2024-05-24T22:16:34.282] parse installation package success INFO[2024-05-24T22:16:34.285] start complete the configuration ... INFO[2024-05-24T22:16:34.286] complete the configuration success INFO[2024-05-24T22:16:34.286] save the topology to metadata INFO[2024-05-24T22:16:34.294] start distribute installation package ... > To 192.168.56.232: 136.94 MiB / 136.94 MiB [------------------------------------------------------------------------] 100.00% 614.54 KiB p/s 3m48s > To 192.168.56.233: 136.94 MiB / 136.94 MiB [------------------------------------------------------------------------] 100.00% 620.62 KiB p/s 3m46s INFO[2024-05-24T22:20:24.393] distrubite packages success INFO[2024-05-24T22:20:24.395] start install logic nodes ... INFO[2024-05-24T22:20:24.395] deploy db to omm@192.168.56.231 INFO[2024-05-24T22:20:24.396] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb INFO[2024-05-24T22:20:24.398] deploy db to omm@192.168.56.233 ⣾ executing...INFO[2024-05-24T22:20:24.397] deploy db to omm@192.168.56.232 INFO[2024-05-24T22:20:24.401] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb INFO[2024-05-24T22:20:24.402] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb INFO[2024-05-24T22:20:25.897] [192.168.56.231][omm] clean user omm's ipc resource INFO[2024-05-24T22:20:27.662] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb/tool,/data/mogdb/tool/ptk_tool/bin INFO[2024-05-24T22:20:35.515] [192.168.56.231][omm] extract MogDB-5.0.6-Kylin-x86_64-all.tar.gz to dir /data/mogdb/tool ⣻ executing...INFO[2024-05-24T22:20:37.324] [192.168.56.232][omm] clean user omm's ipc resource INFO[2024-05-24T22:20:41.769] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb/tool,/data/mogdb/tool/ptk_tool/bin INFO[2024-05-24T22:20:44.380] [192.168.56.231][omm] extract MogDB-5.0.6-Kylin-64bit-om.tar.gz to dir /data/mogdb/tool INFO[2024-05-24T22:20:46.310] [192.168.56.233][omm] clean user omm's ipc resource INFO[2024-05-24T22:20:48.423] [192.168.56.231][omm] try to fix psutil python lib INFO[2024-05-24T22:20:49.669] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb/tool,/data/mogdb/tool/ptk_tool/bin INFO[2024-05-24T22:20:51.611] [192.168.56.231][omm] write file /data/mogdb/tool/script/py_pstree.py INFO[2024-05-24T22:20:53.189] [192.168.56.231][omm] write file /data/mogdb/tool/ptk_tool/bin/README.md INFO[2024-05-24T22:20:54.250] [192.168.56.232][omm] extract MogDB-5.0.6-Kylin-x86_64-all.tar.gz to dir /data/mogdb/tool INFO[2024-05-24T22:20:55.600] [192.168.56.231][omm] write file /data/mogdb/tool/ptk_tool/bin/pscp INFO[2024-05-24T22:20:58.066] [192.168.56.231][omm] write file /data/mogdb/tool/ptk_tool/bin/pssh INFO[2024-05-24T22:21:00.292] [192.168.56.231][omm] write file /data/mogdb/tool/ptk_tool/bin/task_pool.py INFO[2024-05-24T22:21:03.188] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb/app INFO[2024-05-24T22:21:05.545] [192.168.56.231][omm] extract MogDB-5.0.6-Kylin-64bit.tar.gz to dir /data/mogdb/app INFO[2024-05-24T22:21:15.680] [192.168.56.233][omm] extract MogDB-5.0.6-Kylin-x86_64-all.tar.gz to dir /data/mogdb/tool INFO[2024-05-24T22:21:23.192] [192.168.56.231][omm] change mode of /data/mogdb/app to 700 INFO[2024-05-24T22:21:24.206] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb/app/share/postgresql INFO[2024-05-24T22:21:25.038] [192.168.56.232][omm] extract MogDB-5.0.6-Kylin-64bit-om.tar.gz to dir /data/mogdb/tool INFO[2024-05-24T22:21:27.954] [192.168.56.231][omm] copy /data/mogdb/tool/script/gspylib/etc/sql/pmk_schema.sql to /data/mogdb/app/share/postgresql INFO[2024-05-24T22:21:28.912] [192.168.56.231][omm] copy /data/mogdb/tool/script/gspylib/etc/sql/pmk_schema_single_inst.sql to /data/mogdb/app/share/postgresql INFO[2024-05-24T22:21:29.818] [192.168.56.231][omm] write file /data/mogdb/app/bin/transfer.py INFO[2024-05-24T22:21:31.226] [192.168.56.231][omm] set user omm profiles INFO[2024-05-24T22:21:35.630] [192.168.56.232][omm] try to fix psutil python lib INFO[2024-05-24T22:21:37.773] [192.168.56.231][omm] validate and try to fix ld library for gs_initdb INFO[2024-05-24T22:21:38.852] [192.168.56.231][omm] validate and try to fix ld library for mogdb INFO[2024-05-24T22:21:39.778] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb/log/gs_profile,/data/mogdb/log/pg_log,/data/mogdb/log/pg_audit,/data/mogdb/log/bin,/data/mogdb/log/pg_log/dn_6001,/data/mogdb/log/pg_audit/dn_6001 INFO[2024-05-24T22:21:43.057] [192.168.56.232][omm] write file /data/mogdb/tool/script/py_pstree.py INFO[2024-05-24T22:21:46.913] [192.168.56.232][omm] write file /data/mogdb/tool/ptk_tool/bin/README.md INFO[2024-05-24T22:21:51.555] [192.168.56.233][omm] extract MogDB-5.0.6-Kylin-64bit-om.tar.gz to dir /data/mogdb/tool INFO[2024-05-24T22:21:53.114] [192.168.56.232][omm] write file /data/mogdb/tool/ptk_tool/bin/pscp INFO[2024-05-24T22:21:56.675] [192.168.56.232][omm] write file /data/mogdb/tool/ptk_tool/bin/pssh INFO[2024-05-24T22:22:00.837] [192.168.56.232][omm] write file /data/mogdb/tool/ptk_tool/bin/task_pool.py INFO[2024-05-24T22:22:00.858] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb/tmp INFO[2024-05-24T22:22:03.136] [192.168.56.231][omm] save version to upgrade_version INFO[2024-05-24T22:22:06.459] [192.168.56.231][omm] create file cluster_manual_start INFO[2024-05-24T22:22:07.382] [192.168.56.231][omm] generate cluster_static_config file INFO[2024-05-24T22:22:08.558] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb/app ⣾ executing...INFO[2024-05-24T22:22:08.847] [192.168.56.231][omm] make user omm's dir(s): /data/mogdb/data INFO[2024-05-24T22:22:10.955] [192.168.56.231][omm] write file /data/mogdb/tool/.ptk_deployer INFO[2024-05-24T22:22:13.699] [192.168.56.232][omm] extract MogDB-5.0.6-Kylin-64bit.tar.gz to dir /data/mogdb/app INFO[2024-05-24T22:22:18.351] [192.168.56.233][omm] try to fix psutil python lib INFO[2024-05-24T22:22:37.249] [192.168.56.233][omm] write file /data/mogdb/tool/script/py_pstree.py INFO[2024-05-24T22:22:42.286] [192.168.56.233][omm] write file /data/mogdb/tool/ptk_tool/bin/README.md INFO[2024-05-24T22:22:42.778] [192.168.56.232][omm] change mode of /data/mogdb/app to 700 INFO[2024-05-24T22:22:44.109] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb/app/share/postgresql INFO[2024-05-24T22:22:46.501] [192.168.56.232][omm] copy /data/mogdb/tool/script/gspylib/etc/sql/pmk_schema.sql to /data/mogdb/app/share/postgresql INFO[2024-05-24T22:22:47.028] [192.168.56.232][omm] copy /data/mogdb/tool/script/gspylib/etc/sql/pmk_schema_single_inst.sql to /data/mogdb/app/share/postgresql INFO[2024-05-24T22:22:47.146] [192.168.56.233][omm] write file /data/mogdb/tool/ptk_tool/bin/pscp INFO[2024-05-24T22:22:47.526] [192.168.56.232][omm] write file /data/mogdb/app/bin/transfer.py INFO[2024-05-24T22:22:48.404] [192.168.56.232][omm] set user omm profiles INFO[2024-05-24T22:22:51.904] [192.168.56.232][omm] validate and try to fix ld library for gs_initdb INFO[2024-05-24T22:22:52.411] [192.168.56.232][omm] validate and try to fix ld library for mogdb INFO[2024-05-24T22:22:52.572] [192.168.56.233][omm] write file /data/mogdb/tool/ptk_tool/bin/pssh INFO[2024-05-24T22:22:54.794] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb/log/gs_profile,/data/mogdb/log/pg_log,/data/mogdb/log/pg_audit,/data/mogdb/log/bin,/data/mogdb/log/pg_log/dn_6002,/data/mogdb/log/pg_audit/dn_6002 INFO[2024-05-24T22:22:59.960] [192.168.56.233][omm] write file /data/mogdb/tool/ptk_tool/bin/task_pool.py INFO[2024-05-24T22:23:10.323] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb/app INFO[2024-05-24T22:23:15.672] [192.168.56.233][omm] extract MogDB-5.0.6-Kylin-64bit.tar.gz to dir /data/mogdb/app INFO[2024-05-24T22:23:32.611] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb/tmp INFO[2024-05-24T22:23:36.447] [192.168.56.232][omm] save version to upgrade_version INFO[2024-05-24T22:23:41.586] [192.168.56.232][omm] create file cluster_manual_start INFO[2024-05-24T22:23:43.030] [192.168.56.232][omm] generate cluster_static_config file INFO[2024-05-24T22:23:45.511] [192.168.56.232][omm] make user omm's dir(s): /data/mogdb/data INFO[2024-05-24T22:23:48.866] [192.168.56.232][omm] write file /data/mogdb/tool/.ptk_deployer INFO[2024-05-24T22:24:28.174] [192.168.56.233][omm] change mode of /data/mogdb/app to 700 INFO[2024-05-24T22:24:30.279] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb/app/share/postgresql INFO[2024-05-24T22:24:39.412] [192.168.56.233][omm] copy /data/mogdb/tool/script/gspylib/etc/sql/pmk_schema.sql to /data/mogdb/app/share/postgresql INFO[2024-05-24T22:24:42.700] [192.168.56.233][omm] copy /data/mogdb/tool/script/gspylib/etc/sql/pmk_schema_single_inst.sql to /data/mogdb/app/share/postgresql INFO[2024-05-24T22:24:45.106] [192.168.56.233][omm] write file /data/mogdb/app/bin/transfer.py INFO[2024-05-24T22:24:48.892] [192.168.56.233][omm] set user omm profiles INFO[2024-05-24T22:25:20.016] [192.168.56.233][omm] validate and try to fix ld library for gs_initdb INFO[2024-05-24T22:25:22.616] [192.168.56.233][omm] validate and try to fix ld library for mogdb INFO[2024-05-24T22:25:23.913] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb/log/gs_profile,/data/mogdb/log/pg_log,/data/mogdb/log/pg_audit,/data/mogdb/log/bin,/data/mogdb/log/pg_log/dn_6003,/data/mogdb/log/pg_audit/dn_6003 INFO[2024-05-24T22:26:15.045] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb/tmp INFO[2024-05-24T22:26:19.598] [192.168.56.233][omm] save version to upgrade_version INFO[2024-05-24T22:26:27.948] [192.168.56.233][omm] create file cluster_manual_start INFO[2024-05-24T22:26:30.242] [192.168.56.233][omm] generate cluster_static_config file INFO[2024-05-24T22:26:33.843] [192.168.56.233][omm] make user omm's dir(s): /data/mogdb/data INFO[2024-05-24T22:26:39.084] [192.168.56.233][omm] write file /data/mogdb/tool/.ptk_deployer INFO[2024-05-24T22:26:42.658] generate certification files INFO[2024-05-24T22:26:47.174] download certification files INFO[2024-05-24T22:26:56.900] upload certification files to omm@192.168.56.232 INFO[2024-05-24T22:27:20.307] upload certification files to omm@192.168.56.233 INFO[2024-05-24T22:27:52.999] certification files setup success INFO[2024-05-24T22:27:53.000] initialize db on omm@192.168.56.231 INFO[2024-05-24T22:27:53.003] initialize db on omm@192.168.56.232 INFO[2024-05-24T22:27:53.003] initialize db on omm@192.168.56.233 INFO[2024-05-24T22:27:54.072] [192.168.56.231][omm] the database is initializing, please wait a few minutes INFO[2024-05-24T22:27:54.620] [192.168.56.232][omm] the database is initializing, please wait a few minutes INFO[2024-05-24T22:27:57.639] [192.168.56.233][omm] the database is initializing, please wait a few minutes INFO[2024-05-24T22:29:21.030] [192.168.56.231][omm] config postgresql.conf INFO[2024-05-24T22:29:22.063] [192.168.56.231][omm] config pg_hba.conf INFO[2024-05-24T22:29:23.051] [192.168.56.231][omm] copy ssl files to data dir INFO[2024-05-24T22:30:22.968] [192.168.56.232][omm] config postgresql.conf INFO[2024-05-24T22:30:24.905] [192.168.56.232][omm] config pg_hba.conf INFO[2024-05-24T22:30:26.324] [192.168.56.232][omm] copy ssl files to data dir INFO[2024-05-24T22:31:44.318] [192.168.56.233][omm] config postgresql.conf INFO[2024-05-24T22:31:47.448] [192.168.56.233][omm] config pg_hba.conf INFO[2024-05-24T22:31:50.401] [192.168.56.233][omm] copy ssl files to data dir INFO[2024-05-24T22:33:23.918] logic nodes installed success INFO[2024-05-24T22:33:23.919] generating ptkc ... INFO[2024-05-24T22:33:50.944] start build ssh trust ... INFO[2024-05-24T22:34:15.219] ssh trust build success INFO[2024-05-24T22:34:15.220] start launch db ... INFO[2024-05-24T22:34:15.221] [192.168.56.231][omm] start db using gs_ctl ... INFO[2024-05-24T22:34:15.222] [192.168.56.231][omm] the database is starting, please wait a few minutes INFO[2024-05-24T22:34:15.225] [192.168.56.232][omm] start db using gs_ctl ... INFO[2024-05-24T22:34:15.226] [192.168.56.232][omm] the database is starting, please wait a few minutes INFO[2024-05-24T22:34:15.225] [192.168.56.233][omm] start db using gs_ctl ... ⣾ executing...INFO[2024-05-24T22:34:15.230] [192.168.56.233][omm] the database is starting, please wait a few minutes INFO[2024-05-24T22:34:26.124] [192.168.56.231][omm] start db success INFO[2024-05-24T22:34:27.133] [192.168.56.231][omm] start alter db initial password ... INFO[2024-05-24T22:34:28.761] [192.168.56.233][omm] start db success INFO[2024-05-24T22:34:29.423] [192.168.56.231][omm] alter db password success INFO[2024-05-24T22:34:31.113] [192.168.56.232][omm] start db success INFO[2024-05-24T22:34:31.113] build standbys ... INFO[2024-05-24T22:34:31.113] [192.168.56.232][omm] start build db ... INFO[2024-05-24T22:34:31.113] [192.168.56.232][omm] the database is building from upstream, please wait a few minutes INFO[2024-05-24T22:34:31.114] [192.168.56.232][omm] building database without timeout default, you can set env 'PTK_ENABLE_TIMEOUT_WHEN_BUILD_DB=on' to enable timeout (timeout can be set with env 'PTK_CMD_EXECUTE_TIMEOUT') INFO[2024-05-24T22:34:31.115] [192.168.56.233][omm] start build db ... INFO[2024-05-24T22:34:31.115] [192.168.56.233][omm] the database is building from upstream, please wait a few minutes INFO[2024-05-24T22:34:31.115] [192.168.56.233][omm] building database without timeout default, you can set env 'PTK_ENABLE_TIMEOUT_WHEN_BUILD_DB=on' to enable timeout (timeout can be set with env 'PTK_CMD_EXECUTE_TIMEOUT') INFO[2024-05-24T22:35:54.154] [192.168.56.233][omm] build db success INFO[2024-05-24T22:36:13.205] [192.168.56.232][omm] build db success INFO[2024-05-24T22:36:13.205] standbys build success INFO[2024-05-24T22:36:13.205] launch db success INFO[2024-05-24T22:36:13.205] clear temp dirs ... INFO[2024-05-24T22:36:16.187] clear temp dirs success INFO[2024-05-24T22:36:16.187] time elapsed: 25m13s cluste_name | host | user | port | status | message --------------+----------------+------+-------+---------------+---------- mogdb | 192.168.56.231 | omm | 26000 | start_success | success | 192.168.56.232 | omm | 26000 | start_success | success | 192.168.56.233 | omm | 26000 | start_success | success

查看集群列表

[root@mogdb1 ~]# ptk ls cluster_name | id | addr | user | data_dir | db_version | create_time | comment ---------------+------+----------------------+------+------------------+------------------------------+---------------------+---------- mogdb | 6001 | 192.168.56.231:26000 | omm | /data/mogdb/data | MogDB-5.0.6 (build 8b0a6ca8) | 2024-05-24T22:16:34 | | 6002 | 192.168.56.232:26000 | omm | /data/mogdb/data | | | | 6003 | 192.168.56.233:26000 | omm | /data/mogdb/data |

可以在输出表中查看如下信息:

  • cluster_name: 集群名称
  • id: 安装时给实例分配的ID
  • addr: 实例地址列表
  • user: 运行的系统用户
  • data_dir: 实例的数据目录
  • db_version: 数据库版本信息
  • create_time: 集群创建时间
  • comment: 集群备注

集群安装成功后,在之后管理集群操作时,使用 -n 参数指定集群名称。

查看集群状态

[root@mogdb1 ~]# ptk cluster -n mogdb status [ Cluster State ] cluster_name : mogdb cluster_state : Normal database_version : MogDB-5.0.6 (build 8b0a6ca8) [ Datanode State ] cluster_name | id | ip | port | user | nodename | db_role | state | uptime | upstream ---------------+------+----------------+-------+------+----------+---------+--------+----------+----------- mogdb | 6001 | 192.168.56.231 | 26000 | omm | dn_6001 | primary | Normal | 00:09:29 | - | 6002 | 192.168.56.232 | 26000 | omm | dn_6002 | standby | Normal | 00:07:58 | - | 6003 | 192.168.56.233 | 26000 | omm | dn_6003 | standby | Normal | 00:08:16 | -

集群状态定义

状态 含义
Normal 集群所有实例正常可用
Unavailable 集群无主不可用, 或者主库不是正常状态
Degraded 集群可用,但是部分备节点不可用
Stopped 集群全部节点停止
MultiPrimary 集群出现多个主实例

实例状态定义

实例状态在和数据库内核定义的列表保持一致基础上,新增 SSH Disconnect

状态 含义
Unknown 未知状态
Normal 正常
Need repair 复制断开,待修复
Starting 实例启动中
Wait promoting 等待角色提升
Promoting 角色提升中
Demoting 角色降级中
Building 正在重建
Catchup 正在追赶日志
Coredump 实例崩溃
Stopped 实例停止
SSH Disconnect 实例机器SSH连接失败

附录

建库配置文件字段说明

我们以下面这个完整的配置文件为例说明:

yaml 中,如果是字符串类型默认无需加引号,如果字符串之中包含空格或特殊字符,需要放在引号之中

global: # # 集群名称,用户自定义 cluster_name: c1 # # 运行数据的系统用户 user: omm # # 系统用户组,默认和用户名同名 group: omm # # 系统用户密码,PTK在创建用户时设置,可不填。若填写需通过 ptk encrypt 加密 # user_password: "" # # 数据库密码,需通过 ptk encrypt 加密。若不填写,在安装时会通过交互式填写 db_password: "" # # 数据库端口 db_port: 26000 # # 数据库的安装目录 # # PTK 会在该目录下分别创建应用目录,数据目录,工具目录,日志目录以及临时目录 base_dir: /opt/mogdb # # gs_initdb 工具支持参数列表,安装时会追加到指令中 gs_initdb_opts: - --encoding=UTF-8 - --dbcompatibility=A # # CM 组件的配置,该值在启用CM组件时生效 cm_option: # # CM 的安装目录,不填写默认会在 base_dir 目录下创建 cm 目录 # dir: /opt/mogdb/cm # # CM Server 端口 cm_server_port: 15300 # # 虚拟IP,该值需CM支持的版本才生效 db_service_vip: "" # # CM Server 配置,会更新到 cm_server.conf 中 cm_server_conf: # instance_heartbeat_timeout: 2 # ... # # CM Agent 配置,会更新到 cm_agent.conf 中 cm_agent_conf: # log_max_size: 10240 # ... db_servers: - host: 10.0.1.100 # # 数据库端口 db_port: 26000 # # 数据库角色,支持的选项: primary, standby, cascade_standby role: primary # # 可用区名称,该值在启用CM组件时生效 az_name: AZ1 # # 可用区优先级,值越小优先级越高,最小 1,该值在启用CM组件时生效 az_priority: 1 # # 级联备的上游备库IP,仅级联备时必填 upstream_host: # # postgresql.conf 中支持的参数 db_conf: # replication_type: 1 # # 连接服务器的SSH配置 # ssh_option: # port: 22 # user: root # password: # cm 服务器列表,如果不在这里列出,在安装时会在每个 db_server 的机器上部署 # 注意此处配置不意味着安装,需在安装时指定 --install-cm 参数才会生效 cm_servers: - host: 10.0.1.100 # # CM Server 端口,默认为 global.cm_option.cm_server_port port: 15300 # # ssh 配置信息,如果 db_server 有相同机器配置过,则无需在此处配置 ssh_option:

Copy

整个配置文件分为两个部分:globaldb_servers

  • global: 定义集群内所有实例公用的信息及缺省值
  • db_servers: 实例列表,每个元素代表一个实例信息

global 配置

字段名 解释 值类型 默认值 是否必填 备注
cluster_name 集群名称 字符串 cluster_ 前缀,随机生成
user 操作系统用户 字符串 omm
group 操作系统用户组 字符串 omm
user_password 操作系统用户密码 字符串 需通过 encrypt 指令加密后填写
db_password 数据库密码 字符串 需通过 encrypt 指令加密后填写,若不填写,安装过程也可以填写
db_port 数据库监听端口 整型 26000
base_dir 数据库安装的基础目录 字符串 /opt/mogdb 若填写该字段,app_dir, log_dir, data_dir, tool_dir, cm_dir, tmp_dir 可不填写,自动放置到该字段指定的目录下
app_dir 数据库应用目录 字符串 /opt/mogdb/app
log_dir 数据库日志存放目录 字符串 /opt/mogdb/log
data_dir 数据库数据存放目录 字符串 /opt/mogdb/data
tool_dir 数据库工具存放目录 字符串 /opt/mogdb/tool
tmp_dir 数据库临时文件存放目录 字符串 /opt/mogdb/tmp
core_file_dir 系统 corefile 路径 字符串 若填写会修改系统 kernel.core_pattern 的值
gs_initdb_opts 初始化数据库时 gs_initdb 工具的参数 字符串列表 一个元素设置一个参数,如果未设置 --locale 参数,PTK 默认设置 --no-locale
ssh_option SSH连接认证信息 ssh_option 实例如果需要远程连接,但实例级别的 ssh_option 未配置时会使用 global 内的该字段
cm_option CM组件配置参数 cm_option 该字段在安装时指定 --install-cm 时生效

db_servers 配置

字段名 解释 值类型 默认值 是否必填 备注
host 实例IP 字符串
db_port 实例端口 整型 26000 若未填写,使用 global 内的配置
ha_ips 实例日志复制备用IP列表 字符串列表
ha_port 日志复制备用端口 整型 26001
role 数据库实例角色 字符串 可选值: primary, standby, cascade_standby, 若不填写,集群内随机选择一个实例设置主,其余为备库
upstream_host 级联备上游备库IP 字符串 级联备时必填
az_name 可用区名 字符串 AZ1
az_priority 可用区优先级 整型 1 数值越小优先级越高
xlog_dir xlog 日志目录 字符串 默认会放到 log_dir 的 pg_log 下,若配置该字段,不能为数据目录的子目录,否则启动报错
db_conf 数据库guc 参数配置 字典 字典键为 postgresql.conf 中的参数
ssh_option 连接实例时的ssh 连接认证信息 ssh_option 若未设置使用 global 内的配置

cm_servers 配置

字段名 解释 值类型 默认值 是否必填 备注
host 实例IP 字符串
port CM Server端口 整型 15300 若未填写,使用 global.cm_option.cm_server_port 的值
ssh_option 连接实例时的ssh 连接认证信息 ssh_option 若未设置使用 global 内的配置或db_servers 中相同IP的配置

cm_option

字段名 解释 值类型 默认值 是否必填 备注
dir CM 安装目录 字符串 $base_dir/cm
cm_server_port CM server 监听端口 整型 15300
db_service_vip 虚拟IP(需CM支持) 字符串
cm_server_conf CM sever 配置参数 字典 该字段下字典的键支持任何 cm_server 的参数,PTK 会将值设置到 cm_server.conf 文件中
cm_agent_conf CM agent 配置参数 字典 该字段下字典的键支持任何 cm_agent 的参数,PTK 会将值设置到 cm_agent.conf 文件中

ssh_option

字段名 解释 值类型 默认值 是否必填 备注
host 机器IP 字符串 实例的IP 如果配置为 proxy 跳板机时,该字段必填
port ssh 连接端口 整型 22
user ssh 连接用户 字符串 root 如果连接的用户为非 root 时,需确保该用户具有免密执行 sudo 的权限
password ssh 连接密码 字符串 需通过 encrypt 指令加密后填写
key_file ssh 连接密钥文件 字符串
passphrase ssh 连接密钥文件的口令 字符串
conn_timeout ssh 连接超时时间 Duration 1m
exec_timeout 执行命令超时时间 Duration 10m
proxy 跳板机配置 ssh_option 仅支持跳一次连接

参考资料

https://docs.mogdb.io/zh/ptk/v1.1/overview PTK 部署运维工具

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

评论