DM8数据库DSC集群配置
DM8数据库DSC集群配置
一、部署规划
本次部署为2节点DSC集群
IP规划:
主机名 |
服务ip |
心跳ip |
实例名 |
节点用途 |
DSC1 |
192.168.3.31 |
192.168.4.3 |
DSC1 |
DSC节点1 |
DSC2 |
192.168.3.32 |
192.168.4.4 |
DSC2 |
DSC节点2 |
端口规划:
实例名 |
实例端口 |
MAL系统端口 |
CSS端口 |
ASM端口 |
ASM的MAL端口 |
DCR检查实例端口 |
DSC1 |
5236 |
9236 |
9341 |
9351 |
7236 |
9741 |
DSC2 |
5236 |
9236 |
9341 |
9351 |
7236 |
9741 |
共享存储规划:
磁盘 |
裸设备名/用途 |
/dev/sdb(5G) |
/dev/raw/raw1 (DCR磁盘) |
/dev/sdc(5G) |
/dev/raw/raw2 (vote磁盘) |
/dev/sdd(10G) |
/dev/raw/raw3(redo日志磁盘) |
/dev/sde(10G) |
/dev/raw/raw4(数据磁盘) |
目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)
数据库软件安装目录 |
/dm/dmdbms |
DSC配置文件目录 |
/dm/dmdbms/config |
DSC1本地归档目录 |
+DMDATA/dsc/dsc1/arch |
DSC1远程归档目录 |
+DMDATA/dsc/dsc2/arch |
DSC2本地归档目录 |
+DMDATA/dsc/dsc2/arch |
DSC2本地归档目录 |
+DMDATA/dsc/dsc1/arch |
二、数据库软件安装
注:所有服务器节点都需要安装数据库软件。
2.1 操作系统配置
2.1.1 操作系统用户创建
groupadd -g 12349 dinstall
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
2.1.2 修改操作系统用户变量
使用dmdba用户执行以下命令:
vi .bash_profile
添加如下内容:
export DM_HOME=/dm/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
变量生效:
[dmdba@DM1 ~]$ source .bash_profile
2.1.3 修改操作系统用户资源限制
使用root用户执行以下命令:
vi /etc/security/limits.conf
添加如下内容:
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
2.1.4 修改操作系统参数
使用root用户执行以下命令:
vi /etc/sysctl.conf
添加如下内容:
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern=/coredump/%e.core.%p
参数生效:
sysctl -p
2.1.5 安装目录创建
使用root用户执行以下命令:
mkdir -p /dm/dmdbms
chown -R dmdba:dinstall /dm
2.2 数据库软件安装
2.2.1 解压软件包
使用root用户执行以下命令:
unzip dm8_20210630_x86_rh6_64_ent.zip
chown dmdba:dinstall DM*
2.2.2 数据库软件安装
注:主备节点和监视器节点都需安装数据库软件
使用dmdba用户执行以下命令:
./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1178M
请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms
可用空间: 36G
是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /dm/dmdbms
所需空间: 1178M
可用空间: 36G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2021-10-07 18:11:25
[INFO] 安装达梦数据库...
2021-10-07 18:11:25
[INFO] 安装 基础 模块...
2021-10-07 18:12:10
[INFO] 安装 服务器 模块...
2021-10-07 18:12:11
[INFO] 安装 客户端 模块...
2021-10-07 18:12:19
[INFO] 安装 驱动 模块...
2021-10-07 18:12:21
[INFO] 安装 手册 模块...
2021-10-07 18:12:23
[INFO] 安装 服务 模块...
2021-10-07 18:12:24
[INFO] 移动日志文件。
2021-10-07 18:12:24
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/dm/dmdbms/script/root/root_installer.sh
安装结束
三、集群配置
3.1 使用UDEV绑定存储
所有节点都需使用UDEV绑定存储。
使用root用户执行以下命令:
vi /etc/udev/rules.d/90-raw.rules
添加如下内容:
ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb",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"
KERNEL=="raw[1-4]",OWNER="dmdba",GROUP="dinstall",MODE="660"
使用root用户执行以下命令:
udevadm trigger --type=devices --action=change
reboot (重启服务器)
3.2 配置dmdcr_cfg.ini文件
所有节点都需要配置dmdcr_cfg.ini文件。
使用dmdba用户执行以下命令:
mkdir -p /dm/dmdbms/config
vi /dm/dmdbms/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 = 192.168.4.3
DCR_EP_PORT = 9341
[CSS]
DCR_EP_NAME = CSS2
DCR_EP_HOST = 192.168.4.4
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 = 500
DCR_EP_HOST = 192.168.4.3
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 = 500
DCR_EP_HOST = 192.168.4.4
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 = 5236
DCR_CHECK_PORT = 9741
[DSC]
DCR_EP_NAME = DSC2
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
3.3 创建ASM磁盘
只需在任意一个节点执行即可。
使用dmdba用户执行以下命令:
dmasmcmd
在dmasmcmd命令行界面执行以下命令:
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
注:dmasmcmd命令行界面执行任何命令都不可以添加“;”符号。
初始化DCR盘
init dcrdisk '/dev/raw/raw1' from '/dm/dmdbms/config/dmdcr_cfg.ini' identified by '123456'
初始化VOTE盘
init votedisk '/dev/raw/raw2' from '/dm/dmdbms/config/dmdcr_cfg.ini'
3.4 配置dmasvrmal.ini文件
所有节点都需要配置dmasvrmal.ini文件。
使用dmdba用户执行以下命令:
vi /dm/dmdbms/config/dmasvrmal.ini
添加如下内容:
[MAL_INST1]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.4.3
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM2
MAL_HOST = 192.168.4.4
MAL_PORT = 7236
3.5 配置dmdcr.ini文件
所有节点都需配置dmdcr.ini文件。
节点1:
使用dmdba用户执行以下命令:
vi /dm/dmdbms/config/dmdcr.ini
添加如下内容:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO = 0
#ASM
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/config/dmdcr.ini
#DB
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver path=/dm/dmdbms/config/dsc1/dm.ini dcr_ini=/dm/dmdbms/config/dmdcr.ini
节点二:
使用dmdba用户执行以下命令:
vi /dm/dmdbms/config/dmdcr.ini
添加如下内容:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO = 1
#ASM
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/config/dmdcr.ini
#DB
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver path=/dm/dmdbms/config/dsc2/dm.ini dcr_ini=/dm/dmdbms/config/dmdcr.ini
3.6 启动dmcss服务
使用dmdba用户在所有节点执行以下命令:
cd $DM_HOME/bin
./dmcss dcr_ini=/dm/dmdbms/config/dmdcr.ini
3.7 创建ASM磁盘组
只需在任意一个节点执行即可。
使用dmdba用户执行以下命令:
dmasmtool dcr_ini=/dm/dmdbms/config/dmdcr.ini
在dmasmtool的命令行界面中执行以下命令:
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
注:dmasmcmd命令行执行任何命令都不可以添加“;”符号。
3.8 创建数据库实例
在节点1使用dmdba用户执行如下操作命令:
vi /dm/dmdbms/config/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_seqno = 0
auto_overwrite = 1
charset =1
page_size =32
[DSC1]
config_path = /dm/dmdbms/config/dsc1
port_num = 5236
mal_host = 192.168.4.3
mal_port = 9236
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
[DSC2]
config_path = /dm/dmdbms/config/dsc2
port_num = 5236
mal_host = 192.168.4.4
mal_port = 9236
log_path = +DMLOG/log/dsc2_log01.log
log_path = +DMLOG/log/dsc2_log02.log
执行dminit命令:
dminit control=/dm/dmdbms/config/dminit.ini
将节点2的配置文件,从节点1复制到节点2对应目录:
scp -R dsc2 dmdba@192.168.3.32:/dm/dmdbms/config/
3.9 注册数据库服务
在所有数据库节点,使用root用户执行以下命令:
节点1:
/dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -p css1 -dcr_ini /dm/dmdbms/config/dmdcr.ini
节点2:
/dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -p css2 -dcr_ini /dm/dmdbms/config/dmdcr.ini
3.10 以服务方式启动css
关闭以前台方式启动的css,以服务方式启动css。
节点1:
使用dmdba用户执行以下命令:
在以前台方式启动的css的命令行界面执行CTRL+C,关闭css服务。
使用root用户执行以下命令:
systemctl enable DmCSSServicecss1.service
systemctl start DmCSSServicecss1.service
systemctl status DmCSSServicecss1.servic
节点二:
使用dmdba用户执行以下命令:
在以前台方式启动的css的命令行界面执行CTRL+C,关闭css服务。
使用root用户执行以下命令:
systemctl enable DmCSSServicecss2.service
systemctl start DmCSSServicecss2.service
systemctl status DmCSSServicecss2.service
3.11 开启数据库归档模式
节点1:
vi /dm/dmdbms/config/dsc1/dm.ini
修改如下内容:
ARCH_INI=1
在dm.ini同级目录下创建dm_arch.ini文件。
vi /dm/dmdbms/config/dsc1/dmarch.ini
添加如下内容:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST =+DMDATA/dsc/dsc1/arch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 5000
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_INCOMING_PATH =+DMDATA/dsc/dsc2/arch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 5000
节点2:
vi /dm/dmdbms/config/dsc2/dm.ini
修改如下内容:
ARCH_INI=1
在dm.ini同级目录下创建dm_arch.ini文件。
vi /dm/dmdbms/config/dsc2/dmarch.ini
添加如下内容:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST =+DMDATA/dsc/dsc2/arch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 5000
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH =+DMDATA/dsc/dsc1/arch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 5000
两节点重启数据库实例,开启数据库归档模式。
四、数据库参数调整
执行参数优化脚本,优化数据库参数。
五、配置集群监视器
在任意1个节点,使用dmdba用户执行以下命令:
vi /dm/dmdbms/config/dmcssm.ini
添加如下内容:
CSSM_OGUID = 63635
CSSM_CSS_IP = 192.168.4.3:9341
CSSM_CSS_IP = 192.168.4.4:9341
CSSM_LOG_PATH =/dm/dmdbms/log
CSSM_LOG_FILE_SIZE = 32
CSSM_LOG_SPACE_LIMIT = 0
启动监视器:
dmcssm ini_path=/dm/dmdbms/config/dmcssm.ini
六、重启数据库集群
关闭集群
在集群监视器命令行界面执行以下命令:
ep stop DSC
ep stop ASM
节点1:
使用root用户执行以下命令:
systemctl stop DmCSSServicecss1
节点2:
使用root用户执行以下命令:
systemctl stop DmCSSServicecss2
启动集群
节点1:
使用root用户执行以下命令:
systemctl start DmCSSServicecss1
节点2:
使用root用户执行以下命令:
systemctl start DmCSSServicecss2
想要获取达梦数据库更多的学习资料,可登陆达梦数据云适配中心(https://eco.dameng.com/)获取。