注册
DM8主备集群安装与配置
技术分享/ 文章详情 /

DM8主备集群安装与配置

Mbj 2025/06/13 193 1 0

DM8主备集群安装与配置

1. 环境准备

1.1 硬件要求

  • CPU:Intel Pentium4或更高(建议Pentium 4 1.6G以上)
  • 内存:至少256MB(建议512MB以上)
  • 硬盘:5GB以上可用空间
  • 网络:TCP/IP协议,主备服务器间网络通畅

1.2 软件要求

  • 操作系统:Linux(glibc2.3+,内核2.6+)
  • 系统盘:至少1GB剩余空间
  • 数据库版本:DM8试用版

1.3 环境描述

  • 操作系统:Oracle Linux Server release 7.6 (Maipo)
  • 内存:两台4GB虚拟机
  • 数据库软件:dm8_20250506_x86_rh7_64.zip
  • 下载连接:https://eco.dameng.com/download/

1.3 系统配置优化

# 关闭SELinux vi /etc/selinux/config SELINUX=disabled setenforce 0 # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 优化内核参数,根据机器内存优化这里每台机器4GB vi /etc/sysctl.conf # 添加以下内容: fs.file-max = 6815744 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 1024 65535 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 vm.overcommit_memory = 2 vm.overcommit_ratio = 95 vm.swappiness = 0 vm.min_free_kbytes=51200 kernel.shmall = 470898 kernel.shmmax = 1928798208 kernel.shmmni = 4096 kernel.sem = 500 2048000 200 4096 vm.dirty_background_ratio = 3 vm.dirty_ratio = 20 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 # 生效配置 sysctl -p # 调整资源限制 vi /etc/security/limits.conf * soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536 #启用资源限制 # vi /etc/pam.d/login #session required pam_limits.so echo "session required pam_limits.so" >>/etc/pam.d/login # 禁用透明大页和NUMA vi /etc/default/grub GRUB_CMDLINE_LINUX="... numa=off transparent_hugepage=never" grub2-mkconfig -o /etc/grub2.cfg #根据磁盘类型调整。 SSD:磁盘调度算法推荐设置为noop或none HDD:磁盘调度算法推荐设置为deadline或mq-deadline 临时生效: #SSD echo "noop" >/sys/block/sd*/queue/scheduler #HDD echo "deadline" >/sys/block/sd*/queue/scheduler 永久生效: #SSD # vi /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet numa=off transparent_hugepage=never elevator=noop" #HDD # vi /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet numa=off transparent_hugepage=never elevator=deadline" 生效 grub2-mkconfig -o /etc/grub2.cfg 重启服务器 reboot

2. 数据库安装部署

2.1 创建用户和目录

groupadd -g 10001 dinstall useradd -u 10001 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba passwd dmdba mkdir -p /dm/dmdbms mkdir -p /dmdata/{data,backup,arch} chown dmdba.dinstall -R /dm/dmdbms chown dmdba.dinstall -R /dmdata

2.2 设置环境变量

su - dmdba vi ~/.bash_profile # 添加: export DM_HOME=/dm/dmdbms export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm/dmdbms/bin" export DM_INSTALL_TMPDIR=/tmp export PATH=$DM_HOME/bin:$PATH source ~/.bash_profile

2.3 安装数据库软件

# 解压安装包 unzip dm8_20250506_x86_rh7_64.zip mount -o loop dm8_20250506_x86_rh7_64.iso /mnt # 命令行安装 cd /mnt ./DMInstall.bin -i # 按提示完成安装 # root用户执行脚本 /dm/dmdbms/script/root/root_installer.sh

2.4 初始化数据库实例

cd /dm/dmdbms/bin ./dminit path=/dmdata/data/ db_name=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=32141 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123

3. 主备集群搭建(主备都需要以上章节操作)

3.1 主备搭建规划

目录规划

目录类型 路径 说明
数据库安装路径 /dm/dmdbms/bin 数据库软件安装位置,包含可执行文件
实例安装路径 /dmdata/data/DAMENG 数据库实例文件存放位置(包含dm.ini等配置文件)
归档目录 /dmdata/arch 数据库归档日志存储位置
备份目录 /dmdata/bak 数据库备份文件存放位置
数据目录 /dmdata/data 数据库数据存储位置

端口规划

实例名 PORT_NUM(数据库端口) MAL_INST_DW_PORT(实例守护端口) MAL_HOST(MAL通信IP) MAL_PORT(MAL通信端口) MAL_DW_PORT(守护监听端口) MAL_INST_HOST(实例服务IP)
GRP1_RT_01 32141 33141 192.168.**.6 61141 52141 192.168.**.6
GRP1_RT_02 32142 33142 192.168.**.7 61142 52142 192.168.**.7

3.2 主库备份并还原到备库

# 主库执行 mkdir /dmdata/fullbak ./dmrman backup database '/dmdata/data/DAMENG/dm.ini' full backupset '/dmdata/fullbak/DB_full_first' compressed level 1 parallel 8; # 拷贝到备库 scp -r /dmdata/fullbak/DB_full_first root@备库IP:/dmdata/ # 备库执行 chown -R dmdba:dinstall /dmdata/DB_full_first ./dmrman restore database '/dmdata/data/DAMENG/dm.ini' from backupset '/dmdata/DB_full_first' task thread 16; recover database '/dmdata/data/DAMENG/dm.ini' from backupset '/dmdata/DB_full_first'; recover database '/dmdata/data/DAMENG/dm.ini' update db_magic;

