达梦DM8数据库DSC集群部署(超详细)


前言

提示:
达梦的DSC集群式和Oracle RAC集群同架构的解决方案,属于RAC的国产化平行替代产品。
在实际的生产环境中不管是DSC集群还是RAC集群对硬件环境都有较高的要求。
在生产环境中硬件需求:
1、2台服务器,CPU:最少32核,内存:256G,本地磁盘:1T ,安装Linux操作系统
2、每台服务器需要有2张网卡,最少一张万兆,一张千兆。
3、一台存储阵列
4、最少一台万兆网络交换机,一台千兆网络交换机,一台存储交换机
5、HBA卡,16GB/s,存储和服务器连接需要通过存储交换机,每台服务器至少需要一张HBA卡
共享存储的需求:
1、存储空间和预期业务数据有关,例如预计数据量为3T,建议空间规划如下:
2、2个1GB的LUN 用于存储 [dcr,vote]
3、1个100G的LUN 用于存储[redo]
4、N个500G的LUN,(N=3T*2/500) 用于存储[数据3TB,备份,归档日志]


提示:以下仅以测试环境为例,实验达梦DSC的部署过程

一、部署前准备

1、 集群规划

集群规划如下:

指标项A节点B节点共享存储
节点IP10.12.10.7810.12.10.7910.12.10.77
实例名DSC1DSC2\
实例端口52365236\
数据库安装路径/dm8/dmdbms/dm8/dmdbms\
配置文件路径/dm8/config/dm8/config\
本地归档路径/dm8/arch_1/dm8/arch_2\
CSS端口53365337\
DCR检查端口55365537\
DCR_OGUID4533145331\

2、相关概念解释

了解DSC集群的基本架构和工作原理可以更好理解DSC,做到知其然知其所以然。特别是遇到问题或故障的时候可以准确的判断出故障的位置,进而做到精确的排错。

1、集群架构图

在这里插入图片描述

2、架构说明

  • 1、DMDSC 集群是一个多实例、单数据库的系统。 多个数据库实例可以同时访问、修改同一个数据库的数据。
  • 2、数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件, 这些文件保存在共享存储上。
  • 3、 每个节点有自己独立的联机日志和归档日志,其中联机日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。
  • 4、DMDSC 支持的共享存储有两种:裸设备和DMASM。 使用 DMASM 文件系统可以方便对裸设备上的磁盘或文件进行管理,推荐用户使用。
  • 5、DMDSC 集群主要由数据库和数据库实例、 共享存储、 本地存储、 通信网络、以及集群控制软件 DMCSS 组成。

3、服务说明

达梦DSC集群主要依赖以下几个服务的协作来实现:

DMCSS(DM Cluster Synchronization Services)
DMCSS 是 DM 集群同步服务的简称,是 DMDSC 集群应用的基础, DMCSS 负责集群环境中节点的启动、 故障处理、 节点重加入等操作。每个集群节点都需要有一个 DMCSS 服务。这些 DMCSS 服务又共同构成一个 DMCSS 集群。

DMCSSM(DM Cluster Synchronization Services Monitor)
DMCSSM是 DM 集群监视器的简称。 DMCSSM 与 DMCSS 相互通信,获取并监控整个集群系统的状态信息。 DMCSSM还提供了一系列的命令来管理、维护集群。

DMASMSVR
DMASMSVR 是提供 DMASM 服务的主要载体,每个提供 DMASM 服务的节点都必须启动一
个 DMASMSVR 服务器,这些 DMASMSVR 一起组成共享文件集群系统,提供共享文件的全局
并发控制。 DMASMSVR 启动时扫描/dev/raw/路径下的所有裸设备,加载 DMASM 磁盘,构
建 DMASM 磁盘组和 DMASM 文件系统。 DMASMSVR 实例之间使用 MAL 系统进行信息和数据
的传递。

4、运行机制

除了必要的服务以外DSC集群内部还有一些组件来为整个集群提供运行基础

