DSC集群搭建

创建共享磁盘

1、在第一台服务器上添加一个磁盘

选择虚拟机(DSC01) > 右键“设置” > 添加“硬盘” > SCSI > 创建新虚拟磁盘 > 指定磁盘容量 > 指定磁盘文件路径及命名 > 确定。

选择新添加得硬盘 2 (SCSI) > 高级 > 设置设备号为 SCSI 1:1 ,模式为独立、永久。

2、在第二台服务器同样添加这个磁盘。

选择虚拟机(DSC02) > 右键“设置” > 添加“硬盘” > SCSI > 使用现有虚拟磁盘 > 选择现有磁盘(浏览找到刚创建的“DMDSC.vmdk”) > 完成。

选择新添加得硬盘 2 (SCSI) > 高级 > 设置设备号为 SCSI 1:1 ,模式为独立、永久。

磁盘分区

在共享磁盘上裸设备划分(DSC01节点操作即可):

输入:

fdisk /dev/sdb

依次输入:

n → p → 1 → “回车” → +100M           # dcr

n → p → 2 → “回车” → +100M           # vote

n → p → 3 → “回车” → +2048M          # log0

n → p → 4 → “回车” → 回车          # data0

w                                 # 保存

查看分区:

fdisk - l

配置裸设备

编辑/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"

完成裸设备绑定:(2个节点都需要)

partprobe /dev/sdb

udevadm control --reload-rules

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

重启服务:

systemctl restart systemd-udev-trigger.service

查看裸设备:

