目录
说明... 4
两节点集群搭建... 5
一、创建共享磁盘... 6
1、DMDSC01添加硬盘... 6
2、DMDSC02添加共享磁盘... 8
二、搭建DMDSC集群... 12
1、安装完成数据库配置资源限制... 12
2、添加用户变量... 13
3、共享磁盘分区... 14
4、新建udev规则文件-裸设备绑定... 15
5、检查是否配置成功... 16
6、配置DCR初始化配置文件-创建配置文件存放目录... 16
7、新建dmdcr_cfg.ini文件... 17
8、创建ASM磁盘... 19
9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk。... 19
10、配置ASM的MAL系统配置文件... 20
11、配置DCR启动配置文件... 20
12、启动DMCSS服务... 22
13、dmasmtool工具创建redo日志磁盘组和数据文件磁盘组... 22
13、初始化DSC集群数据库实例... 23
15、将dsc2目录(节点数据库实例配置文件)复制到节点二指定目录下... 26
16、启动css,asm,server服务... 26
17、配置监视器... 27
18、启动监视器... 28
19、注册服务--后台启动... 29
20、启动方式... 30
21、客户端验证... 31
三、多节点(3节点)集群+单节点监控搭建... 33
1、安装完成数据库配置资源限制... 34
2、添加用户变量... 35
3、共享磁盘分区... 35
4、新建udev规则文件-裸设备绑定... 37
5、检查配置是否成功... 38
6、配置DCR初始化配置文件... 38
7、新建dmdcr_cfg.ini文件... 38
8、创建ASM磁盘... 41
9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk. 42
10、配置ASM的MAL系统配置文件... 42
11、配置DCR启动配置文件... 43
12、启动DMCSS服务... 45
13、Asm启动后dmdba用户启动dmasmtool工具创建redo日志磁盘组和数据文件磁盘组... 46
14、初始化DCS集群数据库实例(生成达梦数据库实例配置文件)... 47
15、将对应目录复制到对应节点的指定目录下... 48
16、启动css,asm,server 49
17、配置监视器... 50
18、启动监视器... 51
19、注册服务--后台启动... 51
20、启动方式... 53
21、客户端验证... 54
说明
1、启动DMDSC集群之前,必须先启动集群同步服务DMCSS,若使用了DMASM文件系统,则DMASMSVR服务也必须先启动。
2、DMCSS可以配置DMASMSVR/DMSERVER 自动拉起;可以先仅启动 DMCSS,然后启动 DMCSSM。
3、DMCSSM 控制台执行命令
"ep startup asm"启动 DMASMSVR 集群
"ep startup dsc"启动 DMSERVER 集群(asm/dsc集群的组名)
"ep stop asm/dsc"关闭 DMASMSVR/DMSERVER 集群环境。
4、关闭 DMDSC集群环境,先关闭DMSERVER,再关闭asm 和 css。
5、dmasmcmd工具(asm初始化工具)可以根据DMDCR_CFG.INI配置文件,格式化DCR DISK和VOTE DISK。详细命令见手册。
dmasmtool是asm管理工具。详细命令见手册。
dmasmcmd工具使用说明:(DMDCR_CFG.INI配置说明)
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系统使用的DMASVRMAL.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不能重复。
8)DMDCR_CFG.INI 配置文件中的所有路径均不支持中文路径。
6、DMDCR.INI:是DMCSS、DMASMSVR、DMASMTOOL等工具的输入参数。
7、DMASMSVR 实例启动命令:
/dm8/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
8、DMSERVER 实例启动命令:
/dm8/bin/dmserver path=/home/dmdba/config/dscn/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
9、dmini.ini是DMINIT工具初始化数据库环境的配置文件。Control指定配置路径。
./dminit control=/home/dmdba/config/dminit.ini
10、mal配置文件包括dmmal.ini(初始化实例时自动生成)和dmasvrmal.ini(手动配置)。使用同一套MAL系统的所有实例,MAL系统配置文件要严格保持一致。
11、dmasmsvr组成的集群环境使用一套MAL系统进行通讯,需要在dmdcr.ini中配置DMDCR_MAL_PATH参数,指定MAL配置文件路径(dmasvrmal.ini绝对路径)。
集群搭建:
1)准备集群节点(双网卡)及监控服务器(3+1)
2)配置节点服务器的共享磁盘
3)服务器节点安装达梦数据库。(暂不初始化创建实例)
4)共享磁盘分区(4个区)(100M,100M,2G,77G数据盘)
5)配置DCR初始化配置文件(dmdcr_cfg.ini-)
6)dmasmcmd初始化工具创建ASM磁盘,并使用dmdcr_cfg.ini配置文件初始化dcr和vote磁盘。
7)配置asm的mal系统配置文件(dmasvrmal.ini)
8)配置DCR启动配置文件(dmdcr.ini—dmcss(集群同步(控制)软件))。(DCR系统磁盘,DCRV系统磁盘组)
9)启动dmcss集群同步软件(根据dmdcr.ini配置启动)。
10)启动dmasmtool工具(也是根据dmdcr.ini配置启动):创建redo日志磁盘组和数据文件磁盘组
11)配置dminit初始化实例配置文件
12)初始化DSC集群数据库实例(根据dminit.ini配置文件)
13)复制初始化好的各实例配置文件(目录包含:dm.ini、dmmal.ini、sqllog.ini)到各节点指定位置。
14)启动css,asm,server服务。(上面css、asm已启动就不需要操作,server服务会被css自动拉起(若没拉起再手动启动))
15)配置监视器服务(配置dmcssm.ini配置文件,启动dmcssm监控服务即可)
16)可以注册服务,后台启动。(需要修改dmdcr.ini中各服务启动命令)
两节点集群搭建
两台服务器
DMDSC01
192.168.16.220
10.10.10.220
DMDSC02
192.168.16.221
10.10.10.221
前提条件:两台服务器配置两个网卡,并安装完成数据库,未初始化实例。
一、创建共享磁盘
两台虚拟机关机
1、DMDSC01添加硬盘
指定共享盘路径及名称:H:\linux\dmdb\ShardDisk\CentOS7-2c4g-DMDSC01-2-gx0.vmdk
点击高级
2、DMDSC02添加共享磁盘
点击高级
添加完成后,虚拟机路径下的 .vmx 文件中会出现如下信息:两台都加
scsi1.virtualDev = "lsilogic"
scsi1.present = "TRUE"
scsi1:0.fileName = "E:\vmdk\test\Red Hat TEST RAC0-0.vmdk"
scsi1:0.present = "TRUE"
还需要手工在两台虚拟机 .vmx 文件中添加如下信息:
diskLib.dataCacheMaxSize=0
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
添加完成后,启动两台虚拟机
fdisk -l --可以查看共享磁盘信息
sd 代表的是 SCSI,SATA 接口硬盘
DMDSC01
DMDSC02
两台机器共享磁盘一致,共享磁盘添加成功。
二、搭建DMDSC集群
Dm8DSC安装步骤
1、安装完成数据库配置资源限制
root
修改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
2、添加用户变量
dmdba
Vim /home/dmdba/.bash_profile
文件末尾添加如下内容:
export DM_HOME="/dm8"
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
配置两台虚拟机不同主机名称
(这个可以不用,该集群与服务器名称无关)
vim /etc/hostname
DMDSC01
DMDSC02
重启服务器
reboot
3、共享磁盘分区
执行以下命令查看磁盘
[root@DMDSC01 ~]# lsblk
进行裸设备划分 (分区)--一个节点执行即可
因为是共享磁盘,只需在一台虚拟机操作即可
输入 fdisk /dev/sdb
依次输入 n → p → 1 →回车→回车→ +100M →回车,完成第一块磁盘划分
依次输入 n → p → 2 →回车→回车→ +100M →回车,完成第二块磁盘划分
依次输入 n → p → 3 →回车→回车→ +2048M →回车,完成第三块磁盘划分
依次输入 n → p → 4 →回车→回车→回车,完成第四块磁盘划分
w
保存配置并退出
[root@DMDSC01 ~]# fdisk -l
4、新建udev规则文件-裸设备绑定
(两台均需操作)
[root@DMDSC01 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules
[root@DMDSC02 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules
添加以下内容
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"
执行以下命令使文件生效
udevadm trigger --type=devices --action=change
5、检查是否配置成功
[root@DMDSC01 ~]# ll /dev/raw/raw*
没有绑定成功,重启服务器,再验证绑定成功
reboot
注意:如果查不到配置的裸设备,请重启服务器在验证。
6、配置DCR初始化配置文件-创建配置文件存放目录
两个节点用dmdba用户执行。
mkdir -p /home/dmdba/config
mkdir -p /home/dmdba/config
7、新建dmdcr_cfg.ini文件
使用dmdba用户--两个节点都配置
全部使用外网或全部为内网ip均可以。(规范内网ip配置)
vim /home/dmdba/config/dmdcr_cfg.ini
添加以下内容:
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.10.220
DCR_EP_PORT = 9341
[CSS]
DCR_EP_NAME = CSS2
DCR_EP_HOST = 10.10.10.221
DCR_EP_PORT = 9341
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.10.10.220
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[ASM]
DCR_EP_NAME = ASM2
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.10.10.221
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9741
[DSC]
DCR_EP_NAME = DSC2
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9741
8、创建ASM磁盘
使用dmdba用户
[dmdba@DMDSC01 bin]$ ./dmasmcmd
DMASMCMD V8
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
ASM> create votedisk '/dev/raw/raw2' 'vote'
ASM> create asmdisk '/dev/raw/raw3' 'LOG0'
ASM> create asmdisk '/dev/raw/raw4' 'DATA0'
检查
listdisks '/dev/raw/'
9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk。
并在ASM提示符执行以下命令:
ASM> init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'
ASM>init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'
10、配置ASM的MAL系统配置文件
两个节点都需要配置,内容相同。
vim /home/dmdba/config/dmasvrmal.ini
添加以下内容
[MAL_INST1]
MAL_INST_NAME = ASM1
MAL_HOST = 10.10.10.220
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM2
MAL_HOST = 10.10.10.221
MAL_PORT = 7236
11、配置DCR启动配置文件
[dmdba@DMDSC01 bin]$ vim /home/dmdba/config/dmdcr.ini
节点一添加:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动,注释掉的CMD为注册后修改的启动命令
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc1 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc1 start
[dmdba@DMDSC02 bin]$ vim /home/dmdba/config/dmdcr.ini
节点二添加:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc2 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc2 start
12、启动DMCSS服务
查看防火墙状态:关闭
两个节点启动dmcss,dmdba用户到数据库安装目录bin下执行
节点一和二这里需要一起启动css只起一个节点会卡住不往下执行:
[dmdba@DMDSC01 bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDSC02 bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了
13、dmasmtool工具创建redo日志磁盘组和数据文件磁盘组
Asm启动后,dmdba用户启动dmasmtool工具
[dmdba@DMDSC01 bin]$ ./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini
创建redo日志磁盘组
ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
创建数据文件磁盘组
ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
ls --查看磁盘组信息是否正确
lsdsk --查看磁盘详细信息
13、初始化DSC集群数据库实例
配置dminit控制文件,节点一使用dmdba用户执行以下命令:
[dmdba@DMDSC01 config]$ vim 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 = 256
dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc1
port_num = 5236
mal_host = 10.10.10.220
mal_port = 9236
log_path = +DMLOG/log/DSC1_log01.log
log_path = +DMLOG/log/DSC1_log02.log
[DSC2] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc2
port_num = 5236
mal_host = 10.10.10.221
mal_port = 9236
log_path = +DMLOG/log/DSC2_log01.log
log_path = +DMLOG/log/DSC2_log02.log
[dmdba@DMDSC01 bin]$ ./dminit control=/home/dmdba/config/dminit.ini
启动报错:log_size设置不对,100改为256即可
15、将dsc2目录(节点数据库实例配置文件)复制到节点二指定目录下
[dmdba@DMDSC01 config]$ scp -r dsc2 192.168.16.221:/home/dmdba/config/
两台服务的dmcss均正常不报错了(节点2自动拉起的)
16、启动css,asm,server服务
两个节点都需要(css,asm前面已启动本次就不需要启动,server会被css自动拉起)
[dmdba@dm2 bin] ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini
[dmdba@DMDSC02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
直接找到端口kill掉再执行即可
[dmdba@DMDSC01 bin]$ netstat -lnupt
[dmdba@DMDSC01 bin]$ kill -9 2172
[dmdba@DMDSC01 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini --这里只需要一个节点执行启动asm即可,因为共用的!!
[dmdba@DMDSC01 bin]$ ./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDSC02 bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
17、配置监视器
[dmdba@dm1 config]$ vim dmcssm.ini
添加下列内容:
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 10.10.10.220:9341
CSSM_CSS_IP = 10.10.10.221:9341
CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
18、启动监视器
dmdba用户执行。
[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
show
19、注册服务--后台启动
root
节点一:
[root@DMDSC01 root]# ./dm_service_installer.sh -t dmcss -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDSC01 root]# ./dm_service_installer.sh -t dmasmsvr -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc1
[root@DMDSC01 root]# ./dm_service_installer.sh -t dmserver -p dsc1 -dm_ini /home/dmdba/config/dsc1/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc1
节点二:
[root@DMDSC02 root]# ./dm_service_installer.sh -t dmcss -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDSC02 root]# ./dm_service_installer.sh -t dmasmsvr -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc2
[root@DMDSC02 root]# ./dm_service_installer.sh -t dmserver -p dsc2 -dm_ini /home/dmdba/config/dsc2/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc2
修改配置文件:--两个节点都需要
[dmdba@DMDSC01 config]$ vim dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动 (注意Servicedsc1还是Servicedsc2)
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc1 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc1 start
20、启动方式
先启动css-再asm-最后server
[dmdba@DMDSC01 bin]$ ./DmCSSServicedsc1 start
[dmdba@DMDSC02 bin]$ ./DmCSSServicedsc2 start
[dmdba@DMDSC01 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
[dmdba@DMDSC02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
[dmdba@DMDSC01 bin]$ ./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDSC02 bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
启动监视器,dmdba用户执行。
[dmdba@DMDSC01 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
21、客户端验证
(shutdown一个数据库,会被自动拉起重新加入集群)
任意节点配置dm_scv.conf文件
[dmdba@dm1 bin]$ vim /etc/dm_svc.conf
添加:
dmdsc=(192.168.16.220:5237,192.168.16.221:5237)
登录数据库验证:
select * from dept;
关闭220达梦数据库服务
kill -9
数据库客户端查询会有几秒钟中断
继续登录已经切换了。
异常节点自动拉起恢复后会重新加入集群中
三、多节点(3节点)集群+单节点监控搭建
准备四台双网卡2c4g服务器:(监控单独)
DMDSC03
192.168.16.222
10.10.10.222
DMDSC04
192.168.16.223
10.10.10.223
DMDSC05
192.168.16.224
10.10.10.224
DMDSC09
192.168.16.228
10.10.10.228
共享磁盘搭建一样的就是多增加一个服务器共享
Dm8DSC安装步骤
1、安装完成数据库配置资源限制
暂不初始化实例
root
修改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
2、添加用户变量
dmdba
vim /home/dmdba/.bash_profile
文件末尾添加如下内容:
export DM_HOME="/dm8"
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
3、共享磁盘分区
[root@DMDB ~]# lsblk
进行裸设备划分 (分区)--因为是共享磁盘,一个节点操作即可
因为是共享磁盘,只需在一台虚拟机操作即可
输入 fdisk /dev/sdb
依次输入 n → p → 1 →回车→回车→ +100M →回车,完成第一块磁盘划分
依次输入 n → p → 2 →回车→回车→ +100M →回车,完成第二块磁盘划分
依次输入 n → p → 3 →回车→回车→ +2048M →回车,完成第三块磁盘划分
依次输入 n → p → 4 →回车→回车→回车,完成第四块磁盘划分
w
保存配置并退出
[root@DMDB ~]# fdisk -l
4、新建udev规则文件-裸设备绑定
(三台均需操作)
[root@DMDSC03 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules
[root@DMDSC04 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules
[root@DMDSC05 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules
添加以下内容
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"
执行以下命令使文件生效
udevadm trigger --type=devices --action=change
5、检查配置是否成功
[root@DMDSC03 ~]# ll /dev/raw/raw*
没有绑定成功,重启服务器,再验证绑定成功
reboot
注意:如果查不到配置的裸设备,请重启服务器在验证。
6、配置DCR初始化配置文件
创建配置文件存放目录,三个节点用dmdba用户执行。
mkdir -p /home/dmdba/config
7、新建dmdcr_cfg.ini文件
使用dmdba用户—三个节点都配置 (配置完全一样)
DCR_EP_HOST和MAL_HOST全部都为内网网段(这里集群搭建配置文件中就都没配置外网ip)
vim /home/dmdba/config/dmdcr_cfg.ini
添加以下内容:
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = CSS
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60
[CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.10.222
DCR_EP_PORT = 9341
[CSS]
DCR_EP_NAME = CSS2
DCR_EP_HOST = 10.10.10.223
DCR_EP_PORT = 9341
[CSS]
DCR_EP_NAME = CSS3
DCR_EP_HOST = 10.10.10.224
DCR_EP_PORT = 9341
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = ASM
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60
[ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.10.10.222
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[ASM]
DCR_EP_NAME = ASM2
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.10.10.223
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[ASM]
DCR_EP_NAME = ASM3
DCR_EP_SHM_KEY = 93362
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.10.10.224
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = DSC
DCR_GRP_N_EP = 3
DCR_GRP_DSKCHK_CNT = 60
[DSC]
DCR_EP_NAME = DSC3
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9741
[DSC]
DCR_EP_NAME = DSC4
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9741
[DSC]
DCR_EP_NAME = DSC5
DCR_EP_SEQNO = 2
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9741
8、创建ASM磁盘
使用dmdba用户一个节点执行
标注青绿色的初始化报错时可尝试重新创建
[dmdba@DMDB bin]$ ./dmasmcmd
ASM> create dcrdisk '/dev/raw/raw1' 'dcr'
ASM> create votedisk '/dev/raw/raw2' 'vote'
ASM> create asmdisk '/dev/raw/raw3' 'LOG0'
ASM> create asmdisk '/dev/raw/raw4' 'DATA0'
检查
listdisks '/dev/raw/'
9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk
ASM> init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'
ASM> init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'
10、配置ASM的MAL系统配置文件
三个节点都需要配置,内容相同。
vim /home/dmdba/config/dmasvrmal.ini
添加以下内容
[MAL_INST1]
MAL_INST_NAME = ASM1
MAL_HOST = 10.10.10.222
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM2
MAL_HOST = 10.10.10.223
MAL_PORT = 7236
[MAL_INST3]
MAL_INST_NAME = ASM3
MAL_HOST = 10.10.10.224
MAL_PORT = 7236
11、配置DCR启动配置文件
[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini
节点一添加:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动,注释掉的CMD为注册后修改的启动命令
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc3 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc3 start
[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini
节点二添加:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc4 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc4 start
[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini
节点三添加:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 2
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc5 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc5 start
12、启动DMCSS服务
查看防火墙状态:关闭
dmdba
三个节点启动dmcss
[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了
13、Asm启动后dmdba用户启动dmasmtool工具创建redo日志磁盘组和数据文件磁盘组
一个节点启动即可
[dmdba@DMDB bin]$ ./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini
创建redo日志磁盘组
ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
创建数据文件磁盘组
ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
ls --查看磁盘组信息是否正确
lsdsk --查看磁盘详细信息
14、初始化DCS集群数据库实例(生成达梦数据库实例配置文件)
配置dminit控制文件,节点一使用dmdba用户执行以下命令:
[dmdba@DMDB config]$ vim 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 = 256
dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[DSC3] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc3
port_num = 5236
mal_host = 10.10.10.222
mal_port = 9236
log_path = +DMLOG/log/DSC3_log01.log
log_path = +DMLOG/log/DSC3_log02.log
[DSC4] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc4
port_num = 5236
mal_host = 10.10.10.223
mal_port = 9236
log_path = +DMLOG/log/DSC4_log01.log
log_path = +DMLOG/log/DSC4_log02.log
[DSC5] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc5
port_num = 5236
mal_host = 10.10.10.224
mal_port = 9236
log_path = +DMLOG/log/DSC5_log01.log
log_path = +DMLOG/log/DSC5_log02.log
初始化实例,节点一使用dmdba用户执行
[dmdba@DMDB bin]$ ./dminit control=/home/dmdba/config/dminit.ini
15、将对应目录复制到对应节点的指定目录下
[dmdba@DMDB config]$ scp -r dsc4 192.168.16.223:/home/dmdba/config/
[dmdba@DMDB config]$ scp -r dsc5 192.168.16.224:/home/dmdba/config/
三台台服务的dmcss均正常不报错了(节点45自动拉起的)
16、启动css,asm,server
三个节点都需要
[dmdba@dm2 bin] ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini --css前面没关它,就不需要重启
[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini --asm这里后台已经全部自动拉起了不需要执行
报这个错直接netstat -lnupt| grep 9351后kill即可 (之前启动了asm,占用了端口,再启动就报错)
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini --dmserver服务也都自动拉起了不需要操作
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
17、配置监视器
228单独服务器
[dmdba@dm1 config]$ vim dmcssm.ini
添加下列内容:
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 10.10.10.222:9341
CSSM_CSS_IP = 10.10.10.223:9341
CSSM_CSS_IP = 10.10.10.224:9341
CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
18、启动监视器
dmdba用户执行。
[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
show
19、注册服务--后台启动
root
节点一:
[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc3 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc3 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc3
[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc3 -dm_ini /home/dmdba/config/dsc3/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc3
节点二:
[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc4 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc4 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc4
[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc4 -dm_ini /home/dmdba/config/dsc4/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc4
节点三:
[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc5 -dcr_ini /home/dmdba/config/dmdcr.ini
[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc5 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc5
[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc5 -dm_ini /home/dmdba/config/dsc5/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc5
修改配置文件:--三个节点都需要
[dmdba@DMDB config]$ vim dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动 (注意Servicedsc345还是Servicedsc345)
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc3 start
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc3 start
20、启动方式
先启动css-再asm-最后server
[dmdba@DMDB bin]$ ./DmCSSServicedsc3 start
[dmdba@DMDB bin]$ ./DmCSSServicedsc4 start
[dmdba@DMDB bin]$ ./DmCSSServicedsc5 start
[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
启动监视器,dmdba用户执行。
[dmdba@DMDB bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
21、客户端验证
shutdown一个数据库,会被自动拉起重新加入集群
208监控服务器做客户端测试
任意节点配置dm_scv.conf文件
[dmdba@dm1 bin]$ vim /etc/dm_svc.conf
添加:
dmdsc=(192.168.16.222:5237,192.168.16.223:5237,192.168.16.224:5237)
登录数据库验证:
关闭222达梦数据库服务
kill -9
数据库客户端链接到222服务器的查询会有几秒钟中断,后自动拉起并重新加入集群后就好了
后自动拉起并重新加入集群后就好了
达梦数据库社区地址:https://eco.dameng.com