达梦DM8守护集群规范化部署

一、服务器硬件要求:

1、按实际业务需求,选择合适的服务器,准备3台服务器,一台主库服务器,一台备库服务器,一台监视器服务器,如果资源限制只有2台服务器,可将监视器配置在主、备任意一台服务器上,服务器参数建议如下:

(1)物理内存:>=16G

(2)交换区:swap空间>=物理内存

(3)/tmp大小:>100MB

(4)网络:物理机器需要4个网卡,2个public网卡做band,2个private网卡做band

(5)磁盘:根据实际应用系统需要挂载合适大小磁盘

(6)时间服务器:按机房要求配置连接时间服务器

注意:守护进程配置自动切换时,必须在监视器服务器上配置确认监视器,并且保证网络高可用。

2、操作系统要求

操作系统版本安装:DM数据库安装在linux操作系统所需条件:glibc2.3以上,内核2.6,预先安装UnixODBC,系统性能监控等组件。

二、目录与存储规划(用途、目录路径)

(1)数据库软件安装目录:/dm8/dmdbms,可用空间>50GB

(2)实例安装目录:/dmdata,单独挂载性能最好的磁盘,建议SSD

(3)归档日志存放目录:/dmarch,单独挂载磁盘

(4)备份文件存放目录:/dmbak,单独挂载磁盘

三、端口规划(防火墙设置)

搭建2节点守护集群,端口规划如下:(实际中可以按需要修改端口号)

主机名

public IP

private IP

实例名

端口

用途

dm1

192.168.72.11

10.0.0.11

dmsvr1

5237

数据库实例dmrw1监听端口

dm1

192.168.72.11

10.0.0.11

dmsvr1

61141

MAL系统监听TCP连接的端口

dm1

192.168.72.11

10.0.0.11

dmsvr1

52141

实例本地的守护进程监听TCP连接的端口

dm1

192.168.72.11

10.0.0.11

dmsvr1

33141

实例监听守护进程TCP连接的端口

dm2

192.168.72.12

10.0.0.12

dmsvr2

5237

数据库实例dmrw2监听端口

dm2

192.168.72.12

10.0.0.12

dmsvr2

61141

MAL系统监听TCP连接的端口

dm2

192.168.72.12

10.0.0.12

dmsvr2

52141

实例本地的守护进程监听TCP连接的端口

dm2

192.168.72.12

10.0.0.12

dmsvr2

33141

实例监听守护进程TCP连接的端口

防火墙集群之间需开放以上所有的端口,集群对客户端只需要开通数据库实例监听端口。

四、服务器环境检查与配置(每个节点均需执行)

1、创建用户与用户组

创建用户和组:DM数据库不应该使用root用户安装和维护,需要在安装之前为DM数据库创建一个专用的系统用户(dmdba)和用户组(dinstall).
(1)新建用户组:groupadd dinstall
(2)新建用户:useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
(3)设置用户dmdba密码:passwd dmdba输入密码并确认。

2、设置用户资源限制

修改dmdba用户资源限制:
vim /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

添加用户会话登录限制
vi /etc/pam.d/login添加上:
session   required   pam_limits.so

添加系统内核参数限制
vi /etc/sysctl.conf添加上:
vm.overcommit_memory=0
kernel.core_pattern=/dm8/dmcore/core-%e-%p-%t
执行下列命令使系统内核参数立刻生效
sysctl -p 

3、创建目录与授权

mkdir -p /dm8/dmdbms
mkdir /dmarch
mkdir /dmsqllog
mkdir /dmdata
mkdir /dmcore
chmod -R 755 /dm8 /dmarch /dmsqllog /dmdata /dmcore
chown -R dmdba:dinstall /dm8 /dmarch /dmsqllog /dmdata /dmcore

4、关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

5、添加用户环境变量

修改dmdba用户环境变量:
vi /home/dmdba/.bash_profile
文件末尾添加以下内容:
export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

五、数据库安装与集群部署

1、数据库安装(与单机规范化部署中的数据库安装基本一致,两节点均执行)

软件安装目录:/home/dmdba/dmdbms

实例初始化目录:/dmdata

初始化脚本内容如下:

初始化请根据实际项目要求,例如:
(1)数据库名DM01,实例名DMSVR01,端口号5237--生产环境一般有安全整改要求不能使用默认端口号
(2)页大小16k,簇大小32,日志文件大小500M
(3)字符串大小写敏感
(4)sysdba用户密码为DM01SYSDBA
./dminit  path=/dm8/data/  port_num=5237    DB_NAME=DM01  INSTANCE_NAME=DM01SVR PAGE_SIZE=16 EXTENT_SIZE=32  CASE_SENSITIVE=1 SYSDBA_PWD=DM01SYSDBA

注册服务(root用户下执行):
cd/dm8/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DM01SVR -dm_ini /dm8/data/DM01/dm.ini
注册完成后切换到dmdba启动数据库实例:
DmServiceDM01SVR start

