DM8 2节点DSC+DW搭建及故障测试
文章目录
- 为什么要用DSC+DW
- 基础环境规划
- 软件环境规划
- 通用环境准备
- 2节点DSC搭建
- 准备dmdcr_cfg.ini
- 标记ASM磁盘
- 初始化dcr/vote
- 配置dmasvrmal.ini
- 配置dmdcr.ini
- 手动启动CSS/ASM
- 创建 ASM磁盘组
- 配置dminit.ini
- 初始化DSC实例
- 配置DSC归档
- 启动DSC实例
- 确认DSC归档
- 备份DSC库
- 配置CSSM
- 确认集群状态
- 注册并启动CSS服务
- DW搭建
- 初始化单实例库
- 还原DSC库到单实例
- 修改守护相关参数
- 修改MAL配置
- 修改归档配置
- 配置dmwatcher
- 配置dmmonitor
- 手动启动实例
- 配置OGUID/数据库模式
- 手动启动dmwatcher
- 确认集群状态
- 注册数据库库服务
- 注册dmwatcher服务
- 启停流程
- 启动
- 状态确认
- 关闭
- DW的修复
- 故障切换测试
- DSC单点故障
- 所有DSC故障
- DSC重新加入
- 手动切换
- 总结
为什么要用DSC+DW
高可用集群常见的分为,机房高可用,同城高可用和异地高可用三层,针对DM8而言,DSC或者DW都可以满足机房高可用的场景,而同城高可用则可以通过DSC+DW来进行实现,本次将对此架构进行搭建和测试的展示
基础环境规划
本次环境基于4台虚拟机进行,硬件及操作系统如下
类别 | A机器 | B机器 | C机器 | D机器 |
---|---|---|---|---|
CPU | i5 1.60GHz * 2 core | i5 1.60GHz * 2 core | i5 1.60GHz * 2 core | i5 1.60GHz * 2 core |
本地盘 | 20G | 20G | 20G | 20G |
共享盘 | 20G | 20G | N/A | N/A |
内存 | 4G | 4G | 4G | 2G |
网卡 | 1000MB * 2 | 1000MB * 2 | 1000MB * 2 | 1000MB * 2 |
OS | CentOS 7.7.1908 (Core) | CentOS 7.7.1908 (Core) | CentOS 7.7.1908 (Core) | CentOS 7.7.1908 (Core) |
KERNEL | 3.10.0-1160.59.1.el7.x86_64 | 3.10.0-1160.59.1.el7.x86_64 | 3.10.0-1160.59.1.el7.x86_64 | 3.10.0-1160.59.1.el7.x86_64 |
软件环境规划
D机器作为monitor节点,仅需要安装软件即可
A/B/C机器两块网卡分别为HOST ONLY和INTNET方式,模拟以真实机器为APP,HOST ONLY网卡作为业务网,INTNET网卡作为为内部心跳及INTERCONNECT通信
类别 | A机器 | B机器 | C机器 |
---|---|---|---|
主机名 | dmdsc0 | dmdsc1 | dmdw0 |
业务IP | 192.168.56.7 | 192.168.56.8 | 192.168.56.24 |
心跳IP | 10.30.5.17 | 10.30.5.18 | 10.30.5.24 |
实例名 | DSC0 | DSC1 | DW0 |
端口号 | 5236 | 5236 | 5238 |
安装介质目录 | /opt/dsc/setup | /opt/dsc/setup | /opt/dw/setup |
软件安装目录 | /opt/dsc/dmdbms | /opt/dsc/dmdbms | /opt/dw/dmdbms |
配置文件目录 | /opt/dsc/config | /opt/dsc/config | /opt/dw/config |
本地归档目录 | /opt/dsc/arch_0 | /opt/dsc/arch_1 | /opt/dw/arch |
远程归档目录 | /opt/dsc/arch_1 | /opt/dsc/arch_0 | N/A |
归档上限 | 1024 | 1024 | 1024 |
实时归档实例 | DW | DW | DSC0/DSC1 |
备份目录 | /opt/dsc/bak | /opt/dsc/bak | /opt/dw/bak |
监视器IP | 10.30.5.188 | 10.30.5.188 | 10.30.5.188 |
dmdcr_cfg
类别 | 参数 | A机器 | B机器 |
---|---|---|---|
CSS | DCR_EP_NAME | CSS0 | CSS1 |
DCR_EP_HOST | 10.30.5.17 | 10.30.5.18 | |
DCR_EP_PORT | 5336 | 5337 | |
ASM | DCR_EP_NAME | ASM0 | ASM1 |
DCR_EP_HOST | 192.168.56.7 | 192.168.56.8 | |
DCR_EP_PORT | 5436 | 5437 | |
DCR_EP_SHM_KEY | 93360 | 93361 | |
DCR_EP_SHM_SIZE | 10 | 10 | |
DCR_EP_ASM_LOAD_PATH | /dev/raw | /dev/raw | |
DB | DCR_EP_NAME | DSC0 | DSC1 |
DCR_EP_PORT | 5236 | 5237 | |
DCR_EP_SEQNO | 0 | 1 | |
DCR_CHECK_PORT | 5536 | 5537 | |
DCR_OGUID | 45331 | 45331 |
dmasvrmal
参数 | A机器 | B机器 |
---|---|---|
MAL_INST_NAME | ASM0 | ASM1 |
MAL_HOST | 10.30.5.17 | 10.30.5.18 |
MAL_PORT | 5636 | 5637 |
dmmal
参数 | A机器 | B机器 | C机器 |
---|---|---|---|
MAL_PORT | 5736 | 5737 | 5738 |
MAL_DW_PORT | 5836 | 5837 | 5838 |
MAL_INST_DW_PORT | 5936 | 5937 | 5938 |
dmwatcher
组名 | 参数 | A机器 | B机器 | C机器 |
---|---|---|---|---|
GRP1 | DW_TYPE | GLOBAL | GLOBAL | GLOBAL |
- | DW_MODE | AUTO | AUTO | AUTO |
- | DW_ERROR_TIME | 60 | 60 | 60 |
- | INST_RECOVER_TIME | 60 | 60 | 60 |
- | INST_ERROR_TIME | 35 | 35 | 35 |
- | INST_INI | /opt/dsc/config/dsc0_config/dm.ini | /opt/dsc/config/dsc1_config/dm.ini | /opt/dw/data/DAMENG/dm.ini |
- | DCR_INI | /opt/dsc/config/dmdcr.ini | /opt/dsc/config/dmdcr.ini | N/A |
- | INST_OGUID | /45332 | 45332 | 45332 |
- | INST_STARTUP_CMD | /opt/dsc/dmdbms/bin/dmserver | /opt/dsc/dmdbms/bin/dmserver | /opt/dw/dmdbms/bin/dmserver |
- | INST_AUTO_RESTART | 0 | 0 | 0 |
- | RLOG_SEND_THRESHOLD | 0 | 0 | 0 |
- | RLOG_APPLY_THRESHOLD | 0 | 0 | 0 |
通用环境准备
主要包括一些常规步骤,本篇核心在于集群本身搭建和故障测试,仅列举一下内容
- 主机名规划/hosts添加
- 防火墙/selinux关闭
- 网卡规划及配置
- Limit/Kernel调整
- 共享磁盘挂载分区及调度算法调整
- 裸设备绑定
- Swap禁用
- 时间同步配置
- 用户及目录创建
- 数据库软件安装
2节点DSC搭建
准备dmdcr_cfg.ini
在配置文件目录下,编写用于初始化dcr和vote的配置文件
[dmdba@dmdsc0 home]$ cd /opt/dsc/config/
[dmdba@dmdsc0 config]$ vi dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 45331[GRP]DCR_GRP_TYPE = CSSDCR_GRP_NAME = GRP_CSSDCR_GRP_N_EP = 2DCR_GRP_DSKCHK_CNT = 60[GRP_CSS]DCR_EP_NAME = CSS0DCR_EP_HOST = 10.30.5.17DCR_EP_PORT = 5336[GRP_CSS]DCR_EP_NAME = CSS1DCR_EP_HOST = 10.30.5.18DCR_EP_PORT = 5337[GRP]DCR_GRP_TYPE = ASMDCR_GRP_NAME = GRP_ASMDCR_GRP_N_EP = 2DCR_GRP_DSKCHK_CNT = 60[GRP_ASM]DCR_EP_NAME = ASM0DCR_EP_SHM_KEY = 93360DCR_EP_SHM_SIZE = 10DCR_EP_HOST = 192.168.56.7DCR_EP_PORT = 5436DCR_EP_ASM_LOAD_PATH = /dev/raw[GRP_ASM]DCR_EP_NAME = ASM1DCR_EP_SHM_KEY = 93361DCR_EP_SHM_SIZE = 10DCR_EP_HOST = 192.168.56.8DCR_EP_PORT = 5437DCR_EP_ASM_LOAD_PATH = /dev/raw[GRP]DCR_GRP_TYPE = DBDCR_GRP_NAME = GRP_DSCDCR_GRP_N_EP = 2DCR_GRP_DSKCHK_CNT = 60[GRP_DSC]DCR_EP_NAME = DSC0DCR_EP_SEQNO = 0DCR_EP_PORT = 5236DCR_CHECK_PORT = 5536[GRP_DSC]DCR_EP_NAME = DSC1DCR_EP_SEQNO = 1DCR_EP_PORT = 5236DCR_CHECK_PORT = 5537
标记ASM磁盘
通过asmcmd标记裸设备,初始化设备头信息,只在一台机器上进行即可
A机器
[dmdba@dmdsc0 config]$ /opt/dsc/dmdbms/bin/dmasmcmd
DMASMCMD V8
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
[Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr
Used time: 00:00:05.449.
ASM>create votedisk '/dev/raw/raw2' 'vote'
[Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote
Used time: 14.441(ms).
ASM>create asmdisk '/dev/raw/raw3' 'LOG0'
[Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMLOG0
Used time: 15.057(ms).
ASM>create asmdisk '/dev/raw/raw4' 'DATA0'
[Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMDATA0
Used time: 14.499(ms).
初始化dcr/vote
通过asmcmd将此前配置的dmdcr_cfg.ini写入到dcrdisk和votedisk中,只在一台机器执行即可
A机器
ASM>init dcrdisk '/dev/raw/raw1' from '/opt/dsc/config/dmdcr_cfg.ini' identified by 'abcd'
[Trace]DG 126 alloc one extent for inodes, addr(disk_id, disk_auno, extent_no):(0,0,1).
[Trace]DG 126 allocate 4 extents for file 0xfe000002.
[Trace]DG 126 alloc 4 extents for 0xfe000002, addr(disk_id, disk_auno, extent_no):(0, 0, 2)->(0, 0, 5), need_init = 1.
Used time: 234.261(ms).ASM>init votedisk '/dev/raw/raw2' from '/opt/dsc/config/dmdcr_cfg.ini'
[Trace]DG 125 alloc one extent for inodes, addr(disk_id, disk_auno, extent_no):(0,0,1).
[Trace]DG 125 allocate 4 extents for file 0xfd000002.
[Trace]DG 125 alloc 4 extents for 0xfd000002, addr(disk_id, disk_auno, extent_no):(0, 0, 2)->(0, 0, 5), need_init = 1.
Used time: 116.459(ms).
ASM>exit
配置dmasvrmal.ini
配置ASM使用的MAL信息,实例名与dmdcr_cfg中ASM组配置一致,A/B机器上配置相同
A机器
[dmdba@dmdsc0 config]$ vi /opt/dsc/config/dmasvrmal.ini
[MAL_INST1]MAL_INST_NAME = ASM0MAL_HOST = 10.30.5.17MAL_PORT = 5636 [MAL_INST2]MAL_INST_NAME = ASM1MAL_HOST = 10.30.5.18MAL_PORT = 5637
B机器
从A机器拷贝即可
配置dmdcr.ini
通过dmdcr.ini配置dcr盘对应裸设备,ASM使用的MAL配置文件,及自身在集群中的节点编号,以便于使其他命令使用时能正确读取dcr内容,与ASM MAL进行通信,以及根据配置自动拉起ASM或DB服务
A机器
[dmdba@dmdsc0 ~]$ vi /opt/dsc/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /opt/dsc/config/dmasvrmal.ini
DMDCR_SEQNO = 0#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = /opt/dsc/dmdbms/bin/dmasmsvr dcr_ini=/opt/dsc/config/dmdcr.ini#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /opt/dsc/dmdbms/bin/dmserver path=/opt/dsc/config/dsc0_config/dm.ini dcr_ini=/opt/dsc/config/dmdcr.ini
B机器
[dmdba@dmdsc1 ~]$ vi /opt/dsc/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /opt/dsc/config/dmasvrmal.ini
DMDCR_SEQNO = 1#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = /opt/dsc/dmdbms/bin/dmasmsvr dcr_ini=/opt/dsc/config/dmdcr.ini#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /opt/dsc/dmdbms/bin/dmserver path=/opt/dsc/config/dsc0_config/dm.ini dcr_ini=/opt/dsc/config/dmdcr.ini
配置阶段将自动拉起注释掉,可以避免一些麻烦
DM8 2节点DSC+DW搭建及故障测试相关推荐
- 达梦DSC+DW搭建
文章目录 前言 一.搭建dsc作为dw的主库 1.添加共享磁盘 2.块设备绑定 3.准备 dmdcr_cfg.ini 配置文件 4.使用 DMASMCMD 工具初始化 5.准备dmdcr.ini 6. ...
- 使用部署脚本部署双节点DSC.
使用部署脚本部署双节点DSC. 环境准备: 两节点操作系统环境配置完毕. 两节点dm数据库软件按照完毕,版本,安装路径,都一致. a.上传配置脚本到第一节点,并解压缩. 上传自动配置脚本到/home/ ...
- DM8数据守护集群搭建
DM8数据守护集群搭建 1.安装规划 1.1 环境说明 1.2 端口配置 2.准备主库 2.1. 修改dm.ini参数 2.2. 配置dmmal.ini 2.3 配置dmwatcher.ini 3.备 ...
- flume多节点集群搭建
概览 1.Flume流程简介 2.规划 3.配置 4.启动测试 5.注意 准备 操作系统:CentOS 7 搭建好hadoop集群 Flume版本:1.8.0 jdk版本:1.8.0_141 工具:X ...
- fabric多节点网络环境搭建(v2.2)
fabric多节点网络环境搭建(v2.2) 文章目录 fabric多节点网络环境搭建(v2.2) 一.机器准备与基础环境搭建 二.创建服务部署目录 三.准备证书文件 四.通道配置文件 五.配置dock ...
- Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三)
Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三) 目录 Jenkins 之 单节点 搭建自动化部署项目环境 与 实战测试 (三) Jenkins 服务器 环境 ...
- 达梦数据库DSC+DW集群搭建
目录 1 配置说明 2 环境说明 3 配置 DMDSC 主库环境 3.1 配置 dmarch.ini 3.2 配置 dm.ini 3.3 备份 DMDSC 库 4 配置单节点备库 5 配置 dm.i ...
- DM8 数据守护(Data Watch)搭建
1 应用场景 硬件再好,也可能有故障:软件再好,也可能由于的BUG从而导致业务不能正常运行. 解决的方法:数据库守护集群---->功能类似于Oracle的data guard. 2 环境说明 此 ...
- 达梦数据共享集群(DSC)---搭建过程
一.简介 达梦数据共享集群(DSC)允许达梦数据库实现在一组集群服务器上运行任何程序包,而客户应用不必作任何更改. 这种体系提供了最高级别的可用性和最灵活的可伸缩性.如果出现集群其中一个服务器失败,达 ...
最新文章
- 基于TensorFlow的简单验证码识别
- Nature子刊 | 研究人员提出神经脆性可作为癫痫发作区(SOZ)的脑电图(EEG)标志物
- 物联网正在给批发业带来新的商业模式
- easyui 传递参数报错(错误:uncaught SyntaxError: Unexpected identifier)
- Comp-Agg (A Compare-Aggregate Model for Matching Text Sequences)
- linux查询字段排序,Linux 操作命令 sort
- July面试整理系列--(5)
- 删除未使用的引用 | Visual Studio 2019(16.10)新功能试用
- python u_对python 命令的-u参数详解
- 2017.3.14-9.1 玩具取名 失败总结
- 基于百度通用翻译API的一个翻译小工具
- i7-9700与E5 2667 V2空载功耗对比
- onblur 与onclick 冲突;onblur导致onclick事件丢失
- redis 入门+掌握
- USB电路EMC设计标准电路详解
- rot13初学者和python的实现
- LOL服务器维护奖励,LOL5.18版本改动内容 lol官网服务器维护公告
- 百度预测和百度五笔输入法
- 基于DSP的数字图像处理(1)
- for-in 和 for-of 的区别
热门文章