DM8 主备集群安装部署

DM8 主备部署方案

一、环境规划

准备两台主机作为本次主备部署机器

1、安装路径

安装项

路径

软件安装路径

/opt/dmdbms/dmdbms

数据文件目录

/opt/dmdbms/data

归档文件目录

/opt/dmdbms/dmarch

备份文件目录

/opt/dmdbms

SQL文件路径

/opt/dmdbms/dmsqllog

CORE文件路径

/opt/dmdbms/core

2、初始化库参数设置

数据库端口

5236

页大小

32

簇大小

32

大小写敏感

不敏感

库名

DMDB

实例名

DBSERVER01/02

安装用户(是否root安装)

字符集

GB18030

VARCHAR 类型对象的长度是否以字符为单位

安装部署步骤

(一)基础环境配置步骤(每台机器均需执行)

编号

说明

1

创建dmdba用户,主组群为dinstall

创建主组群:groupadd dinstall

创建用户:useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

设置密码:passwd dmdba

2

创建目录

mkdir -p /opt/dmdbms/dmdbms

mkdir /opt/dmdbms/dmarch

mkdir /opt/dmdbms/dmsqllog

mkdir /opt/dmdbms/data

mkdir /opt/dmdbms

mkdir /opt/dmdbms/core

chmod -R 755 /opt/dmdbms/dmdbms /opt/dmdbms/dmarch /opt/dmdbms/dmsqllog /opt/dmdbms/data /opt/dmdbms /opt/dmdbms/core

chown -R dmdba:dinstall /opt/dmdbms/dmdbms /opt/dmdbms/dmarch /opt/dmdbms/dmsqllog /opt/dmdbms/data /opt/dmdbms /opt/dmdbms/core

3

vi /etc/security/limits.conf添加上

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft nproc  65536

dmdba hard nproc  65536

dmdba soft stack  65536

dmdba hard stack  65536

备注:/etc/systemd/system.conf的DefaultLimitNOFILE参数修改为65535

4

变更环境变量 vi /home/dmdba/.bash_profile 添加以下内容:

export DM_HOME=/opt/dmdbms/dmdbms

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

5

关闭swap交换区(未分配SWAP空间)

swapoff -a

将/etc/fstab中的swap关闭掉,如内存少于128G不关闭

6

检查是否配置时钟同步--信息口如无得话,可跳过该步骤

chronyc sources -v

vi /etc/chrony.conf

server 10.10.47.245 iburst

driftfile /var/lib/chrony/drift

makestep 10 3

重启chronyd服务

systemctl restart chronyd.service

设置开机启动

systemctl enable chronyd.service

date检查时间

7

ODBC未安装,需上传安装包并安装--如不需要同步,可不安装

ODBC 的安装:

(1)解压

[root@KylinDCA03 opt]# tar -zxvf unixODBC-2.3.0.tar.gz

(2)源码安装三部曲(配置、编译、安装)

[root@KylinDCA03 opt]# cd unixODBC-2.3.0/

[root@KylinDCA03 unixODBC-2.3.0]# ./configure

[root@KylinDCA03 unixODBC-2.3.0]# make

[root@KylinDCA03 unixODBC-2.3.0]# make install

8

上传nmon工具,设置每天0、6、12、18点开启采集,间隔5秒采集一次,一次采集4320次,日志文件保留5天。--监控使用,无需求跳过

0 0,6,12,18 * * * /home/dmdba/nmon -f -t  -s 5 -c 4320 -m /opt/dmdbms/nmon_output

0 0 * * * find /opt/dmdbms/nmon_output -type f -mtime +5 -exec rm -f {} \;

9

关闭操作系统防火墙及selinux(已关闭)

systemctl stop firewalld.service

systemctl disable firewalld.service

 vi /etc/selinux/config

  将SELINUX=enable改为SELINUX=disabled

 然后执行sentence 0

10

检查磁盘调度算法,--如是和操作系统混合使用,可跳过

cat /sys/block/sd*/queue/scheduler

磁盘调度算法已配置,需要将以下命令

echo deadline > /sys/block/sd*/queue/scheduler

设置到/etc/rc.d/rc.local中

11

修改麒麟信号量

检查/etc/systemd/logind.conf文件RemoveIPC参数,设置为NO,重启服systemctl daemon-reload;systemctl restart systemd-logind

12

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

(二)数据库安装与初始化实例

上传对应的key文件与达梦数据库安装包至两台服务器上。

数据库安装参考DM8单机安装操作手册,此处暂略。

初始化实例(以下步骤每台机器都执行)

su - dmdba

cd /opt/dmdbms/dmdbms/bin

初始化实例根据最初规划进行

./dminit path=/opt/dmdbms/data PAGE_SIZE=32 DB_NAME=DMDB INSTANCE_NAME=DW  PORT_NUM=5236  BLANK_PAD_MODE=1

启动数据库后,disql登陆数据库,分别输入以下命令查看:

查看数据库版本:SELECT ID_CODE;

查看License:SELECT * FROM V$LICENSE;

(三)主库脱机备份并scp到备库

*.11--主库:

关闭数据库实例

cd /opt/dmdbms/dmdbms/bin

启动ap服务