2、开启归档(两节点均执行)

su - dmdba
disql SYSDBA/DM01SYSDBA:5237
alter database mount;
alter database archivelog;
select arch_mode from v$database;
alter database add archivelog 'type=local,dest=/dmarch,file_size=1024,space_limit=102400';
alter database open;


查看归档是否开启
select * from v$dm_arch_ini;

3、主库脱机备份

dmdba用户关闭数据库实例
mkdir -p /dm8/dmbak  #主备两台服务器均需创建备份目录
cd $DM_HOME/bin
DmServiceDM01SVR stop
启动ap服务
./DmAPService start
./dmrman
backup database '/dmdata/DM01/dm.ini' full backupset '/dm8/dmbak/db_full_bak_1';
exit;
scp  -r /dm8/dmbak/db_full_bak_1 dmdba@备库IP:/dm8/dmbak/

4、备库脱机还原

关闭数据库实例
cd /dm8/dmdbms/bin
启动ap服务
./DmAPService start
./dmrman
check backupset '/dm8/dmbak/db_full_bak_1';
restore database '/dmdata/DM01/dm.ini' from backupset '/dm8/dmbak/db_full_bak_1';
recover database '/dmdata/DM01/dm.ini' from backupset '/dm8/dmbak/db_full_bak_1';
recover database '/dmdata/DM01/dm.ini' update db_magic;

5、配置实例的dm.ini文件

主库:
INSTANCE_NAME =DMSVR01
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

备库:
INSTANCE_NAME = DMSVR02
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

6、修改归档配置文件dmarch.ini

主库:vi dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSVR02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST =/dmarch 
ARCH_FILE_SIZE = 2048 
ARCH_SPACE_LIMIT = 102400

备库:
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSVR01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST =/dmarch 
ARCH_FILE_SIZE = 2048 
ARCH_SPACE_LIMIT = 102400

7、配置MAL通信文件dmmal.ini(主备均需配置且内容一致)

cd /dmdata/DM01
vi dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5 
[MAL_INST1]
MAL_INST_NAME = DMSVR01
MAL_HOST = 主库IP 
MAL_PORT = 61141 
MAL_INST_HOST = 主库IP 
MAL_INST_PORT =5237 
MAL_DW_PORT = 52141 
MAL_INST_DW_PORT = 33141
[MAL_INST2]
MAL_INST_NAME = DMSVR02
MAL_HOST =备库IP
MAL_PORT = 61142
MAL_INST_HOST = 备库IP
MAL_INST_PORT =5237
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141

8、添加守护进程配置文件dmwatcher.ini(主备均需配置且内容一致)

cd /dmdata/DM01
vi dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL 
DW_MODE = AUTO 
DW_ERROR_TIME = 120 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 120 
INST_OGUID = 453331 
INST_INI = /dmdata/DM01/dm.ini 
INST_AUTO_RESTART = 0 
INST_STARTUP_CMD =/dm8/dmdbms/bin/dmserver 
RLOG_SEND_THRESHOLD = 0 
RLOG_APPLY_THRESHOLD = 0

9、以mount的方式启动数据库实例,主备库修改oguid

主备依次执行:
./dmserver /dmdata/DM01/dm.ini mount
或者DmServiceDMSVR01 start 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);

10、启动守护进程

root用户注册守护进程服务:
./dm_service_installer.sh -t dmwatcher -p DmWatcher -watcher_ini /dmdata/DM01/dmwatcher.ini

主备依次执行:
DmWatcher start

11、添加监视器配置文件dmmonitor.ini

在另一台安装达梦数据库软件的监视器服务器上配置,或者直接在主备任意一个节点上配置也可行

cd $DM_HOME/bin
vi /dm8/dmdbms/bin/dmmonitor.ini
MON_DW_CONFIRM    = 1   #确认监视器模式
MON_LOG_PATH    = /dm8/dmdbms/log 
MON_LOG_INTERVAL  = 60 
MON_LOG_FILE_SIZE   = 32 
MON_LOG_SPACE_LIMIT  = 0 
[GRP1] 
 MON_INST_OGUID    = 453331 
 MON_DW_IP     = 主库IP:52141
 MON_DW_IP     = 备库IP:52141

启动监视器:
[dmdba@localhost DAMENG]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmmonitor /dm8/data/DAMENG/dmmonitor.ini

12、查看集群状态,主备切换两次验证

$ su - dmdba
$ cd /dm8/dmdbms/bin
$ ./dmmonitor /dm8/dmdbms/bin /dmmonitor.ini
show  #查看集群状态
login  #登录监视器
switchover  #切换主备
show
switchover  #再次切换还原主、备库

13、测试验证数据同步

主库建表插入数据
create table t2(id int);
insert into t2 values (1);
insert into t2 values (2);
commit;

备库查询表数据是否正常同步:
select * from t2;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值