DCR(DM Clusterware Registry)
DCR 是 DM 集群注册表的简称,用于存储、维护集群配置的详细信息,整个集群环境共享 DCR 配置信息,包括 DMDSC、 DMASM、 DMCSS 资源,包括实例名、 监听端口、 集群中故障节点信息等。 DCR 必须存储在集群中所有节点都可以访问到的共享存储中, 并且只支持裸设备。 在一个集群环境中只能配置一个 DCR 磁盘。

表决磁盘(Voting Disk)
表决磁盘记录了集群成员信息, DM 集群通过 Voting Disk 进行心跳检测,确定集群中节点的状态,判断节点是否出现故障。 当集群中出现网络故障时,使用 Voting Disk来确定哪些 DMDSC 节点应该被踢出集群。表决磁盘还用来传递命令,在集群的不同状态(启动、节点故障、节点重加入等) DMCSS 通过 Voting Disk 传递控制命令,通知节点执行相应命令。 Voting Disk 必须存储在集群中所有节点都可以访问到的共享存储中, 并且只支持裸设备。 在一个集群环境中只能配置一个表决磁盘。

HeartBeat(心跳机制)
DMCSS 的心跳机制是通过 Voting Disk 的 Disk Heartbeat。这种机制有最大时延,只有超过最大时延,才认为监测对象故障。

MAL 链路
MAL 系统是达梦数据库基于 TCP 协议实现的一种内部通信机制,使用 DMASM 文件系统的 DMDSC 集群中存在两套 MAL 系统, DMASM 服务器之间配置一套 MAL 系统, dmserver 服务器之间配置一套 MAL 系统。一旦 MAL 链路出现异常,DMCSS 会进行裁定,并从集群中踢出一个节点,保证集群环境正常运行。

共享内存
共享内存是一种快速、高效的进程间通信手段。所谓共享内存,就是同一块物理内存被映射到多个进程的地址空间,进程 A 可以即时看到进程 B 对共享内存的修改,反之亦然。DMASM 服务器进程和 DMASM 客户端进程之间通过共享内存方式共享 DMASM 文件到实际磁盘的映射关系。

VIP
VIP(虚拟IP地址),是一个不与特定计算机或者计算机中的网络接口相连的IP地址。数据包被发送到这个 VIP 地址,但是所有的数据还是经过真实的网络接口。在集群环境中,应用通过 VIP 连接数据库服务器,实例故障后,把实例配置的 VIP 设置到其他活动节点(叫做 IP 漂移),这样应用可以不用修改配置,继续访问数据库服务。

二、共享存储搭建

说明:实验环境没有真实的共享存储设备,为了满足部署条件,本章节介绍如何使用虚拟机或者一台Linux服务器自行搭建一套IP-SAN共享存储。

