Linux系统环境:达梦共享存储集群搭建(DMDSC)

一、确定安装环境

操作系统信息、防火墙关闭、网络正常、是否关闭swap2台服务器之间相互ping通

请参考《Linux系统环境:DM8数据库安装》

查看防火墙状态

systemctl status firewalld

检查SELinux是否关闭

cat /etc/selinux/config

检查ip

ip a

检查内存

free

检查参数设置

su - dmdba

ulimit -a

二、环境说明

准备2台机器 DMDSC0、DMDSC1 ,其中 DMDSC0和DMDSC1 配置两块网卡,一块接入内部网络交换模块,一块接入到外部交换机。

机器名

IP地址

初始状态

操作系统

备注

DMDSC0

192.168.xxx.20

192.168.99.3

实例名DSC0

Linux dm_s1 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

外部服务 IP:192.168.xxx.20  

内部通信 IP:192.168.99.3

DMDSC1

192.168.xxx.21

192.168.99.4

实例名DSC1

Linux dm_s1 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

外部服务 IP:192.168.xxx.21

  

内部通信 IP:192.168.99.4

共享磁盘:30G

在两台服务器上,安装好数据库软件

DM各种工具路径:/home/dmdba/dmdbms/bin

配置文件路径:  /home/dmdba/dmdbms/config

安装数据库用户及密码:dmdba/dm123456

注:真实的生产环境中,建议至少配置两块共享磁盘,分别用来存放联机日志文件和数据文件

三、DMDSC搭建步骤

1. 裸设备划分

1.1 挂载磁盘

路径:D:\Program Files (x86)\VMware\VMDisk\CentOS_20G.vmdk

1.2 使用fdisk命令将共享存储划分为四个分区

前面两个分区大小为100M,第三个分区不少于2G(该分区过小可能会出现启动dmserver闪退、创建ASM磁盘组时连接失败等报错)

1).输入 fdisk /dev/sdb

2).依次输入 n  p  1  回车 +100M  回车,完成第一块磁盘划分

3).依次输入 n  p  2  回车  +100M  回车,完成第二块磁盘划分

4).依次输入 n  p  3  回车  +2048M 回车,完成第三块磁盘划分

5).依次输入 n  p  4  回车   回车  回车,完成第四块磁盘划分

6).w     #保存退出

查看分区情况

fdisk -l

2. 绑定裸设备

【两节点执行绑定裸设备】

vi /usr/lib/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="dinstall", MODE="660"

那么在 linux7 中该如何通过 udev 实现持久化:

如下配置完 udev 后需要执行

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

两节点执行,通知系统分区表的变化

 partprobe /dev/sdb 

 查看裸设备挂载情况

 ll /dev/raw

查看裸设备大小命令

blockdev --getsize64 /dev/raw/raw1

三、配置共享存储相关配置文件

3.1安装数据库软件,创建配置文件目录[2个节点]

3.1.1软件安装

请查看《Linux系统环境:DM8数据库安装》 

注:只需安装软件即可,不需要进行初始化实例的操作

3.1.2创建配置文件目录

su - dmdba

mkdir -p /home/dmdba/dmdbms/config

cd /home/dmdba/dmdbms/config

3.2 编辑配置文件dmdcr_cfg.ini[2个节点]

vi dmdcr_cfg.ini

添加内容:

DCR_N_GRP         = 3                 #集群环境包括多少个 group,取值范围 1~16
DCR_VTD_PATH      = /dev/raw/raw2   #Voting Disk 路径
DCR_OGUID         = 63635             #消息标识,dmcssm 登录 dmcss 消息校验用

[GRP]     #[GRP]表示新建一个 Group
DCR_GRP_TYPE = CSS          #组类型(CSS\ASM\DB)
DCR_GRP_NAME = GRP_CSS      #组的名字
DCR_GRP_N_EP = 2            #组内节点个数 N,最大 16
DCR_GRP_DSKCHK_CNT = 60     #磁盘心跳机制,容错时间,单位秒,缺省 60S,取值范围 5~600

