dm8共享集群dsc部署(2节点)

安装前准备

集群规划

A机器

B机器

业务IP

192.168.56.102

192.168.56.101

心跳IP

192.168.56.102

192.168.56.101

软件目录

/mnt

/mnt

安装目录

/dm8/dmdbms

/dm8/dmdbms

配置文件目录

/dm8/config

/dm8/config

归档日志目录

/dm8/arch_0

/dm8/arch_1

远程归档目录

/dm8/arch_0_remote

/dm8/arch_1_remote

备份目录

/dm8/bak

/dm8/bak

dmdcr_cfg

CSS

DCR_EP_NAME

CSS0

CSS1

DCR_EP_HOST

192.168.56.102

192.168.56.101

DCR_EP_PORT

5336

5337

ASM

DCR_EP_NAME

ASM0

ASM1

DCR_EP_HOST

192.168.56.102

192.168.56.101

DCR_EP_PORT

5436

5437

DB

DCR_EP_NAME

DSC0

DSC1

DCR_EP_PORT

5236

5236

DCR_CHECK_PORT

5536

5537

dmasvrmal

MAL_INST_NAME

ASM0

ASM1

MAL_HOST

192.168.56.102

192.168.56.101

MAL_PORT

5636

5637

dminit

PORT_NUM

5236

5236

MAL_HOST

192.168.56.102

192.168.56.101

MAL_PORT

5736

5737

归档上限

5000

5000

OGUID

45331

服务器配置

系统配置如单机安装

创建用户、目录

A机器:

[root@~]# groupadd dinstall -g 2001;useradd -g dinstall dmdba -u 1001;passwd dmdba

[root@~]# mkdir -p /dm8/setup /dm8/dmdbms /dm8/config /dm8/arch_0 /dm8/arch_0_remote /dm8/bak

[root@~]# chown dmdba.dinstall /dm8 -R;chmod 777 /dm8 -R

[dmdba@~]# /dm8/setup/DMInstall.bin -i

B机器:

[root@~]# groupadd dinstall -g 2001;useradd -g dinstall dmdba -u 1001;passwd dmdba

[root@~]# mkdir -p /dm8/setup /dm8/dmdbms /dm8/config /dm8/arch_1 /dm8/arch_1_remote /dm8/bak

[root@~]# chown dmdba.dinstall /dm8 -R;chmod 777 /dm8 -R

[dmdba@~]# /dm8/setup/DMInstall.bin -i

存储准备

划存储

用途

空间规划(总共6T)

sdb1用于dcr信息

100M

sdb2用于存放vote信息

100M

sdb3用于存放redo log

20480M

sdb4用于存放data

剩下的全部空间

  1. A机器:小于2TB的存储使用fdisk命令来划分

[root@~]# fdisk /dev/sdb

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

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

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

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

  5) 输入w命令,将裸设备划分的设置进行保存

  1. A机器:大于2TB的需要使用parted命令来划分

[root@~]# parted /dev/sdb

  1)  输入  mklabel gpt  回车,将MBR磁盘磁盘转换为gpt格式

  2)  输入  mkpart primary 0 100 回车,完成第一块磁盘划分

  3)  输入  mkpart primary 100 200 回车,完成第二块磁盘划分

  4)  输入  mkpart primary 200 20680 回车,完成第三块磁盘划分

  5)  输入  mkpart primary 20680 5498G 回车,完成第四块磁盘划分

  6)  输入  quit  回车,完成磁盘划分

  1. A机器、B机器依次执行

[root@~]# partprobe /dev/sdb

挂存储方法1:直接挂

A机器、B机器依次修改

[root@~]# vi /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"

[root@~]# partprobe /dev/sdb

[root@~]# reboot

注意:可通过blockdev --getsize64 /dev/raw/raw*命令查看设备大小。

挂存储方法2:多路径绑定

使用命令ll /dev/mappr和ll /dev/dm*查看对应设备的信息

例如,/dev/mapper/mpathg1对应dm-3,主设备编号为253,次设备编号为3

 

 

A机器、B机器依次修改

