DMDSC 集群搭建

 环境准备 
硬件:两台相同配置机器,2G 内存,100G 本地磁盘,2 块网卡,另有一块共享磁盘
100G。 
操作系统:RedHat Linux 64 位。 
网 络 配 置 : eth0 网 卡 为 10.0.2.x 内 网 网 段 , 两 台 机 器 分 别 为
10.0.2.101/10.0.2.102;eth1 为 192.168.56.x 外网网段,两台机器分别为
192.168.56.101/192.168.56.102。内网网段用于 MAL 通讯。 
DM 各种工具位于目录:/opt/dmdbms/bin。 
配置文件位于目录:/home/data。 
 
真实的生产环境中,建议至少配置两块共享磁盘,分别用来存放联机日志文
件和数据文件。 
11.2 使用裸设备搭建 2 节点 DMDSC 
1. 在共享磁盘上裸设备划分 
1) 输入 fdisk /dev/sdb 
2) 依次输入 n  p  1 回车 +100M 回车,完成第一块磁盘划分 
3) 依次输入 n  p  2 回车 +100M 回车,完成第二块磁盘划分 
4) 依次输入 n  p  3 回车 +2048M 回车,完成第三块磁盘划分 
5) 依次输入 n  p  4 回车回车回车,完成第四块磁盘划分 
6) 编辑/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="root", GROUP="root", MODE="660" 

执行以下命令,使 udev 生效:

Copy

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

执行以下命令,检查是否配置成功:

Copy

ll /dev/raw/raw*

注意

如果查看不到配置的裸设备,请重启服务器再验证。

配置 DCR 初始化配置文件

创建配置文件存放目录,2 个节点都要执行,使用 dmdba 用户,执行以下命令:

Copy

mkdir -p /home/dmdba/config

新建 dmdcr_cfg.ini 文件,节点 1 使用 dmdba 用户,执行以下命令:

Copy

vim /home/dmdba/config/dmdcr_cfg.ini

添加以下内容:

Copy

DCR_N_GRP             = 3
DCR_VTD_PATH          = /dev/raw/raw2
DCR_OGUID         = 63635  
[GRP]
 DCR_GRP_TYPE         = CSS  
 DCR_GRP_NAME         = CSS
 DCR_GRP_N_EP         = 2
 DCR_GRP_DSKCHK_CNT   = 60
[CSS]
 DCR_EP_NAME          = CSS1
 DCR_EP_HOST          = 10.0.0.11
 DCR_EP_PORT          = 9341
[CSS]
 DCR_EP_NAME          = CSS2
 DCR_EP_HOST          = 10.0.0.12
 DCR_EP_PORT          = 9341
  
[GRP]
 DCR_GRP_TYPE         = ASM
 DCR_GRP_NAME         = ASM
 DCR_GRP_N_EP         = 2
 DCR_GRP_DSKCHK_CNT   = 60
[ASM]
 DCR_EP_NAME          = ASM1
 DCR_EP_SHM_KEY       = 93360
 DCR_EP_SHM_SIZE      = 10
 DCR_EP_HOST          = 10.0.0.11
 DCR_EP_PORT          = 9351
 DCR_EP_ASM_LOAD_PATH  = /dev/raw
[ASM]
 DCR_EP_NAME          = ASM2
 DCR_EP_SHM_KEY       = 93361
 DCR_EP_SHM_SIZE      = 10
 DCR_EP_HOST          = 10.0.0.12
 DCR_EP_PORT          = 9351
 DCR_EP_ASM_LOAD_PATH  = /dev/raw
  
[GRP]
 DCR_GRP_TYPE         = DB
 DCR_GRP_NAME         = DSC
 DCR_GRP_N_EP         = 2
 DCR_GRP_DSKCHK_CNT   = 60
[DSC]
 DCR_EP_NAME         = DSC1
 DCR_EP_SEQNO                 = 0
 DCR_EP_PORT         = 5236
 DCR_CHECK_PORT            = 9741  
[DSC]
 DCR_EP_NAME         = DSC2
 DCR_EP_SEQNO                 = 1
 DCR_EP_PORT         = 5236
 DCR_CHECK_PORT            = 9741

创建 ASM 磁盘

使用 dmdba 用户,到 DM 数据库软件安装目录的 bin 目录执行以下命令(只需在一个节点执行)。

Copy

./dmasmcmd

进入 ASM 提示符后执行以下命令:

Copy

create dcrdisk '/dev/raw/raw1' 'dcr'

Copy

create votedisk '/dev/raw/raw2' 'vote'

Copy

create asmdisk '/dev/raw/raw3' 'LOG0'

Copy

create asmdisk '/dev/raw/raw4' 'DATA0'

使用编辑好的 dmdcr_cfg.ini 配置文件初始化 dcrdisk 和 votedisk,并在 ASM 提示符执行以下命令:

Copy

init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'

Copy

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

注意

DMASMCMD工具中执行命令结尾不要加分号。

配置ASM的MAL系统配置文件

2 个节点都需要配置,且文件内容相同,执行以下命令:

Copy

