IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> DMDSC原理与实现 -> 正文阅读

[系统运维]DMDSC原理与实现

目录

一、DMDSC原理

1.1 数据库和数据库实例

1.2?共享存储

1.3?本地存储

1.4?通信网络

1.5?集群控制软件DMCSS

二、DMDSC实现(2节点基于DMASM)

2.1 环境准备

2.2 共享磁盘裸设备分区与绑定(在root命令下)

2.3 配置dmdcr_cfg.ini文件(在DSC0上配置)

2.4 使用DMASMCMD工具初始化(在DSC0节点上操作)

2.5 配置dmasvermal.ini文件(两节点都需配置)

2.6 准备dmdcr.ini配置文件(两节点都需配置)

2.7 在DSC0和DSC1先后启动DMCSS、DMASM服务程序

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

2.9 配置dminit.ini文件,将其配置在/home/DSC目录下

2.10 使用dminit初始化DB环境

2.11 启动数据库服务器

2.12 搭建监视器,监视DCS集群的运行状况

三、DMDSC启动与关闭流程


一、DMDSC原理

DSC——单数据库、多实例的集群系统

特点:高可用性、高性能、负载均衡

DM DSC集群可以自动处理节点故障及故障切换,不影响对外正常服务,保证系统的高可用性。

集群主要由以下部分组成:

1.1 数据库和数据库实例

1.2?共享存储

? ?可以实现多实例同时访问、修改数据,要求将数据文件、控制文件、日志文件保存在共享存储上。?DMDSC支持使用裸设备或DMASM文件系统作为共享存储。

(1)共享存储最少挂四个盘,即:

voting disk:进程的通知,故障转移

dcr disk:集群的配置信息,故障信息

Group log:日志盘,最小不少于4G,否则会引起后面启动报错

Group data:数据文件盘

?(2)DMASM是一个专用的分布式文件系统,可向用户提供更加便捷的DSC集群数据库文件管理方案,以下主要通过其部件来说明DMASM的功能特点:

  • DMASM磁盘与文件管理:DMASM文件系统将物理磁盘格式化后,变成可识别、可管理的 DMASM 磁盘,再通过DMASM 磁盘组将一个或者多个 DMASM 磁盘整合成一个整体提供文件服务。
  • dmasmsvr服务器:提供DMASM服务,启动时会扫描/dev/raw路径下的所有裸设备,构建DMASM磁盘组和DMASM文件系统,实例间通过MAL系统进行信息和数据传递。
  • dmasmapi接口:用户可以通过调用DMASMAPI接口,访问、操作DMASM文件。
  • dmasmcmd初始化工具:DMASM文件系统初始化工具,用于格式化裸设备为DMASM磁盘,并初始化DCR Disk和Voting Disk。
  • dmasmtool管理工具:提供了一套linux文件操作命令,用于管理DMASM文件。

1.3?本地存储

用来保存配置文件,包括记录数据库实例的配置信息文件,本地归档日志、远程归档日志。

1.4?通信网络

分为内部网络和外部网络,内部网络如MAL链路,用于数据库实例之间交换信息和数据,以及网络心跳检测等用途。公共网络则用于对外提供数据库服务。

1.5?集群控制软件DMCSS

定时从被监控对象voting disk读取被监控对象的信息,检查被监控对象的状态变化,启动相应处理流程。

?

?

二、DMDSC实现(2节点基于DMASM)

写在前面:

1.要关闭防火墙;

2.若在配置过程中出现文件开启失败的提示,在确认该路径下文件确实存在时,很有可能就是文件权限不对,建议使用dmdba权限进行操作,否则配置过程中会出现很多问题;

3.若启动dmcss和dmasmsvr失败,在确认配置文件无误时,重启重启服务器即可。

2.1 环境准备

在VMware中创建共享磁盘

操作系统:2台麒麟10

共享磁盘:20G,具体分配如下:

操作系统

机器名

内存

本地磁盘

共享磁盘

IP

数据库安装路径

配置文件路径

Kylin10

DSC0

2G

30G

20G

192.168.118.139

/dm8

/home/DSC

Kylin10

DSC1

2G

30G

20G

192.168.118.138

/dm8

/home/DSC

2.2 共享磁盘裸设备分区与绑定(在root命令下)

查看共享磁盘