[root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.rules

  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="3",RUN+="/bin/raw /dev/raw/raw1 %M %m"

  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="4",RUN+="/bin/raw /dev/raw/raw2 %M %m"

  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="5",RUN+="/bin/raw /dev/raw/raw3 %M %m"

  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="6",RUN+="/bin/raw /dev/raw/raw4 %M %m"

  ACTION=="add",KERNEL=="raw[1-4]",OWNER="dmdba",GROUP="dinstall",MODE="660"

[root@~]# partprobe /dev/mapper/mpathg

[root@~]# reboot

注意:可通过blockdev --getsize64 /dev/raw/raw*命令查看设备大小。

搭建DSC

创建dmdcr_cfg.ini

A、B机器相同配置

vi /dm8/config/dmdcr_cfg.ini

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

  DCR_VTD_PATH             = /dev/raw/raw2

  DCR_OGUID                = 45331

[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.56.102  #心跳地址

  DCR_EP_PORT              = 5336  #CSS端口

[GRP_CSS]

  DCR_EP_NAME              = CSS1

  DCR_EP_HOST              = 192.168.56.101

  DCR_EP_PORT              = 5337

[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.56.102  #心跳地址

  DCR_EP_PORT              = 5436  #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.56.101

  DCR_EP_PORT              = 5437

  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           = 5536  #DCR检查端口

[GRP_DSC]

  DCR_EP_NAME              = DSC1

  DCR_EP_SEQNO             = 1

  DCR_EP_PORT              = 5236

  DCR_CHECK_PORT           = 5537

初始化磁盘组

   A机器

[dmdba@dsc2 bin]$ /dm8/dmdbms/bin/dmasmcmd

DMASMCMD V8

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

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

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

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

ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by 'admin1234'

ASM>init votedisk '/dev/raw/raw2' from '/dm8/config/dmdcr_cfg.ini'

创建dmasvrmal.ini

A机器、B机器配置相

vi /dm8/config/dmasvrmal.ini

[MAL_INST1]

  MAL_INST_NAME            = ASM0

  MAL_HOST                 = 192.168.56.102  #心跳地址

  MAL_PORT                 = 5636  #MAL监听端口

[MAL_INST2]

  MAL_INST_NAME            = ASM1

  MAL_HOST                 = 192.168.56.101

  MAL_PORT                 = 5637

创建dmdcr.ini

A机器

vi /dm8/config/dmdcr.ini

DMDCR_PATH                 = /dev/raw/raw1

DMDCR_MAL_PATH             = /dm8/config/dmasvrmal.ini

DMDCR_SEQNO                = 0

DMDCR_AUTO_OPEN_CHECK      = 90

#DMDCR_ASM_RESTART_INTERVAL = 30  #CSS认定ASM故障重启的时间

#DMDCR_ASM_STARTUP_CMD=/dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini

#DMDCR_DB_RESTART_INTERVAL  = 60  #CSS认定DSC故障重启的时间

#DMDCR_DB_STARTUP_CMD=/dm8/dmdbms/bin/dmserver path=/dm8/config/dsc0_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini

B机器

vi /dm8/config/dmdcr.ini

DMDCR_PATH                 = /dev/raw/raw1

DMDCR_MAL_PATH             = /dm8/config/dmasvrmal.ini

DMDCR_SEQNO                = 1

DMDCR_AUTO_OPEN_CHECK      = 90

#DMDCR_ASM_RESTART_INTERVAL = 30  #CSS认定ASM故障重启的时间

#DMDCR_ASM_STARTUP_CMD=/dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini

#DMDCR_DB_RESTART_INTERVAL  = 60  #CSS认定DSC故障重启的时间

#DMDCR_DB_STARTUP_CMD=/dm8/dmdbms/bin/dmserver path=/dm8/config/dsc0_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini

注意:当前为手动拉起A机器和B机器的ASM和DMSERVER服务。待集群配置完成后,再修改为自动拉起(删除dmdcr.ini红色井号)

启动CSS、ASM服务

A机器、B机器依次执行

启动css服务

/dm8/dmdbms/bin/dmcss DCR_INI=/dm8/config/dmdcr.ini

启动asm 服务

./dmasmsvr  dcr_ini=/dm8/config/dmdcr.ini

创建DMASM磁盘组

A机器

/dm8/dmdbms/bin/dmasmtool DCR_INI=/dm8/config/dmdcr.ini

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

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

问题:

[dmdba@dsc1 ~]$ /dm8/dmdbms/bin/dmasmtool DCR_INI=/dm8/config/dmdcr.ini

DMASMTOOL V8

[code : -11041] ASM连接异常

原因:没有启动asm服务

创建dminit.ini

A机器、B机器配置相同

vi /dm8/config/dminit.ini

  db_name                  = dsc

  system_path              = +DMDATA/data

  main                     = +DMDATA/data/dsc/main.dbf

  main_size                = 128

  roll                     = +DMDATA/data/dsc/roll.dbf

  roll_size                = 128

  system                   = +DMDATA/data/dsc/system.dbf

  system_size              = 128

  ctl_path                 = +DMDATA/data/dsc/dm.ctl

  ctl_size                 = 8

  log_size                 = 1024

  dcr_path                 = /dev/raw/raw1

  dcr_seqno                = 0

  auto_overwrite           = 1

  PAGE_SIZE                = 32

  CASE_SENSITIVE           = Y

  CHARSET                  = 1

  EXTENT_SIZE              = 32

[DSC0]

  config_path              = /dm8/config/dsc0_config

  port_num                 = 5236

  mal_host                 = 192.168.56.102

  mal_port                 = 5736

  log_path                 = +DMLOG/log/dsc0_log01.log

  log_path                 = +DMLOG/log/dsc0_log02.log

[DSC1]

  config_path              = /dm8/config/dsc1_config

  port_num                 = 5236

  mal_host                 = 192.168.56.101

  mal_port                 = 5737

  log_path                 = +DMLOG/log/dsc1_log01.log

  log_path                 = +DMLOG/log/dsc1_log02.log

初始化实例

A机器

--初始化实例

/dm8/dmdbms/bin/dminit control=/dm8/config/dminit.ini

  ...

  create dm database success. 2020-11-14 21:25:31

--拷贝文件到B机器

scp -r /dm8/config/dsc1_config dmdba@192.168.56.101:/dm8/config/

创建dmarch.ini

A机器

--修改dm.ini

vi /dm8/config/dsc0_config/dm.ini

  ARCH_INI                 = 1

--创建dmarch.ini

vi /dm8/config/dsc0_config/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL

  ARCH_DEST                = /dm8/arch_0

  ARCH_FILE_SIZE           = 1024

  ARCH_SPACE_LIMIT         = 5120

[ARCHIVE_REMOTE]

  ARCH_TYPE                = REMOTE

  ARCH_DEST                = DSC1

  ARCH_INCOMING_PATH       = /dm8/arch_0_remote

  ARCH_FILE_SIZE           = 1024

  ARCH_SPACE_LIMIT         = 5120

B机器

--修改dm.ini

vi /dm8/config/dsc1_config/dm.ini

  ARCH_INI                 = 1

--创建dmarch.ini

vi /dm8/config/dsc1_config/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL

  ARCH_DEST                = /dm8/arch_1

  ARCH_FILE_SIZE           = 1024

  ARCH_SPACE_LIMIT         = 5120

[ARCHIVE_REMOTE]

  ARCH_TYPE                = REMOTE

  ARCH_DEST                = DSC0

  ARCH_INCOMING_PATH       = /dm8/arch_1_remote

  ARCH_FILE_SIZE           = 1024

  ARCH_SPACE_LIMIT         = 5120

启动DMSERVER服务

A机器

/dm8/dmdbms/bin/dmserver /dm8/config/dsc0_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini

B机器

/dm8/dmdbms/bin/dmserver /dm8/config/dsc1_config/dm.ini dcr_ini=/dm8/config/dmdcr.ini

注册CSS、ASM、DMSERVER后台服务

A机器

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/config/dmdcr.ini -p CSS

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm8/config/dsc0_config/dm.ini -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC

B机器

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/config/dmdcr.ini -p CSS

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm8/config/dsc1_config/dm.ini -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC

备注:删除自启

[root@~]# /dm8/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSServiceCSS

[root@~]# /dm8/dmdbms/script/root/dm_service_uninstaller.sh -n DmASMSvrServiceASM

[root@~]# /dm8/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDSC

配置监视器

创建dmcssm.ini

A机器、B机器配置相同

[dmdba@~]# vi /dm8/dmdbms/bin/dmcssm.ini

CSSM_OGUID                 = 45331

CSSM_CSS_IP                = 192.168.56.102:5336

CSSM_CSS_IP                = 192.168.56.101:5337

CSSM_LOG_PATH              = ../log

CSSM_LOG_FILE_SIZE         = 512

CSSM_LOG_SPACE_LIMIT       = 2048

注册服务(选做)

[root@~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /dm8/dmdbms/bin/dmcssm.ini -p Monitor

备注:删除自启

[root@~]# /dm8/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSMonitorServiceMonitor

前台启动集群监视器

./dmcssm INI_PATH=dmcssm.ini

监视器使用

命令

含义

show

查看所有组的信息

show config

查看dmdcr_cfg.ini 的配置信息

show monitor

查看当前连接到主 CSS 的所有监视器信息

启停服务

启动监视器

[dmdba@~]# /dm8/dmdbms/bin/DmCSSMonitorServiceMonitor start

前台启动:

[dmdba@~]# /dm8/dmdbms/bin/dmcssm INI_PATH=/dm8/dmdbms/bin/dmcssm.ini

启停集群

启动:A/B机器CSS

A/B机器: /dm8/dmdbms/bin/DmCSSServiceCSS start

说明:CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER。

停止: A/B机器DMSERVER→A/B机器ASM→A/B机器CSS

A/B机器: /dm8/dmdbms/bin/DmServiceDSC stop

A/B机器: /dm8/dmdbms/bin/DmASMSvrServiceASM stop

A/B机器: /dm8/dmdbms/bin/DmCSSServiceCSS stop

说明:1)DSC正常停库必须2节点同时停止,根据目前脚本配置,CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER,所以停止DMSERVER和ASM后,要尽快停止CSS,避免被自动拉起。2)ASM服务在任意节点停止,2个节点的ASM服务都会停止,为了保险起见,可以两边都执行停止命令。3)服务全部停止后,要检查后台进程是否全部停止。

达梦技术社区:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值