目录

1 DMDSC集群介绍

1.1 概述

1.2 系统特性

2 环境准备

2.1 创建共享磁盘

2.2 使用裸设备搭建 2 节点 DMDSC

3 安装达梦数据库

4 配置文件

4.1 dmdcr_cfg.ini文件

4.2 使用 DMASMCMD 工具初始化

​编辑

4.3 dmasvrmal.ini文件

4.4 dmdcr.ini 文件

5 启动 DMCSS、DMASM 服务程序

6  使用 dmasmtool 工具创建 DMASM 磁盘组

​编辑

7 初始化共享存储集群数据库实例

7.1 配置dminit.ini文件

​编辑

7.2 使用 dminit 初始化 DB 环境

8 启动数据库服务器

9 配置监视器

10 DSC集群启动与关闭


1 DMDSC集群介绍

1.1 概述

DM 共享存储数据库集群的英文全称 DM Data Shared Cluster,简称 DMDSC
DM 共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC 支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。
DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。 数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这文件,这些文件保存在共享存储上。每个节点有自己独立的联机日志和归档日志,其中联机
日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。
DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS 组成。下面以部署了 DMASM 的 DMDSC 集群为例,展示 DMDSC 集群系统结构如下图。
数据库和数据库实例
数据库(Database)是一个文件集合(包括数据文件、临时文件、重做日志文件和控
制文件等),保存在物理磁盘或文件系统中。
数据库实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。通过数
据库实例,可以操作数据库,一般情况下,我们访问、修改数据库都是通过数据库实例来完
成的。
共享存储
DMDSC 集群中,为了实现多个实例同时访问、修改数据,要求将数据文件、控制文件、
日志文件保存在共享存储上。
其中,配置 DMDSC 集群需要的 DCR、Voting disk 必须保存在 DMASM 文件系统管辖
范围之外的共享存储上。
本地归档日志也可以保存在共享存储上,不过这样会占用较为宝贵的共享存储资源,因
此建议放在普通磁盘上即可。
本地存储
DMDSC 集群中,本地存储用来保存配置文件(记录数据库实例配置信息的 dm.ini、
dmarch.ini、dmmal.ini),本地归档日志、远程归档日志。
通信网络
DMDSC 集群中,网络分为内部网络和公共网络两个部分。实际应用中一般还存在服务
器到共享存储的网络。内部网络用于数据库实例之间交换信息和数据,MAL 链路使用的就是
内部网络。公共网络用于对外提供数据库服务,用户使用公共网络地址登录 DMDSC 集群,
访问数据库。
集群控制
集群控制是集群系统的重要组成部分。DMCSS 就是一款集群控制软件,专门负责监控
集群中各个节点的运行状态。DMCSS 主要功能包括:管理集群的启动和关闭,控制节点故
障处理,以及管理节点重加入流程。

1.2 系统特性

DMDSC 的主要特点包括:
1. 高可用性
只要集群中有一个活动节点,就能正常提供数据库服务。
2. 高吞吐量
多个节点同时提供数据库服务,有效提升集群的整体事务处理能力。
3. 负载均衡
用户的连接请求被平均分配到集群中的各个节点,确保各个节点的负
载大致平衡。

2 环境准备

硬件:两台相同配置机器,2G 内存,另有一块共享磁盘。
操作系统:RedHat Linux 64 位。
网 络 配 置 : A机器:192.168.186.140,B机器:192.168.186.141。
DM安装目录:/dm8。
配置文件位于目录:/dm8/config

2.1 创建共享磁盘

A机器:

B机器:

以上完成了共享磁盘的挂载。

A,B机器还要在虚拟机文件中的xxxxx.vmx文件中添加

disk.locking="FALSE"

2.2 使用裸设备搭建 2 节点 DMDSC

1. 在共享磁盘上裸设备划分(任一机器操作即可)
    1) 输入 fdisk /dev/sdb