对共享磁盘/dev/sdb进行分区,具体分区如下:

磁盘

空间

voting disk

100M

dcr disk

100M

Group log

4G

Group data

15.8G

以下创建了第一个分区,大小为100M,之后的分区与之相似。

依次创建四个分区,分区完成后需要输入w保存:

在两节点上编辑/etc/udev/rules.d/60-raw.rules文件

vim /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,通知系统分区表的变化

[root@localhost raw]# partprobe /dev/sdb

最后执行裸设备绑定

[root@localhost raw]# udevadm trigger --action=add

执行裸设备绑定时:

一般执行:start_udev

但由于Linux系统版本不同,裸设备绑定命令也有所不同,还可使用以下命令进行裸设备绑定:

[root@localhost raw]#?/sbin/udevadm trigger --type=devices --action=change

或者

[root@localhost raw]#?/sbin/udevadm control --reload

或者

[root@localhost raw]#?udevadm trigger --action=add

最后检查裸设备绑定是否成功:

[root@localhost raw]# ll /dev/raw/raw*

?

2.3 配置dmdcr_cfg.ini文件(在DSC0上配置)

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.118.139
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.118.138
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.118.139
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.118.138
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

2.4 使用DMASMCMD工具初始化(在DSC0节点上操作)

2.5 配置dmasvermal.ini文件(两节点都需配置)

两节点的配置内容一致

[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.118.139
MAL_PORT = 7236

[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.118.138
MAL_PORT = 7236

2.6 准备dmdcr.ini配置文件(两节点都需配置)

两节点的dmdcr_seqo分别为0和1,其他内容一致

DSC0:

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/DSC/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0

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

#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmasmsvr path=path=/dm8/data/DAMENG/dm.ini dcr_ini=/home/DSC/dmdcr.ini

DSC1:

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /home/DSC/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1

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

#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmasmsvr path=path=/dm8/data/DAMENG/dm.ini dcr_ini=/home/DSC/dmdcr.ini

2.7 在DSC0和DSC1先后启动DMCSS、DMASM服务程序

[dmdba@localhost bin]$ ./dmcss DCR_INI=/home/DSC/dmdcr.ini

[dmdba@localhost bin]$ ./dmasmsvr DCR_INI=/home/DSC/dmdcr.ini

两节点都启动后,显示如下:

?

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

[dmdba@localhost bin]$./dmasmtool DCR_INI=/home/dmdba/dmdbms/data/dsc/dmdcr.ini

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

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

2.9 配置dminit.ini文件,将其配置在/home/DSC目录下

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 = /home/DSC/dsc0_config
port_num = 5236
mal_host = 192.168.118.139
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 = /home/DSC/dsc1_config
port_num = 5237
mal_host = 192.168.118.138
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

2.10 使用dminit初始化DB环境

[dmdba@localhost bin]$ ./dminit control=/home/DSC/dminit.ini

在/home/DSC目录下得到两个文件夹,将dsc1_config文件夹发送到DSC1的相同目录下

2.11 启动数据库服务器

DSC0:

[dmdba@localhost bin]$./dmserver /home/DSC/dsc0_config/dm.ini dcr_ini=/home/DSC/dmdcr.ini

DSC1:

[dmdba@localhost bin]$./dmserver /home/DSC/dsc1_config/dm.ini dcr_ini=/home/DSC/dmdcr.ini

2.12 搭建监视器,监视DCS集群的运行状况

配置dmcssm.ini

CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.118.139:9341
CSSM_CSS_IP = 192.168.118.138:9343
CSSM_LOG_PATH =../log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动监视器:

[dmdba@localhost bin]$ ./dmcssm INI_PATH=/home/DSC/dmcssm.ini

?

三、DMDSC启动与关闭流程

启动:

DMCSSDMASMSVR→dmserver

均要在每个节点操作

关闭:

dmserver→DMASMSVR→DMCSS

先关闭 dmserver,再依次关闭 DMASMSVR 和 DMCSS。

DMASMSVR 和 dmserver 控制台执行 exit 命令,会通知所有其他节点一起退出;

DMCSS没有同步功能,需要手动退出所有节点。

更多问题欢迎到达梦技术社区提问哦!首页 | 达梦云适配中心 (dameng.com)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:33:10  更:2021-08-14 14:33:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 20:03:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码