达梦DSC两节点搭建步骤

DSC搭建部署

安装虚拟机

创建共享磁盘

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

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

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

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

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

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

3 磁盘分区(DSC1)

分区(DSC1)

fdisk /dev/sdb

需要分区后才能进行绑定。依次输入下列信息:

n → p → 1 → “回车” → 1G           # dcr
n → p → 2 → “回车” → 1G           # vote
n → p → 3 → “回车” → 10G          # log0
n → p → 4 → “回车” → 回车          # data0
w                                 # 保存

查看分区(DSC1)
在这里插入图片描述

查看分区(DSC2)

如果DSC2中没有显示分区,则可能共享磁盘挂载失败,需要重新挂载。
在这里插入图片描述

4 配置裸设备(DSC1 & DSC2)

共享存储需要在 2 个节点上都操作。
sdb1-sdb4 是需要配置的共享磁盘。

新建 udev 规则文件(DSC1 & DSC2)

vi /etc/udev/rules.d/90-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"
KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

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

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

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

ll /dev/raw/raw* 

在这里插入图片描述

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

5 配置 DCR 初始化配置文件(DSC1 & DSC2)

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

mkdir -p /home/dmdba/config 

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

vim /home/dmdba/config/dmdcr_cfg.ini

添加以下内容:

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          = 172.16.1.171     #DCR_EP_HOST
 DCR_EP_PORT          = 9341
[CSS]
 DCR_EP_NAME          = CSS2
 DCR_EP_HOST          = 172.16.1.172     #DCR_EP_HOST
 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          = 172.16.1.171     #DCR_EP_HOST
 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          = 172.16.1.172      #DCR_EP_HOST
 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

6创建 ASM 磁盘(DSC1)

创建磁盘

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

./dmasmcmd

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

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

DROP DISKGROUP

初始化磁盘

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

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

配置ASM的MAL系统配置文件(DSC1 & DSC2)
2 个节点都需要配置,且文件内容相同,执行以下命令:

vi /home/dmdba/config/dmasvrmal.ini

添加以下内容:

[MAL_INST1]
MAL_INST_NAME              = ASM1
MAL_HOST                    = 172.16.1.171  #MAL_HOST 
MAL_PORT                    = 7236

[MAL_INST2]
MAL_INST_NAME              = ASM2
MAL_HOST                    = 172.16.1.172   #MAL_HOST 
MAL_PORT                    = 7236

配置 DCR 启动配置文件(DSC1 & DSC2)
节点一和节点二各需要创建dmdcr.ini文件。
两者内容差别主要在于DMDCR_SEQNO和PATH中的实例名。

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

vi /home/dmdba/config/dmdcr.ini

节点 1 添加以下内容:

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/config/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/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
节点 2 添加以下内容:
DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/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/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
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。
启动DMDSC集群

7 启动 DMCSS 服务(DSC1 & DSC2)

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

前台方式启动

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

或者等后续注册服务后用以下语句启动。

服务方式启动

systemctl start DmCSSServicecss1/DmCSSServicecss2

先启动的节点是控制节点,本文没有配置 css 自动启动 asm 和 db,所以需要手动拉起。(DCR启动配置文件中的DMDCR_ASM_RESTART_INTERVAL和DMDCR_DB_RESTART_INTERVAL的值均为0。)如需自动启动,可修改其参数值。

8 启动 ASM 服务(DSC1 & DSC2)

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

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

或者配置自动启动,等待css启动asm成功。
出现 ASM is ready 即为启动成功。
或者通过 ps -ef | grep asm 查询到相关进程存在即为成功。

9创建 ASM 磁盘组(DSC1)

asm 启动成功后,节点 1 使用 dmdba 用户启动 dmasmtool 工具。
在 ASM 提示符下创建 asm 磁盘组,创建 REDO 日志磁盘组和数据文件磁盘组。

./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
exit   # 退出

初始化共享存储集群数据库实例(DSC1)
配置 dminit 控制文件(DSC1)

节点 1 使用 dmdba 用户执行以下命令:

vi /home/dmdba/config/dminit.ini

添加以下内容:(注意修改IP和路径)

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     = 172.16.1.171
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     = 172.16.1.172
mal_port     = 9236
log_path     = +DMLOG/log/DSC2_log01.log
log_path     = +DMLOG/log/DSC2_log02.log

初始化实例(DSC1)

节点 1 使用 dmdba 用户执行以下命令:

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

初始化完成后会显示 create dm database success.
并在 init 控制文件配置的目录下生成 2 个实例的配置文件:

scp -r dsc  dmdba@192.168.100.12:/home/dmdba/config/

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

注册服务(DSC1 & DSC2)

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

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

节点 1 执行以下命令:

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

节点 2 执行以下命令:

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

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

节点 1 执行以下命令:

systemctl start DmCSSServicecss1

节点 2 执行以下命令:

systemctl start DmCSSServicecss2

10启动数据库实例(DSC1 & DSC2)

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

./dmserver path=/home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
./dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

11验证集群状态

配置监视器查看(DSC1)

创建监视器配置文件

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

vi /home/dmdba/config/dmcssm.ini

添加以下内容:(注意修改IP)

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

启动监视器

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

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

返回前缀为[monitor]的报告。

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

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

数据库共享验证(DSC1 & DSC2)

(DSC1)创建 T1 表。

在这里插入图片描述

(DSC1)向 T1 表插入数据。(DSC1)COMMIT提交数据。

在这里插入图片描述

(DSC2)查询数据。

在这里插入图片描述

12归档配置

生产环境必须开启归档日志,且必须限制归档日志保留量。
共享存储集群归档需要配置本地归档和远程归档(保证每个节点都有所有归档日志)。

实例 dsc1 上配置,执行以下命令:

alter database mount;
alter database archivelog;
alter database add archivelog 'DEST=/home/dmdba/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=102400';
alter database add archivelog 'DEST=dsc3, TYPE=REMOTE, FILE_SIZE=1024, SPACE_LIMIT=102400, INCOMING_PATH=/home/dmdba/remote_arch';
alter database open;

实例 dsc2 上配置,执行以下命令:

alter database mount;
alter database archivelog;
alter database add archivelog 'DEST=/home/dmdba/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=102400';
alter database add archivelog 'DEST=dsc1, TYPE=REMOTE, FILE_SIZE=1024, SPACE_LIMIT=102400, INCOMING_PATH=/home/dmdba/remote_arch';
alter database open;

问题

问题描述:启动dsc2实例时启动失败
在这里插入图片描述

重新部署解决

问题描述:在dsc1节点对共享磁盘分区,在dsc2查不到分区

在这里插入图片描述
在这里插入图片描述
解决办法:重启DSC2节点服务器

达梦社区地址:https://eco.dameng.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值