fdisk -l  #查看信息
fdisk /dev/sdb  #分区,划分完成后,输入w保存

   
        2) 依次输入 n -> p -> 1 -> 回车 -> +100M -> 回车,完成第一块磁盘划分
 
    3) 依次输入 n -> p -> 2 -> 回车 -> +100M -> 回车,完成第二块磁盘划分
    4) 依次输入 n -> p -> 3 ->回车 -> +2048M -> 回车,完成第三块磁盘划分
    5) 依次输入 n -> p -> 4 ->回车 -> 回车 -> 回车,完成第四块磁盘划分

再次查看磁盘

fdisk -l

    6) A,B机器都需要操作,编辑/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="dmdba", MODE="660"

依次执行下面两条语句,再查看是否绑定成功

partprobe /dev/sdb
udevadm trigger --action=add

查看是否绑定成功

ll /dev/raw/raw*

注意!未免之后启动CSS报无法打开文件的错误,建议给/dev/raw目录赋予权限

chown dmdba:dinstall -R /dev/raw
chmod -R 755 /dev/raw

3 安装达梦数据库

参考链接:https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html

注意:

安装数据库记得关闭防火墙和SELiunx,以便后面ASM服务起不了,报错:[code : -11041] ASM连接异常

4 配置文件

4.1 dmdcr_cfg.ini文件

在DM数据库安装目录下新建目录config,准备 dmdcr_cfg.ini 配置文件,保存到/dm8/config目录下面。后续 DMASMCMD 工具执行 init 语句会使用到。
我的A机器:192.168.186.140
B机器:192.168.186.141
2 个节点都要执行,使用 dmdba 用户
vi /dm8/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 = GRP_CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.186.140
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.186.141
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
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.186.140
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.186.141
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 = DSC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9742

4.2 使用 DMASMCMD 工具初始化

切换到DM数据库安装目录的bin目录下(任一机器执行即可)

cd /dm8/bin
./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'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'

4.3 dmasvrmal.ini文件

准备 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),2 个机器都需要配置,且文件内容相同,执行以下命令:
vi /dm8/config/dmasvrmal.ini

[MAL_INST1]MAL_INST_NAME = ASM0MAL_HOST = 192.168.186.140MAL_PORT = 7236
[MAL_INST2]MAL_INST_NAME = ASM1MAL_HOST = 192.168.186.141MAL_PORT = 7236

4.4 dmdcr.ini 文件

准备 dmdcr.ini 配置文件,保存到/dm8/config 目录下面。两个机器都需要配置。
A、B机器的dmdcr_seqo 分别为 0 和 1。
vi /dm8/config/dmdcr.ini

机器A: 192.168.174.140
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/config/dsc1/dm.ini     dcr_ini=/dm8/config/dmdcr.ini

机器B: 192.168.174.141

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 10
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/config/dsc2/dm.ini dcr_ini=/dm8/config/dmdcr.ini
注意:DMDCR_ASM_STARTUP_CMD和DMDCR_DB_STARTUP_CMD的配置不要换行!

5 启动 DMCSS、DMASM 服务程序

在 A、B机器先后分别启动 dmcss、dmasmsvr 程序,数据库bin目录下执行。
手动启动 dmcss 命令:
 ./dmcss DCR_INI=/dm8/config/dmdcr.ini
手动启动 dmasmsvr 命令:
./dmasmsvr DCR_INI=/dm8/config/dmdcr.ini

6  使用 dmasmtool 工具创建 DMASM 磁盘组

选择一个节点(192.168.186.140)即A机器,启动 dmasmtool 工具。
./dmasmtool DCR_INI=/dm8/config/dmdcr.ini
输入下列语句创建 DMASM 磁盘组:
#创建日志磁盘组create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'#创建数据磁盘组create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

7 初始化共享存储集群数据库实例

7.1 配置dminit.ini文件

