欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DM8 DSC共享集群搭建部署

程序员文章站 2022-06-02 22:03:08
...

一、环境说明

主机规划:

IP Addr DB Version OS Version
节点1 192.168.15.11(外网)
192.168.25.11(内网)
DM V8 1-1-72-20.04.03-119959-ENT
DSC Veriosn: V2.0
中标麒麟6
节点2 192.168.15.12(外网)
192.168.25.12(内网)
DM V8 1-1-72-20.04.03-119959-ENT
DSC Veriosn: V2.0
中标麒麟6
监视器 192.168.15.10(外网)
192.168.25.10(内网)
DM V8 1-1-72-20.04.03-119959-ENT 中标麒麟6
存储(Openfiler) 192.168.15.100 - -

数据库相关文件路径:

路径
DM_HOME /dm8/dmdbms
配置文件路径 /dm8/data/dmdsc
实例初始化后配置文件路径 节点1:/dm8/data/dsc0_config
节点2:/dm8/data/dsc1_config

存储规划:

ASM磁盘名 大小 用途
DCR 512M 存放DCR配置信息
VOTE 512M 存放表决文件
LOG01 1G 存放在线日志文件
DATA01 10G 存放数据文件

二、环境准备

2.1 操作系统配置(两节点)

1、关闭防火墙(或者将相关端口加入到防火墙)

service iptables stop
chkconfig --level 2345 iptables off

2、关闭SELINUX

#vi /etc/selinux/config
改成:SELINUX= disabled
#setenforce 0

3、调整资源限制