SAN (存储区域网络 storage area network and SAN protocols ,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输。常见的分类是FC-SAN和IP-SAN两种。
FC-SAN通过光纤通道协议转发scsi协议;IP-SAN通过TCP协议转发scsi协议,也就是IP 地址。

1、磁盘准备

首先在服务器上挂载一块或多块新的磁盘,或者创建一个或多个新的磁盘分区用于作为共享存储使用
使用fdisk 可以创建新的分区。挂载新的磁盘就不展开说明了。

我这边增加了2块磁盘用于组建共享存储分别是:/dev/sdb 和 /dev/sdc

2、安装相关软件包

[root@node01 ~]# yum -y install  scsi-target-utils

3、编写配置文件

包安装完成后会自动生成这个配置文件,在原有配置文件下追加即可。

[root@node01 ~]# vim /etc/tgt/targets.conf 

<target iqn.2021-12.cn.node01.www:target>   ##这里是共享存储的名字 iqn.2021-12.cn.node01.www,可以根据实际情况修改
backing-store /dev/sdb      # 这里是增加的磁盘
backing-store /dev/sdc      # 这里是增加的磁盘
initiator-address 10.12.10.78     # 这里访问控制列表
initiator-address 10.12.10.79     # 这里访问控制列表
</target>

4、启动服务

启动服务并将服务加入到启动项

[root@node01 ~]# systemctl restart tgtd.service
[root@node01 ~]# chkconfig tgtd on

5、通过命令查看存储是否部署成功

执行tgt-admin --show 命令效果如下即为成功。

[root@node01 ~]# tgt-admin --show
Target 1: iqn.2021-12.cn.node01.www:target
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
        LUN: 2
            Type: disk
            SCSI ID: IET     00010002
            SCSI SN: beaf12
            Size: 8590 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdc
            Backing store flags: 
    Account information:
    ACL information:
        10.12.10.78
        10.12.10.79

6、配置防火墙

在关闭防火墙的情况,客户端节点可能会出现,挂载失败的问题。
需要配置防火墙策略后,客户端才可以正常挂载。

[root@node01 ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@node01 ~]# firewall-cmd --reload
success
[root@node01 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: cockpit dhcpv6-client mdns ssh
  ports: 3260/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

7、实例节点挂载共享存储

两个实例节点需要分别去执行以下命令。

#安装系统包
[root@loaclhost ~]#yum install open-iscsi
[root@loaclhost ~]#yum -y install iscsi-initiator-utils
#启动服务
[root@loaclhost ~]# systemctl start iscsid.service
#扫描共享存储
[root@loaclhost ~]# iscsiadm -m discovery -t sendtargets -p 10.12.10.77:3260
10.12.10.77:3260,1 iqn.2021-12.cn.node01.www:target  #这里是扫描出来的结果,名字是我们在服务端配置的名字

#通过存储名字挂载存储
[root@loaclhost ~]#  iscsiadm -m node -T iqn.2021-12.cn.node01.www:target -l
Logging in to [iface: default, target: iqn.2021-12.cn.node01.www:target, portal: 10.12.10.77,3260]
Login to [iface: default, target: iqn.2021-12.cn.node01.www:target, portal: 10.12.10.77,3260] successful.

#执行以下命令,实现开机自动挂载
[root@loaclhost ~]#iscsiadm -m node -T iqn.2021-12.cn.node01.www:target -p 10.12.10.77:3260 --op update -n node.startup -v automatic

至此完成了基础的实验环境准备
通过fdisk -l 可以在客户端看到挂载的磁盘,根据服务端配置的磁盘数量不同看的磁盘也不同
我服务端配置了2块磁盘sdb 和 sdc , 那么客户端挂载后也是会增加2块磁盘。

三、达梦DSC集群部署

下面进入正题

1、初始化准备

两个节点到需要执行,分别创建用户和相关目录。

groupadd -g 1000 dinstall
useradd  -g dinstall -d /home/dmdba -s /bin/bash -m dmdba
echo 'dameng123#' | passwd --stdin dmdba

mkdir -p /dm8/dmdbms
mkdir -p /dm8/config
mkdir -p /dm8/arch_1    #第二个节点改为/dm8/arch_2
chown -R dmdba:dinstall /dm8/dmdbms
chown -R dmdba:dinstall /dm8/config
chown -R dmdba:dinstall /dm8/arch_1   #第二个节点改为/dm8/arch_2

2、各个节点安装数据库软件

根据规划将数据库安装到/dm8/dmdbms下
只需要安装数据库软件,暂时不要安装数据库实例

数据库软件安装请参考以下连接:
达梦数据库DM8安装部署指南

3、裸设备分区

这一步操作均为root操作,在任一实例节点操作即可

建议至少创建4个分区。
前面的基础概念提到,DCR、VOTE 都必须使用裸设备,所以要单独为其创建2个分区
第1个分区为 dcr 使用 给100M
第2个分区为 vote 使用 给100M
第3个分区为 redo 日志使用给 2G
第4个分区为数据盘 把剩余空间都放到这个分区

特别说明:此处的分区空间仅限于实验环境,实际生产环境应根据具体情况进行增加。

代码如下(示例):

[root@loaclhost ~]# fdisk /dev/sdb
  1) 依次输入  n  p  1  回车  +100M,完成第一块磁盘划分
  2) 依次输入  n  p  2  回车  +100M,完成第二块磁盘划分
  3) 依次输入  n  p  3  回车  +20480M,完成第三块磁盘划分
  4) 依次输入  n  p  回车  回车  回车,完成第四块磁盘划分
  5) 输入w命令,将裸设备划分的设置进行保存

