1. 首页 > 国产数据库教程 > 达梦DM教程 > 正文

DM教程FG049-达梦数据库集群主从配置与管理

Part01-基础概念与理论知识

1.1 集群架构概述

达梦数据库提供了多种集群架构方案:

  • Data Guard:主备架构,提供数据冗余和故障切换
  • DMDSC:共享存储集群,多节点共享同一存储
  • MGR:多活集群,支持多节点同时提供服务

1.2 集群核心组件

集群的核心组件包括:

  • MAL系统:集群内部通信机制
  • CSS服务:集群同步服务,管理节点状态
  • 集群管理器:监控和管理集群状态
  • 故障检测与切换:自动检测节点故障并进行切换

Part02-生产环境规划与建议

2.1 硬件规划

集群环境的硬件要求:

  • 服务器:至少2台服务器,推荐配置相同
  • CPU:多核心处理器,推荐8核以上
  • 内存:大容量内存,推荐32GB以上
  • 存储:Data Guard使用独立存储,DMDSC使用共享存储
  • 网络:高速网络,推荐10Gbps以上,配置心跳网络

2.2 网络规划

集群网络配置建议:

  • 业务网络:用于客户端连接
  • 复制网络:用于数据同步
  • 心跳网络:用于节点状态检测
  • 存储网络:用于DMDSC共享存储访问

Part03-生产环境项目实施方案

3.1 Data Guard配置流程

Data Guard配置的主要步骤:

  1. 环境准备:配置网络、防火墙和操作系统参数
  2. 主库配置:启用归档模式,配置参数
  3. 备库准备:复制主库数据文件,配置参数
  4. 配置OGUID:设置主备库的OGUID
  5. 启动备库:启动备库到Mount状态
  6. 配置日志传输:设置主库的归档目标
  7. 验证同步:检查主备库数据同步状态

3.2 DMDSC集群配置流程

DMDSC集群配置的主要步骤:

  1. 共享存储准备:配置共享存储设备
  2. CSS服务配置:配置CSS服务参数
  3. 数据库初始化:使用dminit工具初始化集群数据库
  4. 实例配置:配置每个节点的实例参数
  5. 启动集群:启动CSS服务和数据库实例
  6. 验证集群:检查集群状态和节点健康状况

3.3 MGR集群配置流程

MGR集群配置的主要步骤:

  1. 环境准备:配置网络和操作系统参数
  2. 各节点初始化:初始化每个节点的数据库
  3. MAL系统配置:配置MAL系统参数
  4. 集群初始化:使用dmmgr初始化集群
  5. 启动集群:启动各节点的数据库实例
  6. 验证集群:检查集群状态和数据同步

Part04-生产案例与实战讲解

4.1 Data Guard配置

主库配置

— 启用归档模式
SQL> alter database mount;
SQL> alter database archivelog;
SQL> alter database add archivelog ‘dest=/dm/arch,type=local,file_size=1024,space_limit=20480′;
SQL> alter database open;
— 配置Data Guard参数
SQL> alter system set DG_INI=’dm.dg.ini’ scope=spfile;
— 创建dm.dg.ini配置文件
$ vi /dm/fgdata/fgedudb/dm.dg.ini
[FGEDUDB]
HOST=192.168.1.101
PORT=5236
[FGEDUDB_STANDBY]
HOST=192.168.1.102
PORT=5236

风哥提示:Data Guard配置需要确保主备库的网络连通性,并且主库必须启用归档模式。

4.2 备库配置

备库初始化与配置

— 复制主库数据文件到备库
$ scp -r /dm/fgdata/fgedudb dmdba@192.168.1.102:/dm/fgdata/
— 配置备库参数
$ vi /dm/fgdata/fgedudb/dm.ini
INSTANCE_NAME = FGEDUDB_STANDBY
PORT_NUM = 5236
— 配置dm.dg.ini
$ vi /dm/fgdata/fgedudb/dm.dg.ini
[FGEDUDB]
HOST=192.168.1.101
PORT=5236
[FGEDUDB_STANDBY]
HOST=192.168.1.102
PORT=5236
— 配置OGUID
SQL> sp_set_oguid(453331); 风哥提示:
SQL> alter database standby;

4.3 故障切换测试

手动故障切换

— 在备库执行故障切换
SQL> alter database primary;
— 检查切换后的状态
SQL> select status$ from v$instance;
— 在原主库上执行
SQL> startup mount;
SQL> alter database standby;
SQL> alter database open;