ll /dev/raw/*

查看裸设备大小:

blockdev --getsize64 /dev/raw/raw[1/2/3/4]

配置DCR初始化配置文件

配置dmdcr_cfg.ini文件(双节点)

DCR_EP_HOST、DCR_EP_PORT根据自身情况进行修改。

vi /dmdata/data/dmdcr_cfg.ini

DCR_N_GRP                       = 3     ##集群环境有多少个 GROUP,范围:1~16

DCR_VTD_PATH               = /dev/raw/raw2   ##规划为 vote 的磁盘

DCR_OGUID               = 63635   ## 消息标识,一个组里面只有一个。

[GRP]  #新建一个 GROUP

  DCR_GRP_TYPE             = CSS  ##组类型(CSS/ASM/DB)

  DCR_GRP_NAME           = GRP_CSS  ##组名

  DCR_GRP_N_EP            = 2  ##组内节点个数

  DCR_GRP_DSKCHK_CNT     = 60  ##磁盘心跳容错时间,单位:秒

[GRP_CSS]

  DCR_EP_NAME             = CSS0   ##CSS 节点名

  DCR_EP_HOST              = 192.168.23.134   ##心跳地址

  DCR_EP_PORT              = 9341   ##CSS 端口

[GRP_CSS]

  DCR_EP_NAME            = CSS1

  DCR_EP_HOST             = 192.168.23.135

  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  ##ASM 节点名,和 dmasvrmal 的 MAL_INST_NAME 一致

  DCR_EP_SHM_KEY         = 93360  ##共享内存标识

  DCR_EP_SHM_SIZE        = 10  ##共享内存大小  

  DCR_EP_HOST               = 192.168.23.134  ##心跳地址

  DCR_EP_PORT               = 9349  ##ASM 端口

  DCR_EP_ASM_LOAD_PATH   = /dev/raw

[GRP_ASM]

  DCR_EP_NAME              = ASM1

  DCR_EP_SHM_KEY         = 93361

  DCR_EP_SHM_SIZE        = 10

  DCR_EP_HOST               = 192.168.23.135

  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  ##实例名,和 dm.ini 的 INSTANCE_NAME 一致

  DCR_EP_SEQNO           = 0  ##组内序号,不能重复

  DCR_EP_PORT              = 5236  ##实例端口,和 dm.ini 的 PORT_NUM 一致

  DCR_CHECK_PORT       = 9741   ##DCR 检查端口

[GRP_DSC]

  DCR_EP_NAME             = DSC1

  DCR_EP_SEQNO           = 1

  DCR_EP_PORT              = 5236

  DCR_CHECK_PORT       = 9742

创建ASM磁盘

使用 DMASMCMD 工具初始化,1个节点初始化即可:

进入数据库安装目录 /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'

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

vi /dmdata/data/dmasvrmal.ini

[MAL_INST1]

 MAL_INST_NAME = ASM0   #数据库实例名,与 dm.ini 的 INSTANCE_NAME 配置项保持一致,MAL 系统中数据库实例名要保持唯一。

 MAL_HOST = 192.168.23.134      #MAL IP 地址,使用 MAL_HOST + MAL_PORT 创建 MAL 链路

 MAL_PORT = 7236        #MAL 监听端口,用于数据守护、DSC、MPP 等环境中各节点实例之间MAL链路配置,监听端端口配置此参数,范围1024~65534,发起连接端的端口在 1024~65535 之间随机分配。

[MAL_INST2]

 MAL_INST_NAME = ASM1

 MAL_HOST = 192.168.23.135

 MAL_PORT = 7237

配置 DCR 启动配置文件(DSC01 & DSC02

节点一和节点二各需要创建dmdcr.ini文件。

两者内容差别主要在于DMDCR_SEQNO和PATH中的实例名。

将ASM和DB的重启参数均设置为0,为手动拉起ASM和DB服务,主要是为了防止拉起过程出现故障导致不断重启。

vi /dmdata/data/dmdcr.ini

DSC01:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/dmdata/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=/dmdata/data/dmdcr.ini

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

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/dmdata/data/dsc0_config/dm.ini dcr_ini=/dmdata/data/dmdcr.ini

DSC02:

DMDCR_PATH = /dev/raw/raw1

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

DMDCR_SEQNO = 1

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

DMDCR_ASM_RESTART_INTERVAL = 0

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

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

DMDCR_DB_RESTART_INTERVAL = 0

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

启动DMCSS服务

DSC01:

DSC02:

  1. 启动ASM服务

DSC01:

DSC02:

创建ASM磁盘组

使用 dmasmtool 工具创建 DMASM 磁盘组:

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

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

#创建日志磁盘组

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

#创建数据磁盘组

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

一个节点配置 dminit.ini 配置文件,保存到/dmdata/data 目录:

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

dcr_seqno = 0

auto_overwrite = 1

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

config_path = /dmdata/data/dsc0_config

port_num = 5236

mal_host = 192.168.23.134

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 = /dmdata/data/dsc1_config

port_num = 5236

mal_host = 192.168.23.135

mal_port = 9341

log_path = +DMLOG/log/dsc1_log01.log

log_path = +DMLOG/log/dsc1_log02.log

使用 dminit 初始化 DB 环境:

./dminit control=/dmdata/data/dminit.ini

启动数据库服务器:

DSC01机器/dmdata/data/dsc1_config 目录拷贝到DSC02机器相同目录下,再分别在2个节点启动 dmserver 即可完成 DMDSC 集群搭建。

启动数据库实例

DSC01:

DSC02:

配置远程归档

将两节点的/dmdata/data/dsc0_config和/dmdata/data/dsc1_config中的dm.ini归档配置ARCH_INI=1

双向配置共享本地归档的 REMOTE 归档:

ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]

        ARCH_TYPE = LOCAL

        ARCH_DEST =+DMDATA/DSC0/arch

        ARCH_FILE_SIZE = 128

        ARCH_SPACE_LIMIT = 0

[ARCH_REMOTE1]

        ARCH_TYPE = REMOTE

        ARCH_DEST = DSC1

        ARCH_INCOMING_PATH =+DMDATA/DSC1/arch

        ARCH_FILE_SIZE = 128

        ARCH_SPACE_LIMIT = 0

ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST =+DMDATA/DSC1/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC0

ARCH_INCOMING_PATH =+DMDATA/DSC0/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

​​​​​​​配置监听器

配置 dmcssm.ini 文件:

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

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 192.168.23.134:9341

CSSM_CSS_IP = 192.168.23.135:9343

CSSM_LOG_PATH =../log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动 dmcssm 监视器:

./dmcssm INI_PATH=/home/dmdba/dmdbms/bin/dmcssm.ini

验证集群状态

(DSC01)创建 T1 表

(DSC01)向 T1 表插入数据

(DSC01)COMMIT提交数据

(DSC02)查询数据

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值