3.2 主库配置

# dm.ini INSTANCE_NAME = GRP1_RT_01 PORT_NUM = 32141 ALTER_MODE_STATUS = 0 ENABLE_OFFLINE_TS = 2 MAL_INI = 1 ARCH_INI = 1 # dmarch.ini [ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME ARCH_DEST = GRP1_RT_02 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dmdata/arch ARCH_FILE_SIZE = 2048 ARCH_SPACE_LIMIT = 51200 # dmmal.ini [MAL_INST1] MAL_INST_NAME = GRP1_RT_01 MAL_HOST = 192.168.**.6 MAL_PORT = 61141 MAL_INST_HOST = 192.168.31.6 MAL_INST_PORT = 32141 MAL_DW_PORT = 52141 MAL_INST_DW_PORT = 33141 [MAL_INST2] MAL_INST_NAME = GRP1_RT_02 MAL_HOST = 192.168.**.7 MAL_PORT = 61142 MAL_INST_HOST = 192.168.**.7 MAL_INST_PORT = 32142 MAL_DW_PORT = 52142 MAL_INST_DW_PORT = 33142 # dmwatcher.ini [GRP1] DW_TYPE = GLOBAL DW_MODE = AUTO DW_ERROR_TIME = 10 INST_RECOVER_TIME = 60 INST_ERROR_TIME = 10 INST_OGUID = 453331 INST_INI = /dmdata/data/DAMENG/dm.ini INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver

3.3 备库配置

# dm.ini INSTANCE_NAME = GRP1_RT_02 PORT_NUM = 32142 ALTER_MODE_STATUS = 0 ENABLE_OFFLINE_TS = 2 MAL_INI = 1 ARCH_INI = 1 # 其他配置文件类似主库,注意修改IP和端口指向

3.4 启动集群

# 主库 ./dmserver /dmdata/data/DAMENG/dm.ini mount ./disql SYSDBA/SYSDBA@localhost:32141 SP_SET_OGUID(453331); ALTER DATABASE PRIMARY; # 备库 ./dmserver /dmdata/data/DAMENG/dm.ini mount ./disql SYSDBA/SYSDBA@localhost:32142 SP_SET_OGUID(453331); ALTER DATABASE STANDBY; # 启动守护进程(主备都执行) ./dmwatcher /dmdata/data/DAMENG/dmwatcher.ini # 配置监视器(dmmonitor.ini) MON_DW_CONFIRM = 1 MON_LOG_PATH = /dmdata/monitor/log [GRP1] MON_INST_OGUID = 453331 MON_DW_IP = 192.168.**.6:52141 MON_DW_IP = 192.168.**.7:52142 # 启动监视器 ./dmmonitor /dmdata/monitor/dmmonitor.ini

4. 服务注册与管理

4.1 注册服务

# 主库 cd /dm/dmdbms/script/root ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DAMENG/dm.ini -p GRP1_RT_01 -m mount ./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini -p GRP1_RT_01 # 备库 ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DAMENG/dm.ini -p GRP1_RT_02 -m mount ./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini -p GRP1_RT_02 ./dm_service_installer.sh -t dmmonitor -monitor_ini /dmdata/monitor/dmmonitor.ini -p GRP1

4.2 服务启停顺序

# 启动顺序 systemctl start DmServiceGRP1_RT_01 # 主库实例 systemctl start DmServiceGRP1_RT_02 # 备库实例 systemctl start DmWatcherGRP1_RT_01 # 主库守护 systemctl start DmWatcherGRP1_RT_02 # 备库守护 systemctl start DmMonitorGRP1 # 监视器 # 停止顺序 systemctl stop DmMonitorGRP1 # 监视器 systemctl stop DmWatcherGRP1_RT_02 # 备库守护 systemctl stop DmWatcherGRP1_RT_01 # 主库守护 systemctl stop DmServiceGRP1_RT_02 # 备库实例 systemctl stop DmServiceGRP1_RT_01 # 主库实例

5. 集群状态检查

-- 检查实例状态 SELECT STATUS$, MODE$ FROM V$INSTANCE; -- 检查归档状态 SELECT ARCH_MODE FROM V$DATABASE; -- 检查主备同步 SELECT * FROM V$ARCH_STATUS;

6. 前台运行监视器确认状态

-- 进入数据库安装路径 cd /dm/dmdbms/bin -- 前台启动监视器(注意MON_DW_CONFIRM = 1的确认监视器只能开启一个) /dm/dmdbms/bin/dmmonitor path=/dmdata/data/monitor/dmmonitor.ini -- 检查主备同步 show

总结

本文档详细介绍了DM8主备集群的安装部署流程,包括:

  1. 环境准备与系统优化
  2. 数据库软件安装与实例初始化
  3. 主备集群配置与启动
  4. 服务注册与启停管理

通过以上步骤,可以搭建一个高可用的DM8主备集群环境。实际部署中需要根据具体硬件配置和业务需求调整参数,建议在测试环境验证后再进行生产部署。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服