vi /home/dmdba/config/dmasvrmal.ini

添加以下内容:

Copy

[MAL_INST1]
MAL_INST_NAME              = ASM1
MAL_HOST                    = 10.0.0.11
MAL_PORT                    = 7236

[MAL_INST2]
MAL_INST_NAME              = ASM2
MAL_HOST                    = 10.0.0.12
MAL_PORT                    = 7236

配置 DCR 启动配置文件

Copy

vi /home/dmdba/config/dmdcr.ini

节点 1 添加以下内容:

Copy

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO   = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr  dcr_ini=/home/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

节点 2 添加以下内容:

Copy

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO   = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr  dcr_ini=/home/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
警告

两个节点的 DMDCR_SEQNO 参数不能相同要唯一,DMDCR_DB_STARTUP_CMD 中启动脚本路径和配置文件路径要配置准确。如果不配置 css 自动启动 asm 和 db 则需要配置 DMDCR_ASM_RESTART_INTERVAL 和DMDCR_DB_RESTART_INTERVAL 为 0

启动集群

启动 DMCSS 服务

2 个节点启动 dmcss,dmdba 用户到数据库安装目录 bin 下执行以下命令:

Copy

./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
提示

先启动的节点是控制节点,本次实验配置了 css 自动启动 asm 和 db,等待 css 启动 asm 和 db 即可。

css 启动 asm 成功,(出现 asm is ready 即表明启动成功)。

创建 ASM 磁盘组

asm 启动成功后,节点 1 使用 dmdba 用户启动 dmasmtool 工具。

Copy

./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

在 ASM 提示符下创建 asm 磁盘组,创建 REDO 日志磁盘组,执行以下命令:

Copy

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

创建数据文件磁盘组,执行以下命令:

Copy

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

asm 磁盘组创建成功,执行以下命令:

初始化共享存储集群数据库实例

配置 dminit 控制文件,节点 1 使用 dmdba 用户执行以下命令:

vi /home/dmdba/config/dminit.ini

添加以下内容:

Copy

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     = 1024
dcr_path     = /dev/raw/raw1   #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno     = 0
auto_overwrite   = 1
[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path    = /home/dmdba/config/dsc1
port_num     = 5236
mal_host     = 10.0.0.11
mal_port     = 9236
log_path     = +DMLOG/log/DSC1_log01.log
log_path     = +DMLOG/log/DSC1_log02.log
[DSC2] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path    = /home/dmdba/config/dsc2
port_num     = 5236
mal_host     = 10.0.0.12
mal_port     = 9236
log_path     = +DMLOG/log/DSC2_log01.log
log_path     = +DMLOG/log/DSC2_log02.log

初始化实例,节点 1 使用 dmdba 用户执行以下命令:

Copy

./dminit control=/home/dmdba/config/dminit.ini

实例初始化成功,如下图所示:

初始化完成后会在 init 控制文件配置的目录下生成 2 个实例的配置文件:

将 dsc2 目录复制到节点 2 上对应的目录下。

Copy

scp -r dsc2 192.168.56.12:/home/dmdba/config/

观察 css 窗口日志,db 会被自动启动。出现 system is ready ep real open,说明数据库实例启动成功。

注册服务

以上启动方式为前台启动,仅用于验证集群配置过程。配置成功后需要注册为系统服务,方便启动和关闭集群,以及实现开机自动启动。

2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root 目录。

节点 1 执行以下命令:

Copy

./dm_service_installer.sh -t dmcss -p css1 -dcr_ini /home/dmdba/config/dmdcr.ini

节点 2 执行以下命令:

Copy

./dm_service_installer.sh -t dmcss -p css2 -dcr_ini /home/dmdba/config/dmdcr.ini

关闭前台启动的 css,以服务方式启动 css。

节点 1 执行以下命令:

Copy

systemctl start DmCSSServicecss1

节点 2 执行以下命令:

Copy

systemctl start DmCSSServicecss2

验证集群状态

配置监视器查看

任意节点新建监视器配置文件,执行以下命令:

Copy

vi /home/dmdba/config/dmcssm.ini

添加以下内容:

Copy

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

启动监视器,dmdba 用户执行,到数据库软件安装目录 bin 下执行以下命令:

Copy

./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

输入 show 命令,查看 css、asm 和 db 的状态。

以 db 为例,inst_status 字段为 OPEN,vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常。

客户端验证

任意节点配置 dm_svc.conf 文件,执行以下命令:

Copy

vi /etc/dm_svc.conf

添加以下内容:

Copy

dmdsc=(192.168.56.11:5236,192.168.56.12:5236)

使用 disql 工具登录集群(数据库安装目录的 bin 下):

Copy

./disql SYSDBA/SYSDBA@dmdsc

查询视图 v$dsc_ep_info,查看集群状态,执行以下命令:

Copy

select * from v$dsc_ep_info;

验证故障自动重连

以上 disql 连接不断开的情况下(连接的是节点 1 实例),关闭节点 1 服务器,再次查询。

故障节点重新加入

启动节点 1 服务器后,再次查询。

https://eco.dameng.com 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值