A机器、B机器依次执行以下命令,更新分区表

[root@loaclhost ~]# partprobe /dev/sdb

如果有其他的磁盘也可以参考以上方法进行分区,只有分区后磁盘才可以使用。
我这边按照以上方法把sdc盘只分了一个区,作为数据盘使用。

4.裸设备绑定

这一步操作均为root操作,两个实例节点都需要执行

将创建好的分区绑定为裸设备,通过上一步的操作,我们得到了sdb1、sdb2、sdb3、sdb4、sdc1 五个分区。

绑定裸设备代码如下(示例):

[root@loaclhost ~]# vi /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=="sdc1", RUN+="/bin/raw /dev/raw/raw5 %N"
KERNEL=="raw[1-5]", OWNER="dmdba", GROUP="dinstall", MODE="660"

确保裸设备dmdba的使用权限,修改以下配置。

[root@loaclhost ~]# vi /etc/rc.local
追加以下内容:
chown dmdba.dinstall /dev/raw/raw*

重启服务器

[root@loaclhost ~]# reboot

通过blockdev --getsize64 /dev/raw/raw* 检查裸设备是否挂载成功,能够正常反馈各个裸设备空间大小即为成功。

[root@loaclhost ~]#blockdev --getsize64 /dev/raw/raw1
1024000
[root@loaclhost ~]#blockdev --getsize64 /dev/raw/raw2
1024000

5、配置dmdcr_cfg.ini文件

这一步操作为dmdba操作,任意节点执行即可

dmdcr_cfg.ini 是用于格式化 DCR 和 Voting Disk 的配置文件
配置内容包括:集群环境全局信息、集群组信息、ASM组、以及组内实例节点信息。

[dmdba@loaclhost ~]# vi /dm8/config/dmdcr_cfg.ini 
  DCR_N_GRP                = 3  #集群环境有多少个GROUP,范围:1~16
  DCR_VTD_PATH             = /dev/raw/raw2
  DCR_OGUID                = 45331

[GRP]  #新建一个GROUP
  DCR_GRP_TYPE             = CSS  #组类型(CSS/ASM/DB)
  DCR_GRP_NAME             = GRP_CSS  #组名
  DCR_GRP_N_EP             = 2  #组内节点个数
  DCR_GRP_DSKCHK_CNT       = 60  #磁盘心跳容错时间,单位:[GRP_CSS]
  DCR_EP_NAME              = CSS1  #CSS节点名
  DCR_EP_HOST              = 10.12.10.78  #心跳地址
  DCR_EP_PORT              = 5336  #CSS端口
[GRP_CSS]
  DCR_EP_NAME              = CSS2
  DCR_EP_HOST              = 10.12.10.79
  DCR_EP_PORT              = 5337

