DM8 DSC共享集群搭建部署

DMDSC共享集群属于达梦数据库集群架构产品之一,类似于Oracle RAC架构。

一、环境说明

主机规划:

IP AddrDB VersionOS Version
节点1192.168.15.11(外网)
192.168.25.11(内网)
DM V8 1-1-72-20.04.03-119959-ENT
DSC Veriosn: V2.0
中标麒麟6
节点2192.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磁盘名大小用途
DCR512M存放DCR配置信息
VOTE512M存放表决文件
LOG011G存放在线日志文件
DATA0110G存放数据文件

二、环境准备

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

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

service iptables stop
chkconfig --level 2345 iptables off

2、关闭SELINUX

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

3、调整资源限制

[root@dm8dw02 ~]# 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、发现存储
[root@dm8dw01 ~]# 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存储
[root@dm8dw01 ~]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.0de9a678c051 -p 192.168.15.100 -l

3、检查存储挂载情况
[root@dm8dw01 ~]# 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上的操作如下:

[root@dm8dw01 ~]# 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"
保存退出。
[root@dm8dw01 ~]# start_udev
查看raw设备大小:
[root@dm8dw01 ~]# blockdev --getsize64 /dev/raw/raw1 
536870912
[root@dm8dw01 ~]# blockdev --getsize64 /dev/raw/raw2
536870912
[root@dm8dw01 ~]# blockdev --getsize64 /dev/raw/raw3
1073741824
[root@dm8dw01 ~]# blockdev --getsize64 /dev/raw/raw4
10737418240

Linux 7上的操作如下:

[root@localhost ~]# 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 
[root@localhost ~]# 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

[root@localhost ~]# 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_PATHVoting 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_PORTDCR 检查端口号。 检查实例是否活动的时候用,各实例不能冲突
DCR_EP_SHM_SIZE共享内存大小,单位 M, (ASM 有效,初始化共享内存大小),取值范围10~1024
DCR_EP_ASM_LOAD_PATHASM 磁盘扫描路径, 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个节点上执行即可)

[dmdba@dm8dw01 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.
[dmdba@dm8dw01 bin]$ 

asmdisk.txt 脚本内容如下:

[dmdba@dm8dw01 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_INTERVALDMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400s), DMCSS 只负责和 DMDCR_SEQNO 节点号相等的DMASM 节点的故障重启,超过设置的时间后,如果 DMASM 节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。如果配置为 0,则不会执行自动拉起操作,默认为60s
DMDCR_ASM_STARTUP_CMDDMCSS 认定 DMASM 节点故障后,执行自动拉起的命令串,可以配置为服务方式或命令行方式启动。
DMDCR_DB_RESTART_INTERVALDMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400s), DMCSS 只负责和 DMDCR_SEQNO 节点号相等的DMDSC 节点的故障重启,超过设置的时间后,如果 DMDSC 节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。如果配置为 0,则不会执行自动拉起操作,默认为 60s。
DMDCR_DB_STARTUP_CMDDMCSS 认定 DMDSC 节点故障后,执行自动拉起的命令串,可以配置为服务方式或命令行方式启动。
DMDCR_AUTO_OPEN_CHECK指定时间内如果节点实例未启动, DMCSS 会自动将节点踢出集群环境,单位为秒,取值范围应大于等于 30s。

3.5 启动DMCSS、DMASM服务程序

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

节点1:
[dmdba@dm8dw01 bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
[dmdba@dm8dw01 bin]$ ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
节点2:
[dmdba@dm8dw02 bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini 
[dmdba@dm8dw02 bin]$ ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini 

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

[dmdba@dm8dw01 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工具,并创建共享磁盘组。

[dmdba@dm8dw01 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。

[dmdba@dm8dw01 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

[dmdba@dm8dw01 data]$ scp -r dsc1_config 192.168.15.12:/dm8/data/
dmdba@192.168.15.12'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 启动数据库服务

手动启动:

[dmdba@dm8dw01 bin]$ ./dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini
[dmdba@dm8dw02 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)。

[dmdba@dm8dw01 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脚本来配置,脚本用法如下:

[root@dm8dw01 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

[root@dm8dw01 ~]# /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)完成
[root@dm8dw01 ~]# 
[root@dm8dw01 ~]# /etc/init.d/DmCSSServiceRAC0 start
Starting DmCSSServiceRAC0:                                 [ OK ]
[root@dm8dw01 ~]# 
------------------------------------------------------------------------------------------
[root@dm8dw02 ~]# /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)完成
[root@dm8dw02 ~]# 
[root@dm8dw02 ~]# /etc/init.d/DmCSSServiceRAC1 start
Starting DmCSSServiceRAC1:                                 [ OK ]
[root@dm8dw02 ~]# 

3.9 配置DMCSSM监视器

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

[dmdba@DaMengDB 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

配置:

[dmdba@dm8dw01 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)

连接:

[dmdba@dm8dw01 bin]$ ./disql sysdba/SYSDBA@rac

服务器[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共享集群安装部署完成。
更多资讯请上达梦技术社区了解:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值