./DmAPService start

./dmrman

backup database '/opt/dmdbms/data/DMDB/dm.ini' full backupset '/opt/dmdbms/db_full_bak';

exit;

scp  -r /opt/dmdbms/db_full_bak dmdba@192.168.80.14: /opt/dmdbms/

(四)备库脱机还原

*.12 --备库:

关闭数据库实例

cd /opt/dmdbms/dmdbms/bin

启动ap服务

./DmAPService start

./dmrman

check backupset '/opt/dmdbms/db_full_bak';

restore database '/opt/dmdbms/data/DMDB/dm.ini' from backupset '/opt/dmdbms/db_full_bak';

recover database '/opt/dmdbms/data/DMDB/dm.ini' from backupset '/opt/dmdbms/db_full_bak';

recover database '/opt/dmdbms/data/DMDB/dm.ini' update db_magic;

(五)配置实例的dm.ini文件

1、主库

vi /opt/dmdbms/data/DMDB/dm.ini

INSTANCE_NAME =DBSERVER01
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

2、备库

vi /opt/dmdbms/data/DMDB/dm.ini

INSTANCE_NAME = DBSERVER02
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

(六)配置归档配置文件dmarch.ini

1、主库

vi /opt/dmdbms/data/DMDB/dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DW02

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST =/opt/dmdbms/dmarch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 1024

2、备库

vi /opt/dmdbms/data/DMDB/dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DW01

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST =/opt/dmdbms/dmarch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 1024

(七)配置MAL系统配置文件dmmal.ini

主备库文件内容相同

vi /opt/dmdbms/data/DMDB/dmmal.ini

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = DBSERVER01

MAL_HOST = 192.168.80.13

MAL_PORT = 61141

MAL_INST_HOST = 192.168.80.13

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

[MAL_INST2]

MAL_INST_NAME = DBSERVER02

MAL_HOST =192.168.80.14

MAL_PORT = 61142

MAL_INST_HOST = 192.168.80.14

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

(八)配置守护进程配置文件dmwatcher.ini

主库备库文件内容相同

vi /opt/dmdbms/data/DMDB/dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 120

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 120

INST_OGUID = 453331

INST_INI = /opt/dmdbms/data/DMDB/dm.ini

INST_AUTO_RESTART = 0

INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

(九)以mount的方式启动数据库实例

主备依次执行:

./dmserver /opt/dmdbms/data/DMDB/dm.ini mount

disql连接数据库,主备库都修改oguid

主库

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database primary;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

备库:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database standby;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

(十)启动守护进程

主备依次执行

./dmwatcher /opt/dmdbms/data/DMDB/dmwatcher.ini

(十一) 配置监视器

vi /opt/dmdbms/dmdbms/bin/dmmonitor.ini

MON_DW_CONFIRM    = 1   #确认监视器模式
MON_LOG_PATH    = /opt/dmdbms/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 32 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT  = 0  #不限定日志文件总占用空间
[GRP1]
 MON_INST_OGUID    = 453331 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP_RW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
 MON_DW_IP     = 172.16.70.3:52141
 MON_DW_IP     = 172.16.70.4:52141

、验证

1、查看数据集群状态:

$ su - dmdba

$ cd /opt/dmdbms/dmdbms/bin

$ ./dmmonitor /opt/dmdbms/dmdbms/bin/dmmonitor.ini

show

守护进程状态 WSTATUS 为 OPEN,实例状态 ISTATUS 为 OPEN,归档类型 RTYPE 为 REALTIME,归档状态 RSTAT 为VALID。

2、主备切换

打开监视器,切换主备

switchover [group_name[.]] [db_name](切换指定组的指定库为Primary库)

show

查看是否主库切换为备库,备库切换为主库,切换两次

四、其他配置

1、设置core路径

两台都执行

echo "kernel.core_pattern=/opt/dmdbms/core/core-%e-%p-%t" >> /etc/sysctl.conf

sysctl -p

kill -s 11 $$  验证core路径是否配置成功

2、开启SQL日志

两台都执行

cd /opt/dmdbms/dmdata/DMDB/

vi dm.ini

SVR_LOG=1

vi sqllog.ini

BUF_TOTAL_SIZE          = 10240         #SQLs Log Buffer Total Size(K)(1024~1024000)

BUF_SIZE                = 1024          #SQLs Log Buffer Size(K)(50~409600)

BUF_KEEP_CNT            = 6             #SQLs Log buffer keeped count(1~100)

[SLOG_ALL]

    FILE_PATH    = /opt/dmdbms/dmsqllog

    PART_STOR    = 0

    SWITCH_MODE  = 2

    SWITCH_LIMIT   = 512

    ASYNC_FLUSH   = 1

    FILE_NUM = 80

    ITEMS    = 0

    SQL_TRACE_MASK  = 2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:22:24:25:26:27:28:29

    MIN_EXEC_TIME = 100

    USER_MODE   = 2

    USERS =

3、调整redo大小

两节点执行:

alter database resize logfile 'DMDB01.log' to 2048;

alter database resize logfile 'DMDB02.log' to 2048;

                                   

                                                         学习社区: 达梦在线服务平台(https://eco.dameng.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值