达梦数据库系列—23. DSC集群搭建

目录

DSC搭建

1、环境准备

1.硬件

2.存储设备

3.操作系统

4.网络配置

5.防火墙

6.Selinux检查

7.用户准备

8.目录规划

9.软件安装

10.磁盘准备

2、搭建两节点 DMDSC

1.准备配置文件 dmdcr_cfg.ini 

2.使用 DMASMCMD 工具初始化所有磁盘

3.使用 dmdcr_cfg.ini 配置文件初始化 dcrdisk 和 votedisk

4.准备dmasvrmal.ini

5.配置 dmdcr.ini

6.启动 DMCSS、DMASM 服务程序

7.使用 DMASMTOOL 工具创建 ASM 磁盘组

8.准备 dminit.ini 配置文件

9.使用 DMINIT 初始化一个节点的数据库环境

10.使用拷贝的方式配置另外一个节点的数据库环境

11.启动数据库服务器

12.配置并启动 DMCSSM 监视器

13.注册服务

14.登录验证

15.启动/关闭集群


DSC搭建

集群规划

节点机器 

实例名称 

IP 

PORT_NUM 

DCR_OGUID

111 

CSS0

192.168.64.111

192.168.169.111 

9836

63635

ASM0

5836

DSC01

6636

112 

CSS1

192.168.64.112

192.168.169.111 

9837

ASM1

5837

DSC02

6637

1、环境准备

1.硬件

两台相同配置的机器,需要2块网卡。

2.存储设备

4 块由存储服务器提供的共享存储磁盘,存储服务器通过 SAN 交换机与两台机器相连提供存储服务。

3.操作系统

同一套 DMDSC 环境要求其所在机器的操作系统相同。

4.网络配置

两块网卡一个为内网网段,一个为外网网段。

5.防火墙

##防止 Linux 防火墙影响数据库的运行,设置开机禁用防火墙并关闭防火墙。

[root@localhost dmdba]#systemctl disable firewalld

[root@localhost dmdba]#systemctl stop firewalld

6.Selinux检查

[root@localhost dmdba]#setenforce 0

[root@localhost dmdba]#vim /etc/selinux/config ##设置 selinux 状态为关闭

SELINUX=disabled

##修改后,保存退出

7.用户准备

#新建组dinstall和用户dmdba

groupadd dinstall

useradd -g dinstall dmdba

#为用户dmdba设置密码

passwd dmdba

#用户输入密码

8.目录规划

两机器都要做。

dmdba 用户创建用于 DSC 环境搭建的目录:/dm

配置文件存放于目录:/dm/config

9.软件安装

步骤略

10.磁盘准备

两机器都要做。

使用 UDEV 工具来固定磁盘。

编写/etc/udev/rules.d/60-raw.rules 配置信息

ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N;"

ACTION=="add",KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sde1",RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add",KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall",MODE="660"

  1. 重启 udev 服务。

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

查看磁盘权限信息如下:

[dmdba@test111 ~]# ll /dev/raw/

总用量 0

crw-rw---- 1 dmdba dinstall 162, 1  7月  9 00:29 raw1

crw-rw---- 1 dmdba dinstall 162, 2  7月  9 01:16 raw2

crw-rw---- 1 dmdba dinstall 162, 3  7月  9 01:15 raw3

crw-rw---- 1 dmdba dinstall 162, 4  7月  9 01:06 raw4

crw-rw---- 1 root  disk     162, 0  7月  8 23:28 rawctl

#如果清空裸设备:

#dd if=/dev/zero of=/dev/raw/raw1

2、搭建两节点 DMDSC

1.准备配置文件 dmdcr_cfg.ini 

保存到 111 机器的/dm/config 下。

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.64.111

  DCR_EP_PORT = 9836

[GRP_CSS]

  DCR_EP_NAME = CSS1

  DCR_EP_HOST = 192.168.64.112

  DCR_EP_PORT = 9837

