DM8 &1实时备机1异步备机守护集群部署

DM8 &1实时备机1异步备机守护集群部署
1.安装前的准备
1.1集群的规划
主库 实时备库 异步备库
IP 192.168.1.190 192.168.1.191 192.168.1.192
实例名 GRP1_RT_01 GRP1_RT_02 GRP_ASYNC_03
实例端口 5236 5236 5236
MAL端口 5336 5336 5336
MAL守护进程端口 5436 5436 5436
守护进程端口 5536 5536 5536
OGUID 45331 45331 45331
守护组 GRP1 GRP1 GRP1

1.2关闭防火墙
所有机器:
systemctl status firewalld查看防火墙状态
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 禁止开机启动防火墙

1.3查看系统版本位数
[root@localhost ~]# getconf LONG_BIT
64

1.4查看操作系统版本
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

1.5检查内存情况
[root@localhost ~]# grep MemTotal /proc/meminfo
MemTotal: 3861484 kB
[root@localhost ~]# grep SwapTotal /proc/meminfo
SwapTotal: 2097148 kB
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3770 777 1375 64 1617 2633
Swap: 2047 0 2047
[root@localhost ~]# free -m

二、安装前准备
2.1修改sysctl.conf
修改/etc/sysctl.conf 在文件末尾添加如下内容:
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.overcommit_memory=1

保存后退出,执行如下命令使生效:
[root@localhost ~]# sysctl -p

2.2创建安装用户
[root@localhost ~]# groupadd -g 1011 dinstall
[root@localhost ~]# useradd -u 1011 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@localhost ~]# passwd dmdba
–输入两次密码,提示更新成功。

2.3修改limit.conf
修改/etc/security/limits.conf,在文件末尾添加如下内容:
dmdba - data unlimited
dmdba - fsize unlimited
dmdba - nofile 1048576
dmdba - memlock unlimited
dmdba - nproc 10240
dmdba - core unlimited

保存后退出,用dmdba用户登录,检查是否生效:
[dmdba@localhost ~]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 14950
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1048576
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 10240
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

2.4调整login
修改/etc/pam.d/login,在文件末尾添加如下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so

2.5关闭selinux
[root@localhost ~]# setenforce 0
[root@localhost ~]# vi /etc/sysconfig/selinux
–将SELINUX的enforcing改成permissive

2.6创建安装目录
[root@localhost ~]# mkdir -p /dm/dmdbms
[root@localhost ~]# mkdir -p /dm/arch
[root@localhost ~]# mkdir -p /dm/dmbak
[root@localhost ~]# mkdir /dbdata
[root@localhost ~]# chown dmdba:dinstall /dm -R
[root@localhost ~]# chown dmdba:dinstall /dbdata/ -R

2.7.上传安装包
将安装包上DMInstall.bin传至/home/dmdba路径下,并修改用户属主和属组为dmdba、dinstall。
[root@localhost dmdba]# chown dmdba:dinstall DMInstall.bin

三、命令行安装数据库
3.1开始安装
[dmdba@localhost ~]$ ./DMInstall.bin -i

3.2 设置选项
[dmdba@localhost ~]$ ./DMInstall.bin -i
Please select the installer’s language (E/e:English C/c:Chinese) [E/e]:e --选择语言
Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:y
Please Input the Path of the Key File [dm.key]:/home/dmdba/dm.key
–填写授权文件
Expiration Date: 2021-09-25
Server Series: Enterprise Version
Server Type: Trial Version
Customer Name: 达梦公司产品试用
Authorized User Number: unlimited
Concurrency User Number: unlimited

Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]:y
TimeZone:
[ 1]: GTM-12=West Date Line
[ 2]: GTM-11=Samoa
[ 3]: GTM-10=Hawaii
[ 4]: GTM-09=Alaska
[ 5]: GTM-08=Pacific(America and Canada)
[ 6]: GTM-07=Arizona
[ 7]: GTM-06=Central(America and Canada)
[ 8]: GTM-05=East(America and Canada)
[ 9]: GTM-04=Atlantic(America and Canada)
[10]: GTM-03=Brasilia
[11]: GTM-02=Middle Atlantic
[12]: GTM-01=Azores
[13]: GTM=Greenwich Mean Time
[14]: GTM+01=Sarajevo
[15]: GTM+02=Cairo
[16]: GTM+03=Moscow
[17]: GTM+04=AbuDhabi
[18]: GTM+05=Islamabad
[19]: GTM+06=Dakar
[20]: GTM+07=BangKok,Hanoi
[21]: GTM+08=China
[22]: GTM+09=Seoul
[23]: GTM+10=Guam
[24]: GTM+11=Solomon
[25]: GTM+12=Fiji
[26]: GTM+13=Nukualofa
[27]: GTM+14=Kiribati
Please Select the TimeZone [21]:21 --选择时区

