文档中心MogDBMogDB StackUqbar
v2.0

文档:v2.0

支持的版本:

其他版本:

部署数据库集群

推荐流程

在部署数据库集群时,建议您按照如下流程来进行操作:

  1. 准备描述集群的配置文件
  2. 对部署的服务器进行操作系统检查,确保安装前操作系统不存在异常的检查项
  3. 有网络的话可以省略)从官网下载要安装的数据库版本的对应操作系统的安装包
  4. 进行数据库集群安装

数据库集群安装

说明

由于 PTK 的所有行为都是基于 SSH 连接来进行指令下发的,所以在配置文件中我们要求为每个数据库服务器都需要配置 ssh_option 字段,当然如果所有服务器拥有相同的连接用户、端口和密码的话,仅需要在 global 块中配置一份 ssh_option 即可。

对于在 ssh_option 中的登录用户,我们推荐您直接配置 root 用户或者具有 sudo 免密权限的用户,由于数据库作为一个基础软件,其对系统的要求相对于应用来说,可能更为苛刻,所以需要借助超级用户权限来给运行数据库的系统用户设置更宽容的 ulimit 配置,同时,提供超级用户的话,您无需提前创建运行数据库的操作系统用户,只需在配置文件中定义好用户名,PTK会自动为您创建好相应的用户,并设置好 ulimit 配置。

当然,如果处于企业安全性强制要求下的话,有可能无法满足 root 用户直接登录的条件,也是可以使用 PTK 进行部署的。这种情况下,您需要提前做以下 3 步:

  1. 提前在服务器上创建好用于运行数据库的操作系统用户(假设用户名为 omm

  2. /etc/security/limits.conf 文件末尾为该用户增加以下配置项( omm 替换为您创建的用户名):

    omm     soft    as      unlimited
    omm     hard    as      unlimited
    omm     soft    nproc   unlimited
    omm     hard    nproc   unlimited
    omm     soft    nofile  1000000
    omm     hard    nofile  1000000
    omm     soft    stack   unlimited
    omm     hard    stack   unlimited
  3. 在配置文件中的 ssh_option 配置修改SSH登录的用户为 omm

ssh_option:
  user: omm
  ...

注:如果使用非超级用户进行集群管理,部分依赖超级权限的命令后续也无法使用,比如 install-mogha

在线安装

安装仅需一行指令即可完成:

ptk install -f config.yaml

该命令会自动从网络上下载 MogDB 的最新的 LTS 版本数据库安装包进行安装,如果您希望自己指定 MogDB 的版本,可以通过 --db-version 参数进行指定,例如:

ptk install -f config.yaml --db-version 5.0.7

可以通过 ptk candidate db 查看 PTK 支持自动下载的 MogDB 版本列表。

在安装完数据库集群后,PTK 默认会将数据库集群启动,如果您不希望安装完成后自动启动集群,可以在命令行指定 --skip-launch-db 参数。

离线安装

如果您提前下载好了安装包,可以通过 -p 参数指定本地安装包进行离线安装:

ptk install -f config.yaml -p <安装包>

同时部署 CM 集群

PTK 支持在部署数据库集群的同时一同把 CM 集群部署好,您仅需在安装的命令中增加一个 --install-cm 参数即可:

集群最少 2 节点才生效

ptk install -f config.yaml --install-cm

默认 PTK 会将 CM server 和数据库实例部署在一起,和数据库的数量保持一致。如果集群的数量大于 3 个以上时,由于 CM 高可用采用的多数派选举算法要求,默认我们推荐是部署奇数个 CM server 节点,所以当部署偶数个数据库实例时, PTK 会通过交互来让您选择一个节点不部署 CM server。您如果仍希望 CM server 和数据库实例的个数保持一致,可以通过在安装命令里增加 --not-limit-cm-nodes 参数来取消该限制。

资源池化部署(beta)

虽然目前内核资源池化的特性还处于深度研发中,但 PTK 在 1.2.0 版本开始就逐渐支持了资源池化的部署。资源池化的部署方式,提供主备机共享一份存储的能力,实现基于磁阵设备的资源池化HA部署形态,解决传统HA部署下存储容量较单机翻倍的问题,同时备机支持实时一致性读。

资源池化架构图如下图所示 (图片来源:openGauss 官网):

资源池化架构图

PTK 支持资源池化场景的部署,由于资源池化的架构中新增了 DSS 模块,同时依赖 CM 对于集群的高可用管理,所以我们需要在配置文件中增加 dss_optioncm_option 的配置,以下为一个示例配置:

global:
    cluster_name: c1
    user: omm
    db_password: pTk6Y2I1OWFiZjI8RT1FPUE9RFZfVTUzTy0zUlR5TDZUTmh1STE4VkQ0T2RDYXBNMThoSlNhZDY3UHB4WVE=
    db_port: 26000
    base_dir: /data/mogdb
    ssh_option:
        port: 22
        user: root
        password: pTk6ZDJmZjZlZjI8RT1FPUE9RUs4WEh1OUJRQURfM29GUjZyb3gzZGU3LVRmLTM3Mm5ySmZ5anJXVkNOTUE=
    cm_option:
        dir: /data/mogdb/cm
        cm_server_port: 15300
    dss_option:
        dir: /data/mogdb/dss
        dss_port: 26010
        dms_port: 26020
        data_vg_name: data
        data_vg_path: /dev/data_shared
        inst_vg_map:
          172.23.1.28: /dev/data_private_28
          172.23.1.45: /dev/data_private_45
        cm_share_vg_path: /dev/cm_shared
        cm_voting_vg_path: /dev/cm_vote
        enable_ssl: on
db_servers:
    - host: 172.23.1.28
      role: primary
    - host: 172.23.1.45
      role: standby

其他配置和普通安装一样,我们重点看下 dss_option 字段。

dss_option 字段中,有以下配置:

字段名 说明
dir dss 模块的安装目录
dss_port dssserver 进程运行时监听的端口,默认 26010
dms_port 资源池化模式时数据库内核之间通信的端口, 默认 26020
data_vg_name 自定义共享数据卷名,默认为 data
data_vg_path 共享数据卷磁盘设备路径
inst_vg_map 每个数据库实例的私有盘路口映射,键为数据库实例IP,值为对应实例的私有数据盘路径
cm_share_vg_path CM 共享盘设备路径
cm_voting_vg_path CM 投票盘设备路径
enable_ssl 是否使用 SSL 加密通信

准备好配置文件后,仅需在安装的命令中增加 --enable-dss 参数即可:

ptk install -f config.yaml --enable-dss

更多参数

以上文档举例给出来不同使用场景的一些参数组合,PTK 的 install 命令还支持很多的参数,可以通过查看命令文档来进一步的了解。

安装结果状态

状态 说明
precheck_success 安装前预检查成功
precheck_failed 安装前预检查失败
setup_db_success 数据库实例安装成功
setup_db_failed 数据库实例安装失败
setup_cm_success CM组件实例安装成功
setup_cm_failed CM组件实例安装失败
init_dss_failed 初始化DSS组件失败
init_dss_success 初始化DSS组件成功
initdb_failed 初始化数据库失败
initdb_success 初始化数据库成功
rollback_success 安装步骤回滚成功
need_rollback_manually 需要手动回滚
start_success 数据库启动成功
start_failed 数据库启动失败
need_start_manually 需要手动启动
Copyright © 2011-2024 www.enmotech.com All rights reserved.