达梦DSC环境搭建

一、环境准备

声明:该环境为测试环境,生产环境DSC部署前应根据资源条件、前期适配情况,安装需求等因素,对硬件资源、软件环境等进行合理申请与规划。

1、系统规划

主机名

操作系统

内存

业务IP/私网IP

dsc1

CentOS Linux release 7.9.2009

2G

192.168.23.88

dsc2

CentOS Linux release 7.9.2009

2G

192.168.23.99

2、磁盘规划

名称

节点1(dsc1)

节点2(dsc2)

备注

数据库安装目录

/home/dmdba/dmdbms

/home/dmdba/dmdbms

数据库安装路径,存放数据库运行日志等信息

数据库备份目录

/dm/dmbak

/dm/dmbak

用于存放数据库备份文件

数据库 SQL 日志目录

/dm/dmsqllog

/dm/dmsqllog

用于存放数据库 dmsql 日志

集群配置文件目录

/home/data/dsc0_config

/home/data/dsc1_config

用于存放数据库集群配置文件

3、共享存储规划

名称

拟定配置

分区大小

备注

VOTE 磁盘

/dev/raw/raw1

100M

记录集群成员信息,集群通过 Voting Disk 进行心跳检测,确定集群中节点的状态

DCR 盘

/dev/raw/raw2

100M

用于存储、维护集群配置的详细信息,整个集群环境共享 DCR 配置信息

Redo 日志盘

/dev/raw/raw3

4096M

用于存储数据库集群 Redo log

数据盘

/dev/raw/raw4

16183M

用户存放数据

4、数据库软件准备

对两个节点进行数据库安装前的环境准备,包括有禁用透明大页、numa设置、调整limits.conf、用户建立等操作,并且在两个节点安装数据库软件,但不进行初始化实例。

二、虚拟机创建共享盘

1、点击虚机设置添加一开盘

2、创建新的虚拟磁盘

3、立即分配所有空间选择存放目录点击完成即可

4、设置里面点击高级

5、选择独立永久 

6、第二台主机添加磁盘 

 

7、高级选项下也是独立永久

8、修改虚拟机属性文件dsc1.vmx及dsc2.vmx

scsi1.sharedBus = "virtual"  -------新增加

scsi1:1.deviceType = "disk"  --------新增加

disk.EnableUUID = "TRUE"  ---------新增加

disk.locking = "false"           ---------新增加

三、裸设备划分

1、进行裸设备划分

 输入 fdisk /dev/sdb

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

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

 依次输入 n → p → 3 →回车→ +4096M →回车,完成第三块磁盘划分

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

 w保存配置并退出

#(这里1-4分区其实对应是DCR、vote、日志、数据分区)

#FDISK -L 查看分区后的结果。

2、更新分区表:

建议两天机器都执行命令:partprobe /dev/sdb

另一台虚拟机/dev目录下要看到sdb1-4几个分区需要重启虚拟机或者执行更新分区命令。

3、编辑/etc/udev/rules.d/70-persistent-ipoib.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"

最后执行start_udev,完成裸设备绑定

在linux6版本的操作系统中,配完udev配置文件后,通过start_udev重新加载udev配置文件即可实现udev绑定磁盘持久化,但是在linux7系统中,已经丢弃start_udev命令。

linux7提供了更加强大完善的udev管理使用工具,即udevadm。

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

或者/sbin/udevadm control --reload    

如果没有生效,重启系统 reboot

可以通过blockdev --getsize64 /dev/raw/raw1命令查看裸设备大小

四、集群搭建

4.1、配置dmdcr_cfg.ini

dmdcr_cfg.ini 是格式化 DCR 和 Voting Disk 的配置文件。配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。

准备 dmdcr_cfg.ini 配置文件,保存到/home/data/目录下面。后续 DMASMCMD工具执行 init 语句会使用到。

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.23.88

DCR_EP_PORT = 9341

[GRP_CSS]

DCR_EP_NAME = CSS1  

DCR_EP_HOST = 192.168.23.99

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.23.88     

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.23.99

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 = 5237              #此端口信息决定数据库访问的最终端口信息,此端口指定后dm.ini文件中在指定默认无效

DCR_CHECK_PORT = 9742         # DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突

参数介绍:

DCR_EP_HOST: 节点 IP(CSS/ASM 有效,表示登录 CSS/ASM 的 IP 地址)对 DB 来说,是绑定 VIP 的网卡对应的物理 IP 地址CSS 中设置表示 DMCSSM 通过该 IP 连接 CSS;ASM 中设置表示 DB 通过该 IP 连接 ASM

DCR_EP_PORT:节点 TCP 监听端口(CSS/ASM/DB 有效,对应登录 CSS/ASM/DB 的端口号),取值范围 1024~65534。特别对 DB 来说,DB 的 DCR_EP_PORT 与 dm.ini 中的 PORT_NUM 不一致时,DB 端口以 DCR_EP_PORT 为准。若要使用 VIP 功能,则不同服务器上配置的 DCR_EP_PORT 要相同

4.2、初始化磁盘组

主库启动dmasmcmd:

cd /home/dmdba/dmdbms/bin

./dmasmcmd

执行命令进行初始化

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

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

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

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

init dcrdisk '/dev/raw/raw1' from '/home/data/dmdcr_cfg.ini'identified by 'abcd'

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

此命令所对应的为创建的四个分区,不同的分区放置不同的文件

 

4.3、配置节点MAL参数文件

准备 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),使用 DMASM 的所有节点都要配置,内容完全一样,保存到/home/data 目录下:

[MAL_INST1]