Installation Type:
1 Typical
2 Server
3 Client
4 Custom
Please Input the number of the Installation Type [1 Typical]:1
–选择安装类型
Require Space: 1139M
Please Input the install path [/home/dmdba/dmdbms]:/dm/dmdbms
–选择安装目录
Available Space:10G
Please Confirm the install path(/dm/dmdbms)? (Y/y:Yes N/n:No) [Y/y]:y

Pre-Installation Summary
Installation Location: /dm/dmdbms
Require Space: 1139M
Available Space: 10G
Version Information: Enterprise Version
Expire Date: 2021-09-25
Installation Type: Typical
Confirm to Install? (Y/y:Yes N/n:No):y
2021-05-24 14:26:24
[INFO] Installing DM DBMS…
2021-05-24 14:26:24
[INFO] Installing BASE Module…
2021-05-24 14:26:26
[INFO] Installing SERVER Module…
2021-05-24 14:26:27
[INFO] Installing CLIENT Module…
2021-05-24 14:26:29
[INFO] Installing DRIVERS Module…
2021-05-24 14:26:30
[INFO] Installing MANUAL Module…
2021-05-24 14:26:30
[INFO] Installing SERVICE Module…
2021-05-24 14:26:31
[INFO] Move log file to log directory.
2021-05-24 14:26:31
[INFO] Installed DM DBMS completely.

Please execute the commands by root:
/dm/dmdbms/script/root/root_installer.sh

End

四、初始化数据库
4.1初始化三个库
主库:
./dminit path=/dbdata INSTANCE_NAME=GRP1_RT_01 page_size=32 CHARSET=0 CASE_SENSITIVE=1 EXTENT_SIZE=32 LOG_SIZE=2048
实时备库
./dminit path=/dbdata INSTANCE_NAME=GRP1_RT_02 page_size=32 CHARSET=0 CASE_SENSITIVE=1 EXTENT_SIZE=32 LOG_SIZE=2048
异步备库
./dminit path=/dbdata INSTANCE_NAME=GRP1_ASYNC_03 page_size=32 CHARSET=0 CASE_SENSITIVE=1 EXTENT_SIZE=32 LOG_SIZE=2048

4.2启动数据库实例
初始化以后一定要分别开停库一次
./dmserver /dbdata/DAMENG/dm.ini
Exit

4.3脱机备份、还原恢复
脱机备份(主库)
./dmrman ctlstmt=“backup database ‘/dbdata/DAMENG/dm.ini’ full to backup202401 backupset ‘/dm/dmbak/backup202401’”
传输
scp -r backup202401/ dmdba@192.168.1.191:/dm/dmbak
scp -r backup202401/ dmdba@192.168.1.191:/dm/dmbak
在两个备库上还原更新
还原:
./dmrman ctlstmt=“restore database ‘/dbdata/DAMENG/dm.ini’ from backupset ‘/dm/dmbak/backup202401’”
恢复:
./dmrman ctlstmt=“recover database ‘/dbdata/DAMENG/dm.ini’ from backupset ‘/dm/dmbak/backup202401’”
更新db_magic
./dmrman ctlstmt=“recover database ‘/dbdata/DAMENG/dm.ini’ update db_magic”

五、参数配置
5.1配置dm.ini
主库:
COMPATIBLE_MODE=2
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2
#配置有异步归档时,打开定时器,定时同步归档到异备库
实时备库:
COMPATIBLE_MODE=2
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2
#配置有异步归档时,打开定时器,定时同步归档到异备库
异步备库:
PORT_NUM= 5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL= 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS= 0#不允许手工方式修改实例模式/状态/
OGUIDENABLE_OFFLINE_TS= 2#不允许备库OFFLINE表空间
MAL_INI= 1#打开MAL系统
ARCH_INI= 1#打开归档配置
RLOG_SEND_APPLY_MON= 64 #统计最近64次的日志重演信息

