集群安装部署问题

后台服务的方式启动了监视器,如何查看集群中各节点的状态

如果设置的是确认监视器(确认监视器只能启动一个)并且已经启动了,那么可以配置一个非确认监视器进行查看各节点状态,使用 ./dmmonitor /opt/dmdbms/bin/dmmonitor.ini 命令进行查看,结果如图所示:

节点状态

监视器的配置方法如下(可根据需求进行修改参数值):

MON_DW_CONFIRM       = 0 #为 0 是非确认监视器,为 1 是确认监视器
MON_LOG_PATH        = ../log #监视器日志文件存放路径
MON_LOG_INTERVAL      = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE     = 512 #单位 MB,范围 1~2048 MB
MON_LOG_SPACE_LIMIT    = 2048 #日志文件总占用 2048 MB

[GRWC1_01]
MON_INST_OGUID      = 45331 #组 GRWC1_01 的唯一 OGUID 值
MON_DW_IP        = 192.168.1.1:5436 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP        = 192.168.1.2:5436

实例各字段信息

命令 含义
CLSN 系统当前 LSN,指当前数据库最新产生的 LSN 值。
SSLSN 备库收到的主库发送过来日志的次大 LSN,主库的 SSLSN 和 CLSN 相等。
SLSN 备库收到的主库发送过来日志的最大 LSN,主库的 SLSN 和 CLSN 相等。
INST_OK 守护进程认定的实例状态,OK 或 Error。
INAME 实例名称。
ISTATUS 数据库实例状态,包括 Startup/After/Redo/Mount/Open/Suspend/Shutdown 这几种状态。
IMODE 数据库实例模式,包括 Normal/Primary/Standby 这三种模式。
N_OPEN 表示实例的 Open 次数,主库每 Open 一次,该值对应加 1,并产生日志同步到备库重做,主备库数据一致的情况下,N_OPEN 数值也应该一致。
FLSN 文件 LSN,指已经写入联机日志文件的最大 LSN 值。
RSTAT 此字段对备库有效,表示主库到备库的归档状态,可能为 Valid/Invalid/Unknown,对于本地守护类型的备库,此字段为 NULL,对于主库本身,此字段值为 Valid。该字段值要从备库对应的主库实例上取,如果当前没有活动主库或者备库无法确认对应的主库,则该字段显示为 Unknown。

达梦共享集群是采用裸设备还是共享文件系统?有什么配置要求

达梦采用自己开发的 ASM 文件管理系统,ASM 是基于裸设备的,也可以支持裸设备部署。

系统结构图

物理存储需要映射到 2 个数据库服务器上,且支持双写。存储是用阵列,不是走的 nfs,gfs 之类的网络存储,所以不需要第三台服务器,支持不同的存储设备,如 SAN 存储等。好建 vg_lv,然后通过多路径映射。

网络方面要求双网卡,一般建议是 4 口,做双口绑定。配置心跳网 IP 和业务网 IP。

启动主备集群时一直处于 mount 状态

【问题分析】

主要从以下几点进行排查:

  • 防火墙是否关闭,心跳网是否互通;
  • LSN是否一致;
  • 数据库魔数是否一致;
---通过 v$rlog 视图查看 LSN 和魔数
select * from v$rlog;
  • 数据库所用的 key 是否正确支持集群使用。

以上问题处理完成后,重启主备集群。

读写分离集群部署时正常,但重启了数据库服务后,导入数据后,发现读库无数据

【问题分析】

主要从以下几点进行排查:

  • 启动监视器查看集群节点的状态;
  • 使用 tip 命令打印当前守护系统的运行状态;
  • 检查防火墙问题,特别是要注意是否设置了防火墙永久关闭。

DSC 环境中数据库正常运行,但通过 DmServiceDsc1 status 获取不到数据库运行状态

【问题描述】

数据库实例正常,但通过 DmServiceDsc1 status 查取不到数据库状态:

数据库状态查询

【问题解决】

查看数据库版本为:1-2-18-21.06.07-141116-10013-SEC Pack2

检查 DSC 集群 dmdcr.ini 文件的配置,如下:

dmdcr.ini 文件查询

dmdcr.ini 文件格式需要按以下要求修改:

  • dm.ini 不需要写“path=”;
  • DCR_INI 必须为大写。

修改后的 dmdcr.ini 文件如下图所示:

修改后的 dmdcr.ini 文件

重新启动集群,重新注册服务,即可通过 DmServiceDsc1 status 获取数据库状态。