[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.99.3
DCR_EP_PORT = 9341

[GRP_CSS]
DCR_EP_NAME = CSS1  
DCR_EP_HOST = 192.168.99.4
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      #共享内存标识,数值类型(ASM 有效,初始化共享内存的标识符),应为大于 0 的 4 字节整数
DCR_EP_SHM_SIZE = 20             #共享内存大小,单位 M,(ASM 有效,初始化共享内存大小),取值范围10~1024
DCR_EP_HOST = 192.168.99.3
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw   # ASM 磁盘扫描路径,Linux 下一般为/dev/raw,文件模拟情况,必须是全路径,不能是相对路径

[GRP_ASM]                          
DCR_EP_NAME = ASM1            #组成员2的名字
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.99.4
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         #组成员1的名字
DCR_EP_SEQNO = 0           #组内序号,CSS/ASM 不能配置,自动分配 DB 可配置0到n_ep -1,组内不能重复,不配置则自动分配
DCR_EP_PORT = 5236          
DCR_CHECK_PORT = 9741      # DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突

[GRP_DSC]
DCR_EP_NAME = DSC1 
DCR_EP_SEQNO = 1              
DCR_EP_PORT = 5236         # 此端口信息决定数据库访问的最终端口信息,此端口指定后dm.ini文件中在指定默认无效
DCR_CHECK_PORT = 9742      # DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突

3.3 创建DMASM磁盘[节点1]

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

# cd /home/dmdba/dmdbms/bin
./dmasmcmd

3.3.1 格式化裸设备

使用 DMASMCMD 工具,将裸设备格式化为DCR磁盘,Voting Disk,ASM Disk:

create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'

3.3.2 初始化DCR & Voting Disk

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

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

3.4 编辑配置文件dmasvrmal.ini[2个节点]

配置DMASM的MAL系统配置文件

vi /home/dmdba/dmdbms/config/dmasvrmal.ini

添加内容:

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

[MAL_INST2]    
MAL_INST_NAME  = ASM1
MAL_HOST       = 192.168.99.4
MAL_PORT       = 7237

3.5 编辑配置文件dmdcr.ini[2个节点]

第1个节点:

vi /home/dmdba/dmdbms/config/dmdcr.ini

添加内容: 

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

#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =0 #为0,不自动拉起dmasm
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr  dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0 #为0,不自动拉起dmserver
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/dmdbms/data/DSC0/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

 第2个节点:

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

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

#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/dmdbms/data/DSC1/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

3.6 启动DMCSS,DMASM服务

2个节点分别开2个窗口,先后分别启动 dmcss、dmasmsvr 程序。

【2个节点】手动启动dmcss命令:

cd /home/dmdba/dmdbms/bin

./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

【2个节点】手动启动dmasmsvr命令:

cd /home/dmdba/dmdbms/bin

./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

主屏幕打印相关信息:

[/opt/dmdbms/bin]# ./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
dmcss V8
设置 CSS[0]为主 CSS
[ASM]: 设置 EP[0]为控制节点
[ASM]: 设置命令[START NOTIFY], 目标节点[0], 命令序号[2]
[ASM]: 设置命令[EP START], 目标节点[0], 命令序号[3]
[ASM]: 设置命令[NONE], 目标节点[0], 命令序号[0]
[ASM]: 设置命令[EP START], 目标节点[1], 命令序号[9]
[ASM]: 设置命令[NONE], 目标节点[1], 命令序号[0]
[ASM]: 设置命令[EP OPEN], 目标节点[0], 命令序号[12]
[ASM]: 设置命令[EP OPEN], 目标节点[1], 命令序号[13

查看服务是否正常

ps -ef |grep css

3.7 使用dmasmtool工具创建DMASM磁盘组[1个节点]

使用dmasmtool工具创建

$cd /home/dmdba/dmdbms/bin
./dmasmtool DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini

输入下列语句创建 DMASM 磁盘组:

#创建日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

#创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

3.8 编辑配置文件dminit.ini【1个节点】

准备dminit.ini配置文件,保存到/home/dmdba/config目录

vi /home/dmdba/dmdbms/config/dminit.ini

添加内容:

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_seqno       = 0
auto_overwrite  = 1

[DSC0]
config_path    = /home/dmdba/dmdbms/data/DSC0
port_num       = 5236
mal_host       = 192.168.99.3
mal_port       = 9236
log_path       = +DMLOG/log/dsc0_log01.log
log_path       = +DMLOG/log/dsc0_log02.log

[DSC1]  
config_path    = /home/dmdba/dmdbms/data/DSC1
port_num       = 5236
mal_host       = 192.168.99.4
mal_port       = 9236
log_path       = +DMLOG/log/dsc1_log01.log
log_path       = +DMLOG/log/dsc1_log02.log

3.9 初始化实例[1个节点]

节点1:

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

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

节点2:

mkdir -p /home/dmdba/dmdbms/data #创建目录

节点1:

将192.168.99.3机器上/home/dmdba/dmdbms/data/dsc1目录拷贝到 192.168.99.4机器相同目录下

[dmdba@dw_p data]$ scp -r /home/dmdba/dmdbms/data/DSC1 192.168.99.4:/home/dmdba/dmdbms/data/DSC1

3.10 前台启动数据库服务

分别启动 dmserver 即可完成 DMDSC集群搭建。如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。

如果需要手动启动,可参考下面的操作步骤:

192.168.99.3机器:(分别在三个窗口按顺序启动服务)

cd /home/dmdba/dmdbms/bin
./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmserver /home/dmdba/dmdbms/data/DSC0/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

192.168.99.4机器:

cd /home/dmdba/dmdbms/bin
./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmserver /home/dmdba/dmdbms/data/DSC1/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

3.11 配置监视器dmcssm.ini【1个节点】

cd /home/dmdba/dmdbms/config
vi  dmcssm.ini

添加:

CSSM_OGUID = 63635  #和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

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

3.12 启动监视器

$cd /home/dmdba/dmdbms/bin/
./dmcssm ini_path=/home/dmdba/dmdbms/config/dmcssm.ini

  show命令查看CSS,ASM,DSC 状态

show

3.13 客户端工具查看

select * from SYS."$DSC_EPV_INFO"

3.14 注册DMCSS和监视器服务

注册DMCSS服务分别在两个节点执行

节点1:

cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmcss -p DMCSS0 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini 

节点2:

cd /home/dmdba/dmdbms/script/root 
./dm_service_installer.sh -t dmcss -p DMCSS1 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini

将3.5节的配置时间改一下,方面服务自动拉起CSS,ASM和DB,如图:

使用服务启动节点1:

systemctl restart DmCSSServiceDMCSS0

使用服务启动节点2:

systemctl restart DmCSSServiceDMCSS1

注册DMCSSM监视器服务

cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -p DMCSSM  -t dmcssm -cssm_ini /home/dmdba/dmdbms/config/dmcssm.ini

启动监视器命令:

systemctl start  DmCSSMonitorServiceDMCSSM

3.15 配置dm_svc.conf连接服务名[节点1]

vi /etc/dm_svc.conf

添加:

dmsvc=(192.168.153.20:5236,192.168.153.21:5236)

[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA@dmsvc

服务器[192.168.153.20:5236]:处于普通打开状态

登录使用时间 : 15025.798(ms)

disql V8

更多内容,请访问达梦社区地址:https:eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值