MAL_INST_NAME = ASM0   

MAL_HOST = 192.168.23.88       

MAL_PORT = 7236

[MAL_INST2]

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.23.99 

MAL_PORT = 7237

将此文件发送到节点2对应路径下。

[root@grp1 data]# scp dmasvrmal.ini dmdba@192.168.23.99:/home/data/

4.4、配置dmdcr.ini文件

配置dmdcr.ini文件,保存到/home/data目录下面

DMASM 的两个节点分别配置 dmdcr.ini,dmdcr_path 相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为 0 和 1。

节点一

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/data/dmasvrmal.ini   #dmasmsvr 使用的MAL配置文件路径

DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr

dcr_ini=/home/data/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD =/home/dmdba/dmdbms/bin/dmserver

path=/home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini

节点二

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/data/dmasvrmal.ini   #dmasmsvr 使用的MAL配置文件路径

DMDCR_SEQNO = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/dmasmsvr dcr_ini=/home/data/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/dmserver path=/home/data/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

#注意这个位置的路径不要换行。

4.5、启动 DMCSS、DMASM 服务程序

两节点先后启动 dmcss、dmasmsvr 程序。

手动启动 dmcss 命令:

cd  /home/dmdba/dmdbms/bin

./dmcss DCR_INI=/home/data/dmdcr.ini

手动启动 dmasmsvr 命令:

./dmasmsvr DCR_INI=/home/data/dmdcr.ini

如果 DMCSS 配置有自动拉起 dmasmsvr 的功能,可以等待 DMCSS 自动拉起 dmasmsvr程序,不需要手动启动。

主DMCSS 启动后屏幕打印如下:

dmasm打印如下:

4.6、创建ASM磁盘组

使用 dmasmtool 工具创建 DMASM 磁盘组

选择一个节点,启动 dmasmtool 工具。

./dmasmtool DCR_INI=/home/data/dmdcr.ini

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

#创建日志磁盘组

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

#创建数据磁盘组

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

4.7、初始化DB

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

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 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

[DSC0]      #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/data/dsc0_config

port_num = 5236

mal_host = 192.168.23.88

mal_port = 9340

log_path = +DMLOG/log/dsc0_log01.log

log_path = +DMLOG/log/dsc0_log02.log

[DSC1]     #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/data/dsc1_config

port_num = 5237

mal_host = 192.168.23.99

mal_port = 9341

log_path = +DMLOG/log/dsc1_log01.log

log_path = +DMLOG/log/dsc1_log02.log

#注意配置文件内的主机地址信息要正确

选择一个节点,启动 dminit 工具初始化数据库。dminit 执行完成后,会在 config_path 目录(/home/data/dsc0_config 和/home/data/dsc1_config)下生成配置文件 dm.ini 和 dmmal.ini。

./dminit control=/home/data/dminit.ini

验证生成的参数文件

4.8、启动数据库服务器

将 节点dsc1 机器/home/data/dsc1_config 目录拷贝到 节点dsc2 机器相

同目录下,再分别启动 dmserver 即可完成 DMDSC 集群搭建。

节点1:

./dmserver /home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini

节点2:

./dmserver /home/data/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

4.9、注册服务

在root下/home/dmdba/dmdbms/script/root/目录下执行:

节点一:

./dm_service_installer.sh -t dmcss -dcr_ini /home/data/dmdcr.ini -p CSS

./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/data/dmdcr.ini -y DmCSSServiceCSS.service -p ASM

./dm_service_installer.sh -t dmserver -p DSC -dm_ini /home/data/dsc0_config/dm.ini -dcr_ini /home/data/dmdcr.ini -y DmASMSvrServiceASM.service

 

节点二

./dm_service_installer.sh -t dmcss -dcr_ini /home/data/dmdcr.ini -p CSS

./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/data/dmdcr.ini -y DmCSSServiceCSS.service -p ASM

./dm_service_installer.sh -t dmserver -p DSC -dm_ini /home/data/dsc1_config/dm.ini -dcr_ini /home/data/dmdcr.ini -y DmASMSvrServiceASM.service

4.10、自动拉起

搭建成功后修改两节点配置文件dmdcr.ini,将 DMDCR_ASM_RESTART_INTERVAL 与 DMDCR_DB_RESTART_INTERVAL值修改为建议值即可,css即可自动拉起asm与dbserver服务,此处改为60,为超过设置的时间后,如果 DMASM 节点与DMDSC节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。

4.11、配置监视器

创建 dmcssm.ini

 A 机器、B 机器配置相同

[dmdba@~]# vi /home/data/dmcssm.ini

CSSM_OGUID                 = 63635

CSSM_CSS_IP                = 192.168.23.88:9341

CSSM_CSS_IP                = 192.168.23.99:9343

CSSM_LOG_PATH              = ../log

CSSM_LOG_FILE_SIZE         = 512

CSSM_LOG_SPACE_LIMIT       = 2048

使用监视器:

cd /home/dmdba/dmdbms/bin

./dmcssm ini_path=/home/data/cssm.ini

查看nst_status 字段为 OPEN,vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常。至此DSC数据共享集群搭建完成!!!

4.12、注册监视器后台服务

 cd /home/dmdba/dmdbms/script/root

创建监视器后台服务:

./dm_service_installer.sh -t dmcssm -cssm_ini /home/data/dmcssm.ini -p CSSM   

chown -R dmdba:dinstall /home/dmdba/dmdbms

service DmCSSMonitorServiceCSSM start 进行启动

通过查看/home/dmdba/dmdbms/log 下的 cssmXXX.log 日志查看监视器内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值