[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= 64735

DCR_EP_SHM_SIZE= 512

DCR_EP_HOST= 192.168.64.111

DCR_EP_PORT= 5836

DCR_EP_ASM_LOAD_PATH= /dev/raw

[GRP_ASM]

DCR_EP_NAME= ASM1

DCR_EP_SHM_KEY= 54736

DCR_EP_SHM_SIZE= 512

DCR_EP_HOST= 192.168.64.112

DCR_EP_PORT= 5837

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= DSC01

DCR_EP_SEQNO= 0

DCR_EP_PORT= 6636

[GRP_DSC]

DCR_EP_NAME= DSC02

DCR_EP_SEQNO= 1

DCR_EP_PORT= 6637

2.使用 DMASMCMD 工具初始化所有磁盘

在 111 机器使用 DMASMCMD 工具初始化所有磁盘

./dmasmcmd

create dcrdisk '/dev/raw/raw1' 'DCR'

create votedisk '/dev/raw/raw2' 'VOTE'

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

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

3.使用 dmdcr_cfg.ini 配置文件初始化 dcrdisk 和 votedisk

init dcrdisk '/dev/raw/raw1' from '/dm/config/dmdcr_cfg.ini' identified by 'SYSDBA'

init votedisk  '/dev/raw/raw2' from '/dm/config/dmdcr_cfg.ini'

检查:

listdisks '/dev/raw/'

4.准备dmasvrmal.ini

准备DMASM 的MAL配置文件dmasvrmal.ini保存到 111 的/dm/config 下。

[MAL_INST1]

MAL_INST_NAME= ASM0

MAL_HOST= 192.168.64.111

MAL_PORT= 4836

[MAL_INST2]

MAL_INST_NAME= ASM1

MAL_HOST= 192.168.64.112

MAL_PORT= 4837

为 DSC02 配置 dmasvrmal.ini,和 DSC01 的 dmasvrmal.ini 内容完全一样。保存到 112 的/dm/config  下。

5.配置 dmdcr.ini

为 DSC01和DSC02 配置 dmdcr.ini,保存到/dm/config 下。

DMDCR_PATH                   = /dev/raw/raw1

DMDCR_MAL_PATH               = /dm/config/dmasvrmal.ini  

DMDCR_SEQNO                  = 0   

DMDCR_ASM_RESTART_INTERVAL   = 0  

DMDCR_ASM_STARTUP_CMD        = /dm/bin/dmasmsvr dcr_ini=/dm/config/dmdcr.ini  

DMDCR_DB_RESTART_INTERVAL    = 0  

DMDCR_DB_STARTUP_CMD         = /dm/bin/dmserver path=/dm/config/DSC01_conf/dm.ini dcr_ini=/dm/config/dmdcr.ini

DMDCR_PATH                   = /dev/raw/raw1

DMDCR_MAL_PATH               = /dm/config/dmasvrmal.ini  

DMDCR_SEQNO                  = 1   

DMDCR_ASM_RESTART_INTERVAL   = 0  

DMDCR_ASM_STARTUP_CMD        = /dm/bin/dmasmsvr dcr_ini=/dm/config/dmdcr.ini  

DMDCR_DB_RESTART_INTERVAL    = 0  

DMDCR_DB_STARTUP_CMD         = /dm/bin/dmserver path=/dm/config/DSC02_conf/dm.ini dcr_ini=/dm/config/dmdcr.ini

6.启动 DMCSS、DMASM 服务程序

主节点 111 启动 DMCSS:

./dmcss dcr_ini=/dm/config/dmdcr.ini

另一节点 112 启动 DMCSS:

./dmcss dcr_ini=/dm/config/dmdcr.ini

主节点 111 启动 DMASMSVR:

./dmasmsvr dcr_ini=/dm/config/dmdcr.ini

另一节点 112 启动 DMASMSVR:

./dmasmsvr dcr_ini=/dm/config/dmdcr.ini

7.使用 DMASMTOOL 工具创建 ASM 磁盘组

在 111 上登录创建:

./dmasmtool dcr_ini=/dm/config/dmdcr.ini

#创建DATA磁盘组

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

#创建LOG磁盘组

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

ls --查看磁盘组信息是否正确

lsdsk --查看磁盘详细信息

8.准备 dminit.ini 配置文件

在111机器上准备dminit.ini 配置文件,保存到/dm/config 目录下。

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

LOG_SIZE= 2048

DCR_PATH= /dev/raw/raw1

DCR_SEQNO= 0

AUTO_OVERWRITE= 1

PAGE_SIZE = 16

EXTENT_SIZE = 16

[DSC01]

CONFIG_PATH= /dm/config/DSC01_conf

PORT_NUM = 6636

MAL_HOST= 192.168.64.111

MAL_PORT= 6536

LOG_PATH= +DMLOG/log/DSC01_log1.log

LOG_PATH= +DMLOG/log/DSC01_log2.log

[DSC02]

CONFIG_PATH= /dm/config/DSC02_conf

PORT_NUM = 6637

MAL_HOST= 192.168.64.112

MAL_PORT= 6537

LOG_PATH= +DMLOG/log/DSC02_log1.log

LOG_PATH= +DMLOG/log/DSC02_log2.log

9.使用 DMINIT 初始化一个节点的数据库环境

选择一个节点,启动 DMINIT 初始化数据库,这里以 111 为例。DMINIT 执行完成后,会在 config_path 目录(/dm/config/DSC01_conf 和/dm/config/DSC02_conf)下生成配置文件 DM.INI 和 DMMAL.INI。

./dminit control=/dm/config/dminit.ini 

10.使用拷贝的方式配置另外一个节点的数据库环境

将 111 上初始化库时产生的 DSC02 节点的配置文件(整个/dm/config/DSC02_conf 文件夹)复制到 112 机器的/dm/config/目录下。

scp -r /dm/config/DSC02_conf dmdba@192.168.100.112:/dm/config/

11.启动数据库服务器

分别启动两个节点的服务器。

111节点服务器启动:

cd /dm/bin

./dmserver dcr_ini=/dm/config/dmdcr.ini /dm/config/DSC01_conf/dm.ini

112节点服务器启动:

cd /dm/bin

./dmserver dcr_ini=/dm/config/dmdcr.ini /dm/config/DSC02_conf/dm.ini

12.配置并启动 DMCSSM 监视器

现在我们搭建监视器,配置 dmcssm.ini 文件。

DMCSSM 在任何机器上均可以启动,只要该台机器和 DMDSC 的真实机器网络是相通的,就可以监控 DMDSC 集群信息。

这里我们选择在 111 机器上搭建监视器。/dm/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.64.111:9836

CSSM_CSS_IP = 192.168.64.112:9837

CSSM_LOG_PATH = /dm/cssm_log #监视器日志文件存放路径

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

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

创建 DMCSSM 的日志存放路径。

mkdir -p /dm/cssm_log

启动 DMCSSM 集群监视器。

./dmcssm ini_path=/dm/config/dmcssm.ini

DMCSSM 启动之后,可使用 show 命令在 DMCSSM 监视器中查看集群状态信息。

show

至此,基于 DMASM 的 DMDSC 已经搭建完成。

13.注册服务

CSSM不创建服务

root
节点一:
./dm_service_installer.sh -t dmcss -p DSC01 -dcr_ini /dm/config/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p DSC01 -dcr_ini /dm/config/dmdcr.ini -y DmCSSServiceDSC01
./dm_service_installer.sh -t dmserver -p DSC01 -dm_ini /dm/config/DSC01_conf/dm.ini -dcr_ini /dm/config/dmdcr.ini -y DmASMSvrServiceDSC01

守护进程:

./dm_service_installer.sh -t dmwatcher -p DSC01 -watcher_ini /dm/config/DSC01_conf/dmwatcher.ini

节点二:
./dm_service_installer.sh -t dmcss -p DSC02 -dcr_ini /dm/config/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p DSC02 -dcr_ini /dm/config/dmdcr.ini -y DmCSSServiceDSC02
./dm_service_installer.sh -t dmserver -p DSC02 -dm_ini /dm/config/DSC02_conf/dm.ini -dcr_ini /dm/config/dmdcr.ini -y DmASMSvrServiceDSC02

守护进程:

./dm_service_installer.sh -t dmwatcher -p DSC02 -watcher_ini /dm/config/DSC02_conf/dmwatcher.ini

14.登录验证

#配置 dm_scv.conf 文件
vim /etc/dm_svc.conf
#添加:
dmdsc=(192.168.169.111:6636,192.168.169.112:6637)

disql SYSDBA@dmdsc

 

15.启动/关闭集群

先启动 css-再 asm-最后 server

DmCSSServiceDSC01 start

DmASMSvrServiceDSC01 start

DmServiceDSC01 start

关闭

正常关闭集群应依次退关闭[DB]、[ASM]、[CSS]各组节点

直接关闭[ASM]节点将导致对应的[DB]节点异常关闭

直接关闭[CSS]节点将导致对应的[ASM]、[DB]节点异常关闭

DmServiceDSC01 stop

DmASMSvrServiceDSC01 stop

DmCSSServiceDSC01 stop

启动监视器,dmdba 用户执行。
./dmcssm ini_path=/dm/config/dmcssm.ini

达梦技术社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374809.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东芝 TB5128FTG 强大性能的步进电机驱动器

TB5128FTG它以高精度和高效能为设计理念,采用 PWM 斩波方法,并内置时钟解码器。通过先进的 BiCD 工艺制造,这款驱动器提供高达 50V 和 5.0A 的输出额定值,成为广泛应用场景中的强劲解决方案。 主要特性 TB5128FTG 拥有众多确保高…

码云远程仓库, 回滚到指定版本号

1. 打开项目路径, 右击Git Bash Here 2. 查找历史版本 git reflog 3. 回退到指定版本 git reset --hard 版本号 4. 强制推送到远程 git push -f

SQL基础-DQL 小结

SQL基础-DQL 小结 学习目标:学习内容:SELECTFROMWHEREGROUP BYHAVINGORDER BY运算符ASC 和 DESC 总结 学习目标: 1.理解DQL(Data Query Language)的基本概念和作用。 2.掌握SQL查询的基本语法结构,包括SEL…

基于Android平台开发,购物商城

相关视频教程在某站上面(🔍浩宇软件开发) 1. 项目功能思维导图 2. 项目涉及到的技术点 使用SQLite数据库实现数据存储使用CountDownTimer实现启动页倒计时使用SharedPreferences实现记住密码登录使用BottomNavigationView实现底部导航栏使用ActivityFragment实现底…

C++:红黑树

概念 红黑树是一种二叉搜索树,一般的二叉搜索会发生不平衡现象,导致搜索效率下降,于是学者们开始探索如何让二叉搜索树保持平衡,这种树叫做自平衡二叉搜索树。起初学者发明了AVL树,其通过一定算法保持了二叉搜索树的严…

【Linux】进程7——查看进程

1.为什么进程管理这么重要呢? 这是因为: 首先,我们在操作系统时的各项任务其实都是经过某个PID来完成的(包括你的bash环境),因此,能不能执行某项任务,就与该进程的权限有关了。再来…

【Java数据结构】初识线性表之一:顺序表

使用Java简单实现一个顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 线性表大致包含如下的一些方法: public class MyArrayList { private int[] array; pri…

SD卡讲解

SD 卡 (Secure Digital Memory Card) 在我们生活中已经非常普遍了,控制器对 SD 卡进行读写通信 操作一般有两种通信接口可选,一种是 SPI 接口,另外一种就是 SDIO 接口。SDIO 全称是安全数 字输入/输出接口,多媒体卡 (MMC)、SD 卡、…

【学习css2】grid布局-页面footer部分保持在网页底部

中间内容高度不够屏幕高度撑不开的页面时候&#xff0c;页面footer部分都能保持在网页页脚&#xff08;最底部&#xff09;的方法 1、首先上图看显示效果 2、奉上源码 2.1、html部分 <body><header>头部</header><main>主区域</main><foot…

centos9中mysql指令提示解决方案

CentOS 9 中没有 MySQL 的官方插件&#xff0c;因为 MySQL 不是 CentOS 的默认数据库&#xff0c;它是 MariaDB 的一部分。 如果想要一个命令行提示的 MySQL 客户端&#xff0c;可以使用第三方工具 &#xff0c;如mycli 首先&#xff0c;确保已经安装了 MySQL&#xff0c;且操…

【人工智能】-- 受限玻尔兹曼机

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;引言 &#x1f349;受限玻尔兹曼机 &#x1f348;RBM的结构 &#x1f34d;RBM的架构图 &#x1f34d;RBM的经典实现 &…

DOM(文档对象模型)生命周期事件

前言 DOM 生命周期事件涉及到从创建、更新到销毁 DOM 元素的不同阶段。 ● 我们来看下当HTML文档加载完再执行JavaScript代码 document.addEventListener(DOMContentLoaded, function (e) {console.log(HTML parsed adn DOM tree built!, e); })● 除此之外&#xff0c;浏览…

windows环境下基于3DSlicer 源代码编译搭建工程开发环境详细操作过程和中间关键错误解决方法说明

说明: 该文档适用于  首次/重新 搭建3D-Slicer工程环境  Clean up(非增量) 编译生成 1. 3D-slicer 软件介绍 (1)3D Slicer为处理MRI\CT等图像数据软件,可以实行基于MRI图像数据的目标分割、标记测量、坐标变换及三维重建等功能,其源于3D slicer 4.13.0-2022-01-19开…

9717 取数对弈

首先&#xff0c;我们需要初始化两个数组&#xff0c;一个用于存储输入的数列a[]&#xff0c;另一个用于动态规划过程中存储中间结果的二维数组dp[][]。dp[i][j]表示从数列的第i个数到第j个数时&#xff0c;当前玩家&#xff08;甲方先手&#xff09;能够获得的最大得分。 接下…

JavaScript(9)——作用域的一些问题

如果在函数内部&#xff0c;变量没有声明直接赋值&#xff0c;也会当做全局变量看。强烈不推荐&#xff01;&#xff01; function op() {num 80}op()console.log(num) 在不同作用域下&#xff0c;可能存在变量命名冲突的情况&#xff1a; let num 10 function fn(){let num…

前端如何取消接口调用

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 1. xmlHttpRequest是如何取消请求的&#xff1f; 实例化的XMLHttpRequest对象上也有abort方法 const xhr new XMLHttpRequest(); xhr.addEventListener(load, function(e)…

模式物种葡萄基因组(T2T)--文献精读29

The complete reference genome for grapevine (Vitis vinifera L.) genetics and breeding 葡萄&#xff08;Vitis vinifera L.&#xff09;遗传学和育种的完整参考基因组 摘要 葡萄是全球最具经济重要性的作物之一。然而&#xff0c;以往版本的葡萄参考基因组通常由成千上万…

关于centos7自带的nginx1.20.1开启https后,XP系统的IE6和IE8无法显示网页的问题

CentOS7自带的nginx-1.20.1是支持HTTP/2和TLS1.3的。 软件包名称&#xff1a;nginx-1.20.1-10.el7.x86_64 CentOS7默认开启了HTTP/2&#xff0c;但没有开启TLS1.3&#xff0c;以及IE6和IE8的https访问。 开启方法&#xff1a; ssl_ciphers HIGH:!aNULL:!MD5;改为ssl_ciphers…

防火墙第一次综合实验

DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 办公区设备10.8.2.1不允许访问DMZ区的FTP服务器和HTTP服务器&#xff0c;仅能ping通10.0.3.10 1.先建立拒绝BG到DMZ区的安全策略 2.建立BG到DMZ区的icmp允许 3…

网络基础:Vlan原理与配置

VLAN&#xff08;Virtual Local Area Network&#xff0c;虚拟局域网&#xff09;是一种将一个物理网络划分为多个逻辑子网的技术。它通过在网络交换机上配置&#xff0c;使得不同VLAN中的设备即使连接在同一个物理交换机上&#xff0c;也不能直接进行通信&#xff0c;从而实现…