dsc集群搭建

  • DSC集群概述

     DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同 一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。

数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些 文件,这些文件保存在共享存储上。每个节点有自己独立的联机日志和归档日志,其中联机 日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。

  • DSC集群特性

   高可用:只要有一个实例在正常运行,那整个集群就可以继续提供服务

   高性能:把应用需要处理的事务,分发到多个集群节点上,多个几点同时提供数据库服务

   负载均衡:把用户的请求平均分发给集群中各个节点

   故障转移:集群中任意一个节点故障,都不会影响用户的使用和集群整体功能,连接到故障节点的用户会被自动转移到健康的节点上。

  • DSC集群组件功能

   DSC集群主要由数据库和数据库实例、共享存储、本地存储、网络通信、集群控制软件DMCSS组成。

   1.数据库和数据库实例:提供工具(路径bin下),创建实例

   2.共享存储:实现多个实例同时访问、修改数据、需要将数据文件、控制文件、日志文件保存在共享存储上

   3.本地存储:用来保存配置文件(记录数据库实例配置信息的dm.ini、dmarch.ini、dmmal.ini),本地归档日志、远程归档日志。

   4.网络通信:分为内部网络和公共网络;

                内部网络:用于数据库实例之间交换信息和数据,以及网络心跳检测等用途,mal链路使用的就是内部网络。

                公共网络:用于对外提供数据库服务,用户使用公共网络地址登录DM DSC集群,访问数据库。

   5.集群控制(DMCSS):集群系统的重要组成部分,DMCSS是DMDSC集群控制软件,负责监控集群中各个几点的运行状态。

                   主要功能包括:管理集群的启动、关闭、控制节点故障处理、以及节点重加入流程。

  • DSC环境搭建

1.环境准备

两台相同配置的虚拟机

挂载共享存储(不小于20G)

主机配置:

主机

操作系统

磁盘

网卡ens33

网卡ens37

dm02

Centos7

本地100G

共享磁盘           20G

公共网络

192.168.1.8

内部网络

192.168.200.1

dm03

Centos7

本地100G

公共网络

192.168.1.33

内部网络

192.168.200.2

数据库配置:

主机

数据库版本

实例名

安装路径

端口

配置文件目录

dm02

1-1-190-21.03.12-136419-ENT

DAMENG

/data

5236

/data

dm03

1-1-190-21.03.12-136419-ENT

DAMENG

/data

5236

/data

2.添加硬盘

dm02主机新添加共享磁盘20G

点击硬盘

选中硬盘,点击添加

dm03主机添加dm02添加的那块硬盘

指定磁盘文件存放位置

VM软件需要在两台虚拟机路径下xxx.vmx文件中加入disk.locking = “FALSE“ 参数,否则后启动的虚拟机会启动失败。

disk.locking = “FALSE“

scsi0:1.SharedBus="Virtual"

scsi1:1.SharedBus="Virtual"

3.添加网卡

dm02、dm03分别添加一块网卡

内部网络用仅主机模式,公共网络用NAT模式区分

dm02:

dm03:

  1. 新硬盘分区

前两个分区大小为100M,第三个分区不少于2G(该分区过小可能会出现启动dmserver闪退、创建ASM磁盘组时连接失败等报错)

使用fdisk命令进行分区

输入n创建添加分区,输入p创建一个主分区,之后都回车,不修改。最后输入w保存操作的结果。

n   add a new partition

p   primary (0 primary, 0 extended, 4 free)

5.绑定裸设备

编辑vi /etc/udev/rules.d/60­raw.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"

两节点分别执行partprobe /dev/sdb,通知系统分区表的变化

两节点执行以下命令,使裸设备绑定生效

udevadm trigger --type=devices --action=change

查看裸设备:

ll /dev/raw/*

注:若执行上面命令没有显示内容,或权限不对,则需要重启以下,若重启后仍然不对,需

要重新配置磁盘。

五、DSC集群搭建过程

5.1配置dmdcr_cfg.ini文件

切换到dmdba1用户,cd到配置文件目录

cd /data

Vim dmdcr_cfg.ini

运行dmasmcmd初始化磁盘,依次执行以下内容

cd /home/dmdba1/dmdbms/bin

./dmasmcmd

5.2配置dmasvrmal.ini文件

在配置文件目录下准备dmasvrmal.ini,具体内容如下。

[MAL_INST1]

MAL_INST_NAME = ASM0

MAL_HOST = 192.168.200.1 #心跳ip

MAL_PORT = 50000

[MAL_INST2]

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.200.2 #心跳ip

MAL_PORT = 50000

5.3配置dmdcr.ini文件

两个节点都需要配置

节点1:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH = /data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0 #对应节点1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0  #0为手动拉起dmasmsvr,后续改为1自动拉起。

DMDCR_ASM_STARTUP_CMD = /home/dmdba1/dmdbms/bin/dmasmsvr dcr_ini=/data/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0   #0为手动拉起dmserver,后续改为1自动拉起

DMDCR_DB_STARTUP_CMD = /home/dmdba1/dmdbms/bin/dmserver path=/data/DAMENG/dm.ini dcr_ini=/data/dmdcr.ini

节点2:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH = /data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1 #对应节点2

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /home/dmdba1/dmdbms/bin/dmasmsvr dcr_ini=/data/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /home/dmdba1/dmdbms/bin/dmserver path=/data/DAMENG/dm.ini dcr_ini=/data/dmdcr.ini

5.4启动dmcss、dmasmsvr服务

两个节点依次启动DMCSS与DMASM服务

cd /home/dmdba1/dmdbms/bin

执行:

./dmcss dcr_ini=/data/dmdcr.ini

./dmasmsvr dcr_ini=/data/dmdcr.ini

节点一:

返回dmcss启动的那个会话,看到节点1或节点2的返回,内容很多并且没有报错,表示成功

5.5dmasmtool创建磁盘组

选择一个节点,再开个新会话,启动dmasmtool工具,在bin目录

./dmasmtool dcr_ini=/data/dmdcr.ini

执行:

#创建日志磁盘组

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

#创建数据磁盘组

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

5.6配置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

page_size = 16

[DSC0]  #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /data/dsc0_config

port_num = 5236

mal_host = 192.168.200.1

mal_port = 9340

log_path = +DMLOG/log/dsc0_log01.log

log_path = +DMLOG/log/dsc0_log02.log

[DSC1]  #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /data/dsc1_config

port_num = 5236

mal_host = 192.168.200.2 #心跳ip

mal_port = 9340

log_path = +DMLOG/log/dsc1_log01.log

log_path = +DMLOG/log/dsc1_log02.log

一个节点配置即可

5.7初始化数据库

1、切换到bin目录下

cd /home/dmdba1/dmdbms/bin

执行:

./dminit control=/data/dminit.ini

初始化完成

2、然后去/data目录下,会看到成功初始化后生成的配置文件,共2个节点,分别用目录装着,目录名是两个节点的数据库名

这两个目录中存放着两个节点上数据库实例的dm.ini、dmmal.ini文件

  1. 把dsc1_config目录传到节点2存放配置文件的目录上

  scp -r dsc1_config dmdba1@192.168.200.2:/data

传完之后,删除节点:1上的dsc1_config 目录

5.8启动数据库服务

切换到bin目录

cd /home/dmdba1/dmdbms/bin

节点1:

./dmserver /data/dsc0_config/dm.ini dcr_ini=/data/dmdcr.ini

节点2:

./dmserver /data/dsc1_config/dm.ini dcr_ini=/data/dmdcr.ini

在dmcss中执行show命令查看

5.8开启远程归档

修改dm.ini参数

ARCH_INI    = 1(两个节点都要修改)

节点一:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /data/arch/dsc0/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC1

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

ARCH_INCOMING_PATH = /data/arch/dsc0/arch_remote

节点二:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /data/arch/dsc1/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC0

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

ARCH_INCOMING_PATH = /data/arch/dsc1/arch_remote

5.9注册服务后台启动

先将两个节点,数据库服务,停掉
然后dmcss会话都停掉,两个节点,输入exit,回车
再将dmasmsvr停掉,两个节点,输入exit,回车
去bin目录下的service_template目录下

节点一:

cp DmCSSService ../DmCSSService_dsc0

vi DmCSSService_dsc0

修改DCR_INI_PATH="/data/dmdcr.ini" 

节点二:

cp DmCSSService ../DmCSSService_dsc1

vi DmCSSService_dsc0

修改DCR_INI_PATH="/data/dmdcr.ini" 

剩余的DmASMSvrService、DmService,也是如此操作

两个节点,返回配置文件目录,/data,修改dmdcr.ini
DMDCR_ASM_RESTART_INTERVAL = 10
DMDCR_DB_RESTART_INTERVAL = 30

然后返回bin目录,执行:

节点一:

./DmCSSService_dsc0 start

节点二:

./DmCSSService_dsc1 start

使用ps -ef | grep data,过1分钟后查看dmcss是否正常拉起dmasmsvr和dmserver,正常拉起即可。时间根据实例启动耗时而定,需耐心等待一会。

之后启动,就直接执行这个DmCSSService就行了,dmcss会自动拉起dmasmsvr和dmserver

六、配置DMCSSM监视器

任意一个节点即可

cd到配置文件目录 /data

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 = 192.168.200.1:9341 #心跳ip

CSSM_CSS_IP = 192.168.200.2:9343

CSSM_LOG_PATH =/data/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动监视器,查看实例情况

./dmcssm ini_path=/data/dmcssm.ini

执行show命令查看实例

  • 集群启、停顺序

集群启动顺序:

节点一:./DmCSSService_dsc0 start

节点二:./DmCSSService_dsc1 start

./dmcssm ini_path=/data/dmcssm.ini

集群停止顺序:

执行exit退出监视器

节点一:./DmCSSService_dsc0 stop

节点二:./DmCSSService_dsc1 stop

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值