[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  #ASM节点名,和dmasvrmal的MAL_INST_NAME一致
  DCR_EP_SHM_KEY           = 93360  #共享内存标识
  DCR_EP_SHM_SIZE          = 10  #共享内存大小
  DCR_EP_HOST              = 10.12.10.78  #心跳地址
  DCR_EP_PORT              = 5436  #ASM端口
  DCR_EP_ASM_LOAD_PATH     = /dev/raw
[GRP_ASM]
  DCR_EP_NAME              = ASM1
  DCR_EP_SHM_KEY           = 93361
  DCR_EP_SHM_SIZE          = 10
  DCR_EP_HOST              = 10.12.10.79
  DCR_EP_PORT              = 5437
  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              = DSC1  #实例名,和dm.ini的INSTANCE_NAME一致
  DCR_EP_SEQNO             = 0  #组内序号,不能重复
  DCR_EP_PORT              = 5236  #实例端口,和dm.ini的PORT_NUM一致
  DCR_CHECK_PORT           = 5536  #DCR检查端口
[GRP_DSC]
  DCR_EP_NAME              = DSC2
  DCR_EP_SEQNO             = 1
  DCR_EP_PORT              = 5236
  DCR_CHECK_PORT           = 5537

6、创建ASM磁盘

DMASMCMD 是 DMASM 文件系统初始化工具,用来格式化裸设备为 DMASM 磁盘,并初始化 DCR Disk、 Voting Disk。格式化 DMASM 磁盘就是在裸设备的头部写入 DMASM 磁盘特征描述符号,包括 DMASM 标识串、 DMASM 磁盘名、 以及 DMASM 磁盘大小等信息。

[dmdba@loaclhost ~]cd /dm8/dmdbms/bin
[dmdba@loaclhost ~]./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'
create asmdisk '/dev/raw/raw5' 'DATA1'
init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by 'abcd'
init votedisk '/dev/raw/raw2' from '/dm8/config/dmdcr_cfg.ini'

7、创建dmasvrmal.ini配置文件

这一步为dmdba操作,两个节点都要配置,配置文件完全相同

DMASMSVR 是提供 DMASM 服务的主要载体,每个提供 DMASM 服务的节点都必须启动一个 DMASMSVR 服务器,这些 DMASMSVR 一起组成共享文件集群系统,提供共享文件的全局并发控制。
dmasvrmal.ini 用于配置节点之间 DMASMSVR 服务的通信。

[dmdba@loaclhost dmdbms]$ vi /dm8/config/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 10.12.10.78
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 10.12.10.79
MAL_PORT = 7237

8、配置dmdcr.ini配置文件

这一步为dmdba操作,两个节点都要配置,配置文件完全相同

dmdcr.ini 配置文件记录了 DCR 磁盘路径、实例序列号等信息;如果不指定DCR_INI 参数, dmasmsvr 默认在当前路径下查找 dmdcr.ini 文件

[dmdba@loaclhost dmdbms]$ vi /dm8/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini

#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver /dm8/dsc1_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini
DMDCR_AUTO_OPEN_CHECK =60

9、启动ASM相关服务

这一步为dmdba操作,两个节点都需要启动成功,并且服务处于运行状态才可以进行下一步操作

手动启动 dmcss 命令:

[dmdba@loaclhost dmdbms]$cd /dm8/dmdbms/bin
[dmdba@loaclhost dmdbms]$./dmcss DCR_INI=/dm8/config/dmdcr.ini

手动启动 dmasmsvr 命令:

[dmdba@loaclhost dmdbms]$./dmasmsvr DCR_INI=/dm8/config/dmdcr.ini

根据前台输出观察是否有报错,没有报错可以将服务放到后台运行,nohup command &
或者开启多个会话窗口,确保服务处于运行状态。

10、创建 DMASM 磁盘组

这一步为dmdba操作,任意一个节点操作即可

上面的第6步已经创建好了ASM磁盘。下面我们根据删改创建的ASM磁盘生成磁盘组

[dmdba@loaclhost dmdbms]$cd /dm8/dmdbms/bin
[dmdba@loaclhost dmdbms]$./dmasmtool DCR_INI=/dm8/config/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'  #创建日志磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'  #创建数据磁盘组
alter diskgroup 'DMDATA' add asmdisk '/dev/raw/raw5' #我们有两块数据盘,将另外一块也追加进去

11、创建数据库初始化文件

这一步为dmdba操作,两个节点都要配置,两个实例配置文件相同

[dmdba@loaclhost bin]$ vi /dm8/config/dminit.ini
  db_name                  = dsc
  system_path              = +DMDATA/data
  main                     = +DMDATA/data/dsc/main.dbf
  main_size                = 128
  roll                     = +DMDATA/data/dsc/roll.dbf
  roll_size                = 128
  system                   = +DMDATA/data/dsc/system.dbf
  system_size              = 128
  ctl_path                 = +DMDATA/data/dsc/dm.ctl
  ctl_size                 = 8
  log_size                 = 512
  dcr_path                 = /dev/raw/raw1
  dcr_seqno                = 0
  auto_overwrite           = 1
  PAGE_SIZE                = 32
  CASE_SENSITIVE           = Y
  CHARSET                  = 0

[DSC1]
  config_path              = /dm8/dsc1_config
  port_num                 = 5236
  mal_host                 = 10.12.10.78
  mal_port                 = 5736
  log_path                 = +DMLOG/log/dsc0_log01.log
  log_path                 = +DMLOG/log/dsc0_log02.log 
[DSC2]
  config_path              = /dm8/dsc2_config
  port_num                 = 5236
  mal_host                 = 10.12.10.79
  mal_port                 = 5737
  log_path                 = +DMLOG/log/dsc1_log01.log
  log_path                 = +DMLOG/log/dsc1_log02.log

11、初始化数据库

这一步为dmdba操作,在任意一个节点操作即可

[dmdba@loaclhost ~]$cd /dm8/dmdbms/bin
[dmdba@loaclhost bin]$./dminit control=/dm8/config/dminit.ini

  1. 初始化完成后,数据库实例的数据文件会在dminit.ini中配置的config_path的路径下。
  2. 初始化完成后在config_path会有一个dsc1_config和dsc2_config两个实例文件。
  3. 将其中的一个发送到另一个节点。
[dmdba@loaclhost bin]$scp -r dsc2_config @10.12.10.19:/dm8/

12、测试启动实例

在数据库安装目录/dmdbms/bin下,两台机器上分别执行:

#实例A
[dmdba@loaclhost dmdbms]$cd /dm8/dmdbms/bin
[dmdba@loaclhost dmdbms]$./dmserver /dm8/dsc1_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini

#实例B
[dmdba@loaclhost dmdbms]$cd /dm8/dmdbms/bin
[dmdba@loaclhost dmdbms]$./dmserver /dm8/dsc2_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini

为了观察日志方便,目前第9步的 dmcss 和 dmasmsvr 服务 以及本周的数据库实例 都处于前台运行状态,可以通过前台会话观察日志输出。

13、在任意一节点创建监视器

这一步为dmdba操作,在任意一个节点操作即可

创建监视器可以观察集群的整体运行状况

创建配置文件:

[dmdba@loaclhost dmdbms]$vi /dm8/config/dmcssm.ini
CSSM_OGUID                 = 45331
CSSM_CSS_IP                = 10.12.10.78:5336
CSSM_CSS_IP                = 10.12.10.79:5337
CSSM_LOG_PATH              = ../log
CSSM_LOG_FILE_SIZE         = 512
CSSM_LOG_SPACE_LIMIT       = 2048

启动监视器:

在数据库安装目录/dmdbms/bin下

./dmcssm INI_PATH=/dm8/config/dmcssm.ini

通过 show 可以查看整体集群运行状态

14、各个实例注册服务

这一步为root操作,每个实例节点都需要操作

通过前台服务运行观察各个节点都没有报错后,各个节点注册服务确保开启自启动

在/dm8/dmdbms/script/root/路径下

cd /dm8/dmdbms/script/root/
#第一个节点
./dm_service_installer.sh -t dmcss -dcr_ini /dm8/config/dmdcr.ini -p DSC1
./dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDSC0 -p DSC1
#第二个节点
./dm_service_installer.sh -t dmcss -dcr_ini /dm8/config/dmdcr.ini -p DSC2
./dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDSC1 -p DSC2

启动服务

cd /dm8/dmdbms/bin
#第一个节点
./DmCSSServiceDSC1 start
./DmASMSvrServiceDSC1 start
#第二个节点
./DmCSSServiceDSC2 start
./DmASMSvrServiceDSC2 start

四、配置应用连接

Linux环境:dm_svc.conf放在应用服务器/etc目录下。
Windows32环境:dm_svc.conf放在应用服务器System32目录下。
Windows64环境:dm_svc.conf放在应用服务器System32和SysWOW64目录下。

[root@~]# vi /etc/dm_svc.conf
TIME_ZONE=(+8:00)
LANGUAGE=(cn)
DSC1=(10.12.10.78:5236,10.12.10.79:5236)

[DSC1]
LOGIN_ENCRYPT=(0)
SWITCH_TIME=(20)
SWITCH_INTERVAL=(2000)

经过以上步骤一套达梦DSC集群即部署完成。


达梦技术社区地址:https://eco.dameng.com

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值