4.4 DMDSC集群配置

共享存储配置

# 创建共享存储分区
$ fdisk /dev/sdb
# 格式化分区
$ mkfs.ext4 /dev/sdb1
# 挂载共享存储
$ mkdir /dm/shared
$ mount /dev/sdb1 /dm/shared
# 配置fstab
$ echo ‘/dev/sdb1 /dm/shared ext4 defaults 0 0’ >> /etc/fstab

CSS服务配置

# 创建CSS配置文件 学习交流加群风哥微信: itpux-com
$ vi /dm/app/bin/css.ini
[CSS]
CSS_PORT = 9341
CSS_LOG_PATH = /dm/log/css
CSS_HOME = /dm/app
CSS_DLL_PATH = /dm/app/bin
CSS_VTD_PATH = /dm/shared/vtd
CSS_BUF_SIZE = 1024
CSS_SYSLOG_LEVEL = 3

数据库初始化

# 使用dminit初始化DMDSC数据库
$ /dm/app/bin/dminit path=/dm/fgdata db_name=fgedudb instance_name=fgedudb1 port_num=5236 dsc=1 dsc_seqno=0 dsc_port=9340 dsc_vtd_path=/dm/shared/vtd dsc_oguid=453331
# 在第二个节点上初始化
$ /dm/app/bin/dminit path=/dm/fgdata db_name=fgedudb instance_name=fgedudb2 port_num=5237 dsc=1 dsc_seqno=1 dsc_port=9340 dsc_vtd_path=/dm/shared/vtd dsc_oguid=453331

4.5 MGR集群配置

MAL系统配置

# 配置dmmal.ini
$ vi /dm/fgdata/fgedudb/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = FGEDUDB1
MAL_HOST = 192.168.1.101
MAL_PORT = 61141
MAL_INST_HOST = 192.168.1.101
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = FGEDUDB2
MAL_HOST = 192.168.1.102
MAL_PORT = 61142
MAL_INST_HOST = 192.168.1.102
MAL_INST_PORT = 5236
[MAL_INST3]
MAL_INST_NAME = FGEDUDB3
MAL_HOST = 192.168.1.103
MAL_PORT = 61143
MAL_INST_HOST = 192.168.1.103
MAL_INST_PORT = 5236 学习交流加群风哥QQ113257174

集群初始化

# 使用dmmgr初始化集群
$ /dm/app/bin/dmmgr
MGR> create cluster ‘FGEDUCLUSTER’ host=’192.168.1.101′ port=5236;
MGR> add instance ‘FGEDUDB1′ host=’192.168.1.101’ port=5236 to cluster ‘FGEDUCLUSTER’;
MGR> add instance ‘FGEDUDB2′ host=’192.168.1.102’ port=5236 to cluster ‘FGEDUCLUSTER’;
MGR> add instance ‘FGEDUDB3′ host=’192.168.1.103’ port=5236 to cluster ‘FGEDUCLUSTER’;
MGR> start cluster ‘FGEDUCLUSTER’;

Part05-风哥经验总结与分享

5.1 集群配置最佳实践

  • 网络配置:配置独立的心跳网络,确保集群通信的可靠性。
  • 存储规划:Data Guard使用独立存储,DMDSC使用共享存储,确保数据安全。
  • 参数调优:根据实际硬件配置调整集群参数,提高性能和稳定性。
  • 监控配置:建立完善的集群监控系统,及时发现和处理问题。
  • 故障演练:定期进行故障切换演练,确保集群在故障时能够正常切换。

5.2 集群维护建议

  • 定期备份:即使在集群环境中,也需要定期备份数据库。
  • 补丁管理:及时应用数据库补丁,修复已知问题。
  • 日志管理:定期清理归档日志和集群日志,避免磁盘空间不足。
  • 性能监控:监控集群性能,及时发现性能瓶颈。
  • 容量规划:根据业务增长情况,提前规划存储和计算资源。

5.3 常见问题与解决方案

  • 网络问题:检查网络连接和防火墙设置,确保集群节点间通信正常。
  • 存储问题:监控共享存储状态,确保存储设备正常运行。
  • 同步延迟:检查网络带宽和主库负载,优化日志传输配置。
  • 故障切换失败:检查备库状态和配置,确保备库能够正常接管。
  • 集群分裂:配置合理的心跳检测参数,避免脑裂现象。

更多视频教程www.fgedu.net.cn
更多学习教程公众号风哥教程itpux_com
from DB视频:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息