配置 dminit 控制文件,节点 1 使用 dmdba 用户执行以下命令,保存到/dm8/config目录
vi /dm8/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 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[DSC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm8/config/dsc1
port_num = 5236
mal_host = 192.168.186.140
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 = /dm8/config/dsc2
port_num = 5237
mal_host = 192.168.186.141
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

7.2 使用 dminit 初始化 DB 环境

选择一个结点,A机器,启动 dminit 工具初始化数据库。dminit 执行完成 后,会在 config_path 目录(/dm8/config/dsc1 和 /dm8/config/dsc2)下生成配置文件 dm.ini 和 dmmal.ini。
./dminit control=/dm8/config/dminit.ini

在A机器上执行此命令,将dsc目录拷贝到B机器上

scp -r dsc2 192.168.174.141:/dm8/config/

8 启动数据库服务器

如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不
需要手动启动。
如果需要手动启动,可参考下面的操作步骤:

A机器:
./dmserver /dm8/config/dsc1/dm.ini dcr_ini=/dm8/config/dmdcr.ini
机器:
./dmserver /dm8/config/dsc2/dm.ini dcr_ini=/dm8/config/dmdcr.ini

9 配置监视器

可以在B机器上配置dmcssm.ini文件

vi /dm8/config/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.186.140:9341
CSSM_CSS_IP = 192.168.186.141:9343CSSM_LOG_PATH = /dm8/data/cssm/log #监视器日志文件存放路径CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
#启动监视器
./dmcssm ini_path=/dm8/config/dmcssm.ini

show命令查看DSC集群状况。

10 DSC集群启动与关闭

启动DSC集群

 启动css        ./dmcss DCR_INI=/dm8/config/dmdcr.ini启动asmvr      ./dmasmsvr dcr_ini=/dm8/config/dmdcr.ini启动实例       ./dmserver /dm8/config/dsc1/dm.ini dcr_ini=/dm8/config/dmdcr.ini
ep startup grp_dsc

DSC集群关闭:

如果 DMCSS 配置了 DMASMSVR/dmserver 自动拉起命令,可以先仅启动 DMCSS,然 后启动 DMCSSM,在 DMCSSM 控制台执行命令"ep startup asm"启动 DMASMSVR 集群, 执行"ep startup dsc"启动 dmserver 集群(其中 asm/dsc 为 dmasmsvr/dmserver 集群的组名)。类似地执行"ep stop asm/dsc"可以关闭 dmasmsvr/dmserver 集群环境。

关闭 DMDSC 集群环境时,应先关闭 dmserver,再依次关闭 DMASMSVR 和 DMCSS。

关闭数据库:监视器中执行

ep stop GRP_DSC

关闭 asm:监视器中执行

ep stop GRP_ASM

关闭 css:各节点关闭各自的 css 服务 systemctl stop DmCSSServicecss1/DmCSSServicecss2

启动 css: 各节点启动各自的 css 服务 systemctl start DmCSSServicecss1/DmCSSServicecss2

启动 asm:配置了自动拉起,等待 asm 自动启动。

启动数据库:配置了自动拉起,等待数据库自动启动。

开启\关闭自动拉起:

set group_name auto restart on/off

通过dmcssm修改自动拉起标志是仅修改内存值,并不会修改dmdcr.ini配置文件中的值,重启dmcss服务后对应节点上的自动拉起标识会被重置。

至此DSC集群的搭建完毕,更多详细资料,请参考达梦数据库官方社区:https://eco.dameng.com

达梦数据库DSC集群搭建相关推荐

  1. 达梦数据库DSC集群的搭建(DM8+CentOS7.7+dmcss+dmasm)

    达梦数据库DSC集群的搭建DM8+CentOS7.7+dmcss+dmasm 1 环境准备 2 安装DM 软件 3 共享存储环境准备(虚拟化环境配置注意) 3.1 规划6个共享磁盘如下: 3.2 VM ...

  2. 达梦数据库DSC集群安装文档

    达梦数据库DSC集群安装文档 一. DSC安装准备工作 1 1.1. 创建安装用户 2 1.2. 配置udev存储 2 二. DMDSC 搭建 8 三. 搭建DW容灾架构 39 修改dm.ini,数据 ...

  3. 达梦v8版本集群搭建

    达梦v8版本集群搭建 单节点搭建 1.配置需求 主机 用户 软件安装目录 实例目录 端口 归档日志目录 192.168.12.88 4c 8G 存储至少20G dmdba /home/dmdba/dm ...

  4. 达梦数据库DW集群部署搭建流程步骤说明

    环境: 一主一备一监视器,3台服务器: 3台服务器,均已经安装DM达梦数据库软件: 一.主库操作 数据库初始化实例:DMINIT 备份数据库(2种选择,一种脱机备份,二种联机备份)          ...

  5. 达梦数据库守护集群环境搭建

    目录 1.IP地址及配置规划如下表 1.1.IP配置 1.2.端口配置 2.数据库安装及初始化数据库 2.1.安装达梦8数据库 2.2.初始化数据库 3.备份还原 3.1.备份主库 3.2.还原备库 ...

  6. 达梦数据库守护集群安装

    目录 数据库守护集群安装... 1 主备集群原理介绍... 1 搭建DM数据守护环境... 2 环境检查... 2 主备集群搭建思路... 3 安装前工作... 3 数据库安装... 6 主机配置数据 ...

  7. 达梦主备集群,主库部分redo被删除或损坏,故障恢复。

    记录一次在虚拟机上安装达梦主备集群,搭建完成后,由于主库新添加3个2G redo.log,造成虚拟机空间不足,无法归档.然后删除3个redo,实例无法启动又到恢复过程.详细步骤如下: 主库报错: 20 ...

  8. 达梦数据库DSC+DW集群搭建

    目录 1 配置说明 2 环境说明 3 配置 DMDSC 主库环境 3.1 配置 dmarch.ini 3.2 配置 dm.ini 3.3 备份 DMDSC 库 4 配置单节点备库 5  配置 dm.i ...

  9. 达梦数据库DSC搭建

    1.裸设备搭建DSC 1.1环境介绍 服务器: 192.168.1.101 DSC1 192.168.1.102 DSC2 目录规划: 存放 dcr 信息 /dev/sdb1 1 GB   /DCR ...

最新文章

  1. tkinter学习系列之(五)Checkbutton控件
  2. 故障模块名称kernelbase.dll_TLY-01L12/16宜宾智能照明调光模块
  3. python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...
  4. (连通图 模板题 无向图求桥)Critical Links -- UVA -- 796
  5. mysql分组查询和分组过滤
  6. ZooKeeper学习第一期---Zookeeper简单介绍(转)
  7. ubuntu 改屏幕分辨率命令_Ubuntu被曝严重漏洞!!!
  8. linux的一些基本命令
  9. shell下移动文件
  10. 计算机ppt试题训练,教案计算机试题.ppt
  11. 中国39所985高校省级行政区分布-web数据可视化(d3.pack包含关系图)
  12. postman并发测试_PostMan接口压力测试
  13. 阿里2018届实习生内推经历
  14. Xshell怎样才能实现快速粘贴复制
  15. VC编程调用dxdiag生成XML文件,来获取系统配置情况
  16. python处理excel——创建excel工作簿和工作表并录入信息(openpyxl库)
  17. JPEG图像压缩解压算法——C++实现
  18. idea Maven阿里云仓库和阿里spring代理仓库配置
  19. 生产者消费者2.0(lock)
  20. vectorvn1610报价_【德国VECTOR VN1610模块】价格_厂家 - 中国供应商

热门文章

  1. marlin 源码入门2
  2. MINSTER触摸屏维修贝加莱显示屏维修5RP920.1505-KC3
  3. seata openfeign 实现传播xid源码解析
  4. Ed Brill: 我知道有些人还在责怪我
  5. 近似算法中的技巧之一原始对偶模式
  6. 数据结构经典习题【part 1】
  7. 使用pcl将bin文件转化为pcd文件
  8. 《现代医学成像科学丛书——CT原理与技术》——X射线管的基本作用
  9. 孙鑫VC++深入详解:Lesson6 Part2 -- MFC菜单更新机制 用该机制实现 Enable or Disable MenuItem
  10. 猫和老鼠 10DVD 高清晰下载...