搭建 mpp 主备时,如何使用 MPP 类型为 LOCAL 方式设置 OGUID 值

【问题解决】

连接时添加扩展选项 mpp_type,例如:

./disql SYSDBA/SYSDBA@192.168.10.21:5236#"{mpp_type=local}"

创建好主备集群后,备机无法连接

【问题原因】

考虑是 dm_svc.conf 文件 LOGIN_MODE 参数配置问题。dm_svc.conf 配置文件的内容分为全局配置区和服务配置区。全局配置区在前,服务配置区在后,以“[服务名]”开头,可配置除了服务名外的所有配置项。服务配置区中的配置优先级高于全局配置区。以下介绍 dm_svc.conf 文件 LOGIN_MODE 参数不同配置时的登录情况:

一、当 dm_svc.conf 的参数LOGIN_MODE=(1) 全局配置时,内容如下:

[root@dmdb01 ~]# cat /etc/dm_svc.conf 
###全局配置区
 DMDW=(192.168.254.148:5236,192.168.254.149:5236)
 TIME_ZONE=(+480) #表示+8:00 时区
 LOGIN_ENCRYPT=(0)
 DIRECT=(Y)
 LANGUAGE=(cn)
 LOGIN_MODE=(1) #只连主库

不同方式登录如下:
1.利用./disql连数据库时

---用./disql 连接IP登备库时,报错:[-70019]:没有匹配的可登陆服务器.
[dmdba@dmdb02:/home/dmdba/dmdbms/bin]$./disql SYSDBA/SYSDBA@192.168.254.149

---用./disql 连接服务名登录时,登录成功:服务器[192.168.254.148:5236]:处于主库打开状态
[dmdba@dmdb02:/home/dmdba/dmdbms/bin]$./disql SYSDBA/SYSDBA@DMDW

2.利用管理工具连数据库时
(1)用达梦管理工具连接备库 IP 时,登录失败;
(2)用达梦管理工具连接服务名登录时,连接成功,处于主机模式。

二、当dm_svc.conf的参数LOGIN_MOEDE=(1)局部配置时,内容如下

[root@dmdb01 ~]# cat /etc/dm_svc.conf 
### 全局配置区
 DMDW=(192.168.254.148:5236,192.168.254.149:5236)
 TIME_ZONE=(+480) #表示+8:00 时区
 LOGIN_ENCRYPT=(0)
 DIRECT=(Y)
 LANGUAGE=(cn)
 [DMDW]#局部配置
 LOGIN_MODE=(1) #只连主库

不同方式登录如下:
1.利用./disql连数据库时

---用./disql 连接 IP 登备库时,登录成功,服务器[192.168.254.149:5236]:处于备库打开状态
[dmdba@dmdb02:/home/dmdba/dmdbms/bin]$./disql SYSDBA/SYSDBA@192.168.254.149 

---用./disql 连接服务名登录时,登录成功,服务器[192.168.254.148:5236]:处于主库打开状态
[dmdba@dmdb01:/home/dmdba/dmdbms/bin]$./disql SYSDBA/SYSDBA@DMDW

2.利用管理工具连数据库时
(1)用达梦管理工具连接备库 IP 时,连接成功,处于备机模式;
(2)用达梦管理工具连接服务名登录时,连接成功,处于主机模式。

总结:
(1)当在全局配置区配置 LOGIN_MODE=(1)时,用 IP 登陆备库是拒绝的,但是用服务名则会连接主库。
(2)当在局部配置区配置LOGIN_MODE=(1)时,用IP登录备库是可行的。因此在局部设置时,要用服务名去登录,备机就无法连接。
注意:当修改dm_svc.conf内容后,需要重启客户端,修改的配置才能生效。

两套主备集群如何共用一台监视器

【问题解决】

1.两套主备集群如果要共用一台监视器,要求主备守护组名和主备 OGUID 均相同。
2.当两台主备共用一台监视器,但守护组名不一样,OGUID 相同时,会出现报错:无法在不同组中配置相同的 OGUID 值。如下图所示:

监视器截图

3.当主备守护组名不一样和主备OGUID不同时,也会报错,监视器一直刷新报错的数据库信息。

监视器截图

因此,当两套主备主备守护组名和主备 OGUID 不同时,不能共用一个 monitor.ini 文件,但可以在同一台机器配置两个 monitor.ini文件。

初始化实例时报错 create rlog file +DMLOG/log/DSC1_log02.log failed, code: -7013.

【问题描述】

搭建DSC集群时,执行初始化语句之后报错,报错截图如下:

报错截图

【问题解决】

出现该报错考虑是否是 log_size 设置过大导致,将 log_size 的值调小后,重新运行初始化语句。

MPP 登录查询只有一个实例

【问题解决】

正常情况下 MPP 中登录其中一个节点,执行如下语句查询实例时,应显示集群中所有节点对应的实例。

select * from v$instance;

例如:在两节点MPP 集群中,应该显示两个实例。
若出现只能查询到当前节点对应实例的问题,则考虑可能是集群通信出现问题,应检查 dm.ini 配置文件中的 MAL_INI 参数是否为 1。

MPP 集群启动服务报错:MAL sys initialization failed

【问题描述】

MPP集群启动服务报错如下图:

报错截图

【问题解决】

根据报错信息,检查 dmmal.ini 文件配置是否正确。
修正 dmmal.ini 文件后重启数据库即可。

MPP 集群客户端主机上配置 dm_svc.conf 文件使用服务名连接失败

【问题描述】

dm8 客户端主机上配置 dm_svc.conf 文件使用服务名连接失败,配置内容如下:

dm_svc.conf 配置内容

使用服务名连接失败,使用 IP 连接成功。

连接截图

【问题解决】

在客户端主机上需要配置 dm_svc.conf 文件时候,需要将 LOGIN_MODE 参数注释掉,改为以下配置即可,否则导致无法使用服务名连接数据库。

修改后 dm_svc.conf 配置内容

DSC 集群配置都正确,但启动集群时报错

【问题描述】

DSC 集群配置、软件环境、硬件环境以及网络都正确,但是启动集群的时候报一些莫名的错误。例如:ASM 磁盘无法连接、实例启动提示 dm.ctl 控制文件错误等。

【问题解决】

出现此问题可查看 DCR 中是否将节点标记成了故障,一旦标记后集群会认为该节点为故障节点无法正常启动。需要手动执行相关命令清除故障标记信息后方能正常启动。

查看 DCR 中节点是否故障

---到 bin 目录下,进入 ASM 命令行模式
./dmasmcmd 

---从asm磁盘中导出配置(这里的/dev/raw/raw1 为当前设备实际的 DCR 磁盘设备节点路径)
export dcrdisk ‘/dev/raw/raw1’ to ‘/tmp/dmdcr_cfg.ini’

---退出命令行模式
exit

---查看导出的配置信息
cat /tmp/dmdcr_cfg.ini

dmdcr_cfg.ini文件中 DCR_GRP_N_ERR_EP 为故障节点个数,DCR_GRP_ERR_EP_ARR 为故障节点号。下图显示 ASM 和实例都标记了故障。我们需要手动清除后才能正常启动 DSC 集群。

导出的配置信息

清除故障节点信息

---到 bin 目录下进入 ASM 命令行模式
./dmasmcmd

---执行清除命令,清除 ASM
clear dcrdisk err_ep_arr ‘/dev/raw/raw1’ ‘GRP_ASM’

---清除 DSC
clear dcrdisk err_ep_arr ‘/dev/raw/raw1’ ‘GRP_DSC’

此时注意清除时候需要停止相关 ASM 和 CSS 以及实例服务。否则会提示当前正在使用无法清除。这里的 GRP_ASM 和 GRP_DSC 为 DCR_GRP_NAME 名称。
看到 userd time 表示执行清除成功。如果需要确认,可以导出来查看,只要 DCR_GRP_N_ERR_EP 为 0 即可。此时我们重新启动即可成功。

总结:导致故障标记的大致原因可分为以下情况:
1、集群自身故障,包括实例故障,网络故障等;
2、搭建过程中错误的配置、错误的操作流程和命令导致启动报错也可能会被标记;
3、停止 DSC 集群时候建议使用 shutdown immediate;来关闭数据库节点,使用 kill 或者注册的启停脚本关闭可能也会导致标记。

基于 DEM 企业管理器部署达梦数据守护集群于【实例规划】阶段无法点击下一步,且提示:没有到主机的路由

【问题描述】

报错截图如下:

报错截图

【问题解决】

出现该报错是由于主备机端口不通,检查并关闭主备机的防火墙。

---查看防火墙状态
[root@~]# systemctl status firewalld
---关闭防火墙
[root@~]# systemctl stop firewalld 
--关闭防火墙开机自启
[root@~]# systemctl disable firewalld

注意:配置数据守护集群建议关闭防火墙,若不能关闭防火墙请根据端口规划开放相应端口。

微信扫码
分享文档
扫一扫
联系客服