[[email protected] ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15697
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

参数使用限制:
(1)data seg size
data seg size (kbytes, -d)
建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败。
(2)file size
file size(blocks, -f)
建议用户设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
(3)open files
open files(-n)
建议用户设置为65536以上或unlimited(无限制)。
(4)virtual memory
virtual memory (kbytes, -v)
建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败。
vi /etc/security/limits.conf —添加
* soft nofile 65536
* hard nofile 65536

或者在/etc/profile中添加如下内容:
vi /etc/profile —添加:
ulimit -SHn 65536
保存退出。
source /etc/profile

2.2 共享存储配置(两节点)

本次使用openfiler软件通过iSCSI方式分配存储。(openfiler安装及划分存储操作略)
1、发现存储
[[email protected] ~]# iscsiadm -m discovery -t st -p 192.168.15.100
192.168.15.100:3260,1 iqn.2006-01.com.openfiler:tsn.0de9a678c051

2、登录iscsi存储
[[email protected] ~]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.0de9a678c051 -p 192.168.15.100 -l

3、检查存储挂载情况
[[email protected] ~]# fdisk -l|grep “Disk /dev/sd”
Disk /dev/mapper/VolGroup-LogVol01 doesn’t contain a valid partition table
Disk /dev/mapper/VolGroup-LogVol00 doesn’t contain a valid partition table
Disk /dev/sdb doesn’t contain a valid partition table
Disk /dev/sdc doesn’t contain a valid partition table
Disk /dev/sdd doesn’t contain a valid partition table
Disk /dev/sde doesn’t contain a valid partition table
Disk /dev/sda: 32.2 GB, 32212254720 bytes
Disk /dev/sdb: 536 MB, 536870912 bytes
Disk /dev/sdc: 536 MB, 536870912 bytes
Disk /dev/sdd: 1073 MB, 1073741824 bytes
Disk /dev/sde: 10.7 GB, 10737418240 bytes

4、设置开启自动登陆iSCSI
iscsiadm -m node –T iqn.2006-01.com.openfiler:tsn.0de9a678c051 -p 192.168.15.100 --op update -n node.startup -v automatic

5、绑定为raw设备
Linux 6上的操作如下:

[[email protected] ~]# vi /etc/udev/rules.d/60-raw.rules   ---添加如下内容
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"
保存退出。
[[email protected] ~]# start_udev
查看raw设备大小:
[[email protected] ~]# blockdev --getsize64 /dev/raw/raw1 
536870912
[[email protected] ~]# blockdev --getsize64 /dev/raw/raw2
536870912
[[email protected] ~]# blockdev --getsize64 /dev/raw/raw3
1073741824
[[email protected] ~]# blockdev --getsize64 /dev/raw/raw4
10737418240

Linux 7上的操作如下:

[[email protected] ~]# cat /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/usr/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/usr/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

udev rules生效 
# udevadm trigger --action=add

查看raw device 
[[email protected] ~]# raw -qa
/dev/raw/raw1:  bound to major 8, minor 16
/dev/raw/raw2:  bound to major 8, minor 32
/dev/raw/raw3:  bound to major 8, minor 48
/dev/raw/raw4:  bound to major 8, minor 64

[[email protected] ~]# ll /dev/raw/raw*
crw-rw---- 1 dmdba dinstall 162, 1 Jun 14 10:30 /dev/raw/raw1
crw-rw---- 1 dmdba dinstall 162, 2 Jun 14 10:30 /dev/raw/raw2
crw-rw---- 1 dmdba dinstall 162, 3 Jun 14 10:30 /dev/raw/raw3
crw-rw---- 1 dmdba dinstall 162, 4 Jun 14 10:30 /dev/raw/raw4

6、注意事项
当DMDSC集群服务注册到系统服务开机启动时,可能会因为存储udev规则未生效,导致启动失败。可以考虑将udev规则内容写到rc.local里面。

2.3 数据库软件安装(两节点)

DM8数据库软件安装略。
可参考链接:DM数据库安装

三、部署DMDSC集群

3.1 配置dmdcr_cfg.ini

dmdcr_cfg.ini 是格式化 DCR 和 Voting Disk 的配置文件。 配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。
使用 dmasmcmd 工具初始化共享磁盘时,可以根据 dmdcr_cfg.ini 配置文件,格式化 DCR 和 Voting Disk。
创建dmdcr_cfg.ini文件,文件路径:/dm8/data/dmdsc/,内容如下:

DCR_N_GRP = 3      #与实际配置的组数相同,
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]              #新建组
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = GRP_CSS
DCR_GRP_N_EP = 2          #
DCR_GRP_DSKCHK_CNT = 60
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.25.11
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.25.12
DCR_EP_PORT = 9343
[GRP]              #新建组
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM]
DCR_EP_NAME = ASM0        #与DMASM使用的dmmal.ini mal_inst_name相同
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.15.11
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1         #与DMASM使用的dmmal.ini mal_inst_name相同
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.15.12
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]               #新建组
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_DSC]
DCR_EP_NAME = RAC0    #与数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_DSC]
DCR_EP_NAME = RAC1    #与数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742

DMDCR_CFG.INI配置项说明:

配置项 说明
集群环境全局信息
DCR_VTD_PATH Voting Disk 路径
DCR_N_GRP 集群环境包括多少个 group,取值范围 1~16
DCR_OGUID 消息标识, dmcssm 登录 dmcss 消息校验用
集群组信息
DCR_GRP_TYPE 组类型(CSS\ASM\DB
DCR_GRP_NAME 组名, 16 字节,配置文件内不可重复
DCR_GRP_N_EP 组内节点个数 N,最大 16
DCR_GRP_EP_ARR 组内包含的节点***, {0,1,2,…N-1}用户不能指定,仅用于从 DCR 磁盘 export 出来可见
DCR_GRP_N_ERR_EP 组内故障节点个数用户不能指定,仅用于从 DCR 磁盘 export 出来可见
DCR_GRP_ERR_EP_ARR 组内故障节点***用户不能指定,仅用于从 DCR 磁盘 export 出来可见
DCR_GRP_DSKCHK_CNT 磁盘心跳机制,容错时间,单位秒,缺省 60S,取值范围 5~600
节点信息 某些属性可能只针对某一类型节点,比如 SHM_KEY 只针对 ASM 节点有效
DCR_EP_NAME 节点名, 16 字节,配置文件内不可重复。
DB 的节点名必须和 dm.ini 里的INSTANCE_NAME 保持一致;
ASM 的节点名必须和 dmmal.ini 里的 MAL_INST_NAME 一致;
同一类型节点的 EP_NAME 不能重复
DCR_EP_SEQNO 组内序号, CSS/ASM 不能配置, 自动分配;
DB 可以配置, 0 ~ n_ep -1, 组内不能重复,如不配置则自动分配
DCR_EP_HOST 节点 IP(CSS/ASM 有效,表示登录 CSS/ASM 的 IP 地址)
对 DB 来说,是绑定 VIP 的网卡对应的物理 IP 地址
CSS 中设置表示 DMCSSM 通过该 IP 连接 CSS;
ASM 中设置表示 DB 通过该 IP 连接 ASM
DCR_EP_PORT 节点 TCP 监听端口(CSS/ASM/DB 有效,对应登录 CSS/ASM/DB 的端口号),取值范围 1024~65534。 特别对 DB 来说, DB 的 DCR_EP_PORT与 dm.ini 中的 PORT_NUM 不一致时, DB 端口以 DCR_EP_PORT 为准。若要使用 VIP 功能, 则不同服务器上配置的 DCR_EP_PORT 要相同
DCR_EP_SHM_KEY 共享内存标识,数值类型(ASM 有效,初始化共享内存的标识符),应为大于 0 的 4 字节整数
DCR_VIP 节点 VIP(DB 有效,表示配置的虚拟 IP),需要和 DCR_EP_HOST 在同一网段。 若需要取消 VIP 配置,仅需要将 DB 组的 DCR_VIP 和DCR_EP_HOST 删除即可
DCR_CHECK_PORT DCR 检查端口号。 检查实例是否活动的时候用,各实例不能冲突
DCR_EP_SHM_SIZE 共享内存大小,单位 M, (ASM 有效,初始化共享内存大小),取值范围10~1024
DCR_EP_ASM_LOAD_PATH ASM 磁盘扫描路径, Linux 下一般为/dev/raw,文件模拟情况,必须是全路径,不能是相对路径

使用说明:

(1)在用 dmasmcmd 工具执行 init votedisk disk_path from dcr_cfg_path时,指定的 disk_path 必须和 dcr_cfg_path 里面配置的 DCR_VTD_PATH 相同。
(2)如果配置 dmcssm, dmcssm 的 OGUID 必须和 DCR_OGUID 保持一致。
(3)DCR_N_GRP 必须和实际配置的组数目保持一致。
(4)CSS 和 ASM 组的 DCR_GRP_N_EP 要相等, DB 的 DCR_GRP_N_EP 要小于等于CSS/ASM 的 DCR_GRP_N_EP。
(5)ASM 节点的 DCR_EP_NAME 必须和 DMASM 系统使用的 dmmal.ini 配置文件里的MAL_INST_NAME 保持一致。
(6)DB 节点的 DCR_EP_NAME 必须和数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致。
(7)所有 DB 节点的 DCR_EP_NAME 都不能重复,DB 组内的 DCR_EP_SEQNO 不能重复。

3.2 初始化共享磁盘

使用DMASMCMD工具初始化共享磁盘:
(只需在配置好dmdcr_cfg.ini的1个节点上执行即可)

[[email protected] bin]$ ./dmasmcmd SCRIPT_FILE=/dm8/data/dmdsc/asmdisk.txt 
DMASMCMD V8
ASM>create dcrdisk '/dev/raw/raw1' 'DCR'

[Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMDCR
Used time: 12.088(ms).
ASM>create votedisk '/dev/raw/raw2' 'VOTE'

[Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMVOTE
Used time: 11.641(ms).
ASM>create asmdisk '/dev/raw/raw3' 'LOG01'

[Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMLOG01
Used time: 18.544(ms).
ASM>create asmdisk '/dev/raw/raw4' 'DATA01'

[Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMDATA01
Used time: 18.921(ms).
ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/data/dmdsc/dmdcr_cfg.ini' identified by 'abcd'

[Trace]DG 126 allocate 4 extents for file 0xfe000002.
Used time: 00:00:10.774.
ASM>init votedisk '/dev/raw/raw2' from '/dm8/data/dmdsc/dmdcr_cfg.ini'

[Trace]DG 125 allocate 4 extents for file 0xfd000002.
Used time: 00:00:09.939.
[[email protected] bin]$ 

asmdisk.txt 脚本内容如下:

[[email protected] dmdsc]$ cat asmdisk.txt
#asm script file
create dcrdisk '/dev/raw/raw1' 'DCR'
create votedisk '/dev/raw/raw2' 'VOTE'
create asmdisk '/dev/raw/raw3' 'LOG01'
create asmdisk '/dev/raw/raw4' 'DATA01'
init dcrdisk '/dev/raw/raw1' from '/dm8/data/dmdsc/dmdcr_cfg.ini' identified by 'abcd'
init votedisk '/dev/raw/raw2' from '/dm8/data/dmdsc/dmdcr_cfg.ini'

可以启动 dmasmcmd 工具,依次输入以上命令,或者将命令写入 asmcmd.txt 文件,执行 dmasmcmd script_file=asmcmd.txt,以行为单位读取文件内容,并依次执行。只需在一台机器执行即可。
需要注意:

 脚本文件必须以“#asm script file”开头,否则认为是无效脚本文件;
 脚本中其它行以“#”表示注释;脚本文件大小不超过 1M。

3.3 配置dmasvrmal.ini(所有节点)

dmasvrmal.ini文件为DMASM的MAL配置文件,使用DMASM的所有节点都要配置,内容完全一样。文件路径:/dm8/data/dmdsc/

MAL_INST1]
    MAL_INST_NAME = ASM0
    MAL_HOST = 192.168.25.11
    MAL_PORT = 7236
[MAL_INST2]
    MAL_INST_NAME = ASM1
    MAL_HOST = 192.168.25.12
MAL_PORT = 7237

3.4 配置dmdcr.ini

dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的输入参数。记录了当前节点***以及 DCR 磁盘路径。
使用DMASM 的两个节点分别配置dmdcr.ini,dmdcr_seqo分别为 0 和 1。文件路径:/dm8/data/dmdsc/
节点1:

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmdsc/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

节点2:

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmdsc/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

dmdcr.ini配置项说明:

配置项 说明
DMDCR_PATH 记录 DCR 磁盘路径
DMDCR_SEQNO 记录当前节点序号(用来获取 ASM 登录信息)
DMDCR_MAL_PATH 保存 dmmal.ini 配置文件的路径,仅对 dmasmsvr 有效
DMDCR_ASM_RESTART_INTERVAL DMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400s), DMCSS 只负责和 DMDCR_SEQNO 节点号相等的DMASM 节点的故障重启,超过设置的时间后,如果 DMASM 节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。如果配置为 0,则不会执行自动拉起操作,默认为60s
DMDCR_ASM_STARTUP_CMD DMCSS 认定 DMASM 节点故障后,执行自动拉起的命令串,可以配置为服务方式或命令行方式启动。
DMDCR_DB_RESTART_INTERVAL DMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400s), DMCSS 只负责和 DMDCR_SEQNO 节点号相等的DMDSC 节点的故障重启,超过设置的时间后,如果 DMDSC 节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。如果配置为 0,则不会执行自动拉起操作,默认为 60s。
DMDCR_DB_STARTUP_CMD DMCSS 认定 DMDSC 节点故障后,执行自动拉起的命令串,可以配置为服务方式或命令行方式启动。
DMDCR_AUTO_OPEN_CHECK 指定时间内如果节点实例未启动, DMCSS 会自动将节点踢出集群环境,单位为秒,取值范围应大于等于 30s。

3.5 启动DMCSS、DMASM服务程序

节点1和节点2先后分别启动 dmcss、dmasmsvr 程序。

节点1:
[[email protected] bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
[[email protected] bin]$ ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
节点2:
[[email protected] bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
[[email protected] bin]$ ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini 

主节点(此处节点1为主节点)dmcss启动后打印信息如下:

[[email protected] bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
DMCSS V8
DMCSS IS READY
[CSS]: 设置EP CSS0[0]为控制节点

[ASM]: 设置EP ASM0[0]为控制节点

[ASM]: 设置命令[START NOTIFY], 目标站点 ASM0[0], 命令序号[2]

[ASM]: 设置命令[EP START], 目标站点 ASM0[0], 命令序号[3]

[ASM]: 设置命令[NONE], 目标站点 ASM0[0], 命令序号[0]

[ASM]: 设置命令[EP START], 目标站点 ASM1[1], 命令序号[5]

[ASM]: 设置命令[NONE], 目标站点 ASM1[1], 命令序号[0]

[ASM]: 设置命令[EP OPEN], 目标站点 ASM0[0], 命令序号[8]

[ASM]: 设置命令[EP OPEN], 目标站点 ASM1[1], 命令序号[9]

[ASM]: 设置命令[NONE], 目标站点 ASM0[0], 命令序号[0]

[ASM]: 设置命令[NONE], 目标站点 ASM1[1], 命令序号[0]

3.6 创建DMASM共享磁盘组

选择1个节点,启动dmasmtool工具,并创建共享磁盘组。

[[email protected] bin]$ ./dmasmtool DCR_INI=/dm8/data/dmdsc/dmdcr.ini
ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
Used time: 176.881(ms).
ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
Used time: 168.380(ms).
ASM>

###注意创建磁盘组的语句不需要以分号结尾,末尾加上分号会报错
ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3';
syntax error
[code : -2007] 语法分析出错

3.7 初始化数据库实例

3.7.1 配置dminit.ini

准备 dminit.ini 配置文件,保存到/dm8/data/dmdsc目录。
dminit.ini内容如下:

db_name = dsc
system_path = +DMDATA/data
system = +DMDATA/data/dsc/system.dbf
system_size = 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 128
main = +DMDATA/data/dsc/main.dbf
main_size = 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 8
log_size = 128  #注意磁盘空间大小128*4
dcr_path = /dev/raw/raw1   #dcr磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[RAC0]           #inst_name跟 dmdcr_cfg.ini 中DB类型group中DCR_EP_NAME对应
config_path = /dm8/data/dsc0_config
port_num = 5236             #最好与dmdcr_cfg.ini 中DB类型group中DCR_EP_PORT一致,不一致以DCR_EP_PORT为准
mal_host = 192.168.25.11
mal_port = 9340
log_path = +DMLOG/log/rac0_log01.log
log_path = +DMLOG/log/rac0_log02.log
[RAC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm8/data/dsc1_config
port_num = 5236     #最好与dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_PORT一致,不一致以DCR_EP_PORT为准
mal_host = 192.168.25.12
mal_port = 9341
log_path = +DMLOG/log/rac1_log01.log
log_path = +DMLOG/log/rac1_log02.log

3.7.2 使用dminit初始化实例

选择配置好dminit.ini配置文件的节点(可以选择任意1个集群节点),启动dminit工具初始化数据库。dminit 执行完成后,会在config_path目录(/dm8/data/dsc0_config和/dm8/data/dsc1_config)下生成配置文件dm.ini和dmmal.ini。

[[email protected] bin]$ ./dminit control=/dm8/data/dmdsc/dminit.ini 
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2021-04-03

 log file path: +DMLOG/log/rac0_log01.log


 log file path: +DMLOG/log/rac0_log02.log


 log file path: +DMLOG/log/rac1_log01.log


 log file path: +DMLOG/log/rac1_log02.log

write to dir [+DMDATA/data/dsc].
create dm database success. 

拷贝/dm8/data/dsc1_config 到节点2上/dm8/data

[[email protected] data]$ scp -r dsc1_config 192.168.15.12:/dm8/data/
[email protected]'s password: 
dmmal.ini                                                             100%  206     0.2KB/s   00:00    
dm.ini                                                                100%   47KB  47.0KB/s   00:00    
sqllog.ini                                                            100%  479     0.5KB/s   00:00    

3.7.3 启动数据库服务

手动启动:

[[email protected] bin]$ ./dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini
[[email protected] bin]$ ./dmserver path=/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini 

测试时发现,在前台启动时,当关闭其中1个实例之后,另外一个实例也会关闭。

3.8 配置服务自启动

3.8.1 配置ASM和数据库实例随dmcss启动

所有节点修改dmdcr.ini中DMDCR_ASM_RESTART_INTERVAL 和DMDCR_DB_RESTART_INTERVAL 配置项,可以都设置为60(默认60s)。

[[email protected] bin]$ cat /dm8/data/dmdsc/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmdsc/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 60
DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

3.8.2 配置dmcss系统服务

可以通过dm_service_installer.sh脚本来配置,脚本用法如下:

[[email protected] root]# ./dm_service_installer.sh -h
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]
        [-watch_ini watch_ini_file ] [-wmon_ini wmon_ini_file] [-rww_ini rww_ini_file]
        [-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]
        [-dfs_ini dfs_ini_file] [-dcr_ini dcr_ini_file]
        [-dss_ini dss_ini_file] [-drs_ini drs_ini_file] [-dras_ini dras_ini_file] [-dcs_ini dcs_ini_file] [-server server_info]
        [-m open|mount] [-y dependent_service] [-auto true|false]
  or dm_service_installer.sh [-s service_file_path]
  or dm_service_installer.sh -h

   -t               服务类型,包括dmimon,dmap,dmserver,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr,dmdcs,dmdrs,dmdras,dmdss
   -p               服务名后缀,对于dmimon,dmap服务类型无效
   -dm_ini          dm.ini文件路径
   -watch_ini       dmwatch.ini文件路径.
   -wmon_ini        dmwmon.ini文件路径.
   -rww_ini         dmrww.ini文件路径.
   -watcher_ini     dmwatcher.ini文件路径.
   -monitor_ini     dmmonitor.ini文件路径.
   -dcr_ini         dmdcr.ini文件路径.
   -cssm_ini        dmcssm.ini文件路径.
   -dss_ini         dss.ini文件路径.
   -drs_ini         drs.ini文件路径.
   -dras_ini        dras.ini文件路径.
   -dcs_ini         dcs.ini文件路径.
   -dfs_ini         dfs.ini文件路径.
   -server          服务器信息(IP:PORT)
   -auto            设置服务是否自动启动,值为true或false,默认true.
   -m               设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选
   -y               设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效
   -s               服务脚本路径,设置则忽略除-y外的其他参数选项
   -h               帮助

配置dmcss系统服务(root用户):
/dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC0
/dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC1

[[email protected] ~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC0
移动服务脚本文件(/dm8/dmdbms/bin/DmCSSServiceRAC0 到 /etc/rc.d/init.d/DmCSSServiceRAC0)
创建服务(DmCSSServiceRAC0)完成
[[email protected] ~]# 
[[email protected] ~]# /etc/init.d/DmCSSServiceRAC0 start
Starting DmCSSServiceRAC0:                                 [ OK ]
[[email protected] ~]# 
------------------------------------------------------------------------------------------
[[email protected] ~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC1
移动服务脚本文件(/dm8/dmdbms/bin/DmCSSServiceRAC1 到 /etc/rc.d/init.d/DmCSSServiceRAC1)
创建服务(DmCSSServiceRAC1)完成
[[email protected] ~]# 
[[email protected] ~]# /etc/init.d/DmCSSServiceRAC1 start
Starting DmCSSServiceRAC1:                                 [ OK ]
[[email protected] ~]# 

3.9 配置DMCSSM监视器

在监视器服务器上配置dmcssm.ini,配置文件路径:/dm8/monitor
文件内容如下:

[[email protected] bin]$ cat /dm8/monitor/dmcssm.ini
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.25.11:9341
CSSM_CSS_IP = 192.168.25.12:9343
CSSM_LOG_PATH =/dm8/monitor/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动dmcssm监视器:
./dmcssm ini_path=/dm8/monitor/dmcssm.ini

show    ----show命令查看所有组的信息

monitor current time:2020-06-12 21:46:19, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================

[CSS0] global info:
[ASM0] auto restart = TRUE
[RAC0] auto restart = TRUE

[CSS1] global info:
[ASM1] auto restart = TRUE
[RAC1] auto restart = TRUE


ep:	css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              
	2020-06-12 21:46:08    CSS0          0         9341    Control Node OPEN               WORKING      OK           TRUE         633332346         633340573       
	2020-06-12 21:46:08    CSS1          1         9343    Normal Node  OPEN               WORKING      OK           TRUE         633329821         633338642       

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:	css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              
	2020-06-12 21:46:08    ASM0          0         9349    Control Node OPEN               WORKING      OK           TRUE         633337312         633346688       
	2020-06-12 21:46:08    ASM1          1         9351    Normal Node  OPEN               WORKING      OK           TRUE         633333868         633343275       

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:	css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              
	2020-06-12 21:46:08    RAC0          0         5236    Control Node OPEN               WORKING      OK           TRUE         2312282503        2312291731      
	2020-06-12 21:46:08    RAC1          1         5236    Normal Node  OPEN               WORKING      OK           TRUE         2312250192        2312259463      

==================================================================================================================

DMCSSM监视器命令:

help				显示帮助信息
show [group_name]	显示指定的组信息,如果没有指定 group_name,则显示所有组信息
show config			显示 dmdcr_cfg.ini 的配置信息
show monitor		显示当前连接到主 CSS 的所有监视器信息
set group_name auto restart on	打开指定组的自动拉起功能(只修改 dmcss 内存值)
set group_name auto restart off	关闭指定组的自动拉起功能(只修改 dmcss 内存值)
open force group_name	强制 open 指定的 ASM 或 DB 组
ep startup group_name	启动指定的 ASM 或 DB 组
ep stop group_name		退出指定的 ASM 或 DB 组
ep halt group_name.ep_name	强制退出指定组中的指定节点
extend node			联机扩展节点
ep crash group_name.ep_name		手动指定节点故障
check crash over group_name		检查指定组故障处理是否真正结束
exit	退出监视器

4.0 配置dm_svc.conf

配置:

[[email protected] bin]$ vi /etc/dm_svc.conf 
TIME_ZONE=(480)
LANGUAGE=(cn)
rac=(192.168.15.11:5236,192.168.15.12:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(1000)

连接:

[[email protected] bin]$ ./disql sysdba/[email protected]

服务器[192.168.15.12:5236]:处于普通打开状态
登录使用时间: 221.175(毫秒)
disql V8
SQL> select * from v$instance;

行号     NAME INSTANCE_NAME INSTANCE_NUMBER HOST_NAME SVR_VERSION               
---------- ---- ------------- --------------- --------- --------------------------
           DB_VERSION         
           -------------------
           START_TIME                                                                                          
           ----------------------------------------------------------------------------------------------------
           STATUS$ MODE$  OGUID       DSC_SEQNO   DSC_ROLE   
           ------- ------ ----------- ----------- -----------
1          RAC1 RAC1          2               dm8dw02   DM Database Server x64 V8 
           DB Version: 0x7000a
           2020-06-12 18:48:45
           OPEN    NORMAL 0           1           Normal node

至此,DMDSC共享集群安装部署完成。

相关标签: 达梦