5.2.配置dmmal.ini
主备、实时主备、异步主备均相同
MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
MAL_TEMP_PATH = /dbdata/malpath/ #临时文件目录
MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01 #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST = 192.168.1.190 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.1.190 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.1.191
MAL_PORT = 5336
MAL_INST_HOST = 192.168.1.191
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
[MAL_INST3]
MAL_INST_NAME = GRP1_ASYNC_03
MAL_HOST = 192.168.1.192
MAL_PORT = 5336
MAL_INST_HOST = 192.168.1.192
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536

5.3.配置dmarch.ini
主库:
ARCH_WAIT_APPLY = 0 #0:高性能 1:事务一致
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/arch/ #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位 MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位 MB
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_RT_02 #实时归档目标实例名
[ARCHIVE_ASYNC]
ARCH_TYPE =ASYNC
ARCH_DEST =GRP1_ASYNC_03
ARCH_TIMER_NAME =RT_TIMER
实时备库:
ARCH_WAIT_APPLY = 0 #0:高性能 1:事务一致
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/arch/ #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位 MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位 MB
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_RT_01 #实时归档目标实例名
[ARCHIVE_ASYNC]
ARCH_TYPE =ASYNC
ARCH_DEST =GRP1_ASYNC_03
ARCH_TIMER_NAME =RT_TIMER
异步备库:
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/arch/ #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位 MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位 MB
5.4.配置dmwatcher.ini
主库:
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /dbdata/DAMENG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
实时备库:
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /dbdata/DAMENG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
异步备库:
[GRP1]
DW_TYPE = LOCAL #全局守护类型
DW_MODE = MANUAL #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /dbdata/DAMENG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver #命令行方式启动
5.5.配置dmtimer.ini
主库、实时备库需要配置,异步备库不需要配置
[RT_TIMER]
TYPE=2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:01:00
END_TIME = 23:59:00
DURING_START_DATE = 2024-02-01 00:00:01
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT_TIMER
IS_VALID = 1
实时备库:
[RT_TIMER]
TYPE=2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:01:00
END_TIME = 23:59:00
DURING_START_DATE = 2024-02-01 00:00:01
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT_TIMER
IS_VALID = 1
5.6配置dmmonitor.ini
实时备库:
MON_DW_CONFIRM = 1 #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = …/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 512 #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT = 2048 #日志上限,单位 MB
[GRP1]
MON_INST_OGUID = 45331 #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 192.168.1.190:5436 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 192.168.1.191:5436
MON_DW_IP = 192.168.1.192:5436
5.7配置OGUID
主:
SQL> SP_SET_PARA_VALUE (1,‘ALTER_MODE_STATUS’,1);
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE PRIMARY;
SQL> SP_SET_PARA_VALUE (1,‘ALTER_MODE_STATUS’,0);
实时备库和异步备库:
SQL> SP_SET_PARA_VALUE (1,‘ALTER_MODE_STATUS’,1);
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE STANDBY;
SQL> SP_SET_PARA_VALUE (1,‘ALTER_MODE_STATUS’,0);
5.8注册服务
su - root
cd /dm/dmdbms/script/root
主:
./dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /db/data/DAMENG/dm.ini -m mount
./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dbdata/DAMENG/dmwatcher.ini
实时备库:
./dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /db/data/DAMENG/dm.ini -m mount
./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dbdata/DAMENG/dmwatcher.ini
异步备库:
./dm_service_installer.sh -t dmserver -p GRP1_ASYNC_03 -dm_ini /db/data/DAMENG/dm.ini -m mount
./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dbdata/DAMENG/dmwatcher.ini
5.9启动守护进程
主、实时备库、异步备库
./dmwatcher /dbdata/DAMENG/dmwatcher.ini
5.10启动监视器
./dmmonitor /dbdata/DAMENG/dmmonitor.ini

至此, 1 实时备机,1 异步备机的数据守护集群部署完成。
5.11学习心得
在搭建1 实时备机,1 异步备机的数据守护集群中,需要注意dmtimer.ini参数只需要在主库和实时备库配置,异步备机是不需要配置的。最好在搭建之前先规划相应的实例名,端口,这样在搭建过程中才能得心应手,不会忙中出错。

如有兴趣可以上达梦社区查看详情:https://eco.dameng.com
参考文档:
1.官方文档
2.https://www.cnblogs.com/hong-yf/p/14762883.html(博客)
3.https://blog.csdn.net/weixin_43840305/article/details/134457719(博客)

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值