DMDSC集群搭建

目录

环境部署

环境描述

挂共享磁盘

创建所需目录

划分磁盘

挂存储

搭建DSC

编辑dmdcr_cfg.ini

初始化磁盘组

创建dmasvrmal.ini

创建dmdcr.ini

启动CSS、ASM服务

创建DMASM磁盘组

创建dminit.ini

初始化实例

配置归档

启动实例服务


环境部署

环境描述

两台相同配置机器,2G 内存,20G 本地磁盘,2 块网卡,另有一块共享磁盘

20G。

DSC集群

机器名

初始状态

内部通信IP

外部通行IP

操作系统

DSC1

主节点DSC0

192.168.3.1

192.168.3.11

Linux

DSC2

节点DSC1

192.168.3.2

192.168.3.22

Linux

挂共享磁盘

打开VM VirtualBox虚机,创建两个机器DSC1,DSC2,并安装dm8数据库软件。

之后关闭虚机后,点击DSC1,点击设置,再点击存储,加上一块虚拟硬盘(注意:创建硬盘必须是固定大小分配,大小为20G):

然后点击管理,进入虚拟介质管理,找到新建的虚拟硬盘:DSC1_1vdi更改其类型为可共享。

最后挂在DSC2虚机上挂上该共享磁盘即可

创建所需目录

两机器同时创建:

mkdir -p /dm8/setup /dm8/dmdbms /dm8/config /dm8/arch_0 /dm8/arch_0_remote /dm8/bak

划分磁盘

利用fdisk命令划分磁盘(root用户下执行):

fdisk /dev/sdb

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

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

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

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

  5) 输入w命令,保存

挂存储

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"

partprobe /dev/sdb

reboot

搭建DSC

编辑dmdcr_cfg.ini

两机器相同配置

vim /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.3.1  #心跳地址

  DCR_EP_PORT              = 5336  #CSS端口

[GRP_CSS]

  DCR_EP_NAME              = CSS1

  DCR_EP_HOST              = 192.168.3.2

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

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

  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

初始化磁盘组

DSC1机器

在/dm8/bin目录下执行:./dmasmcmd

  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

两台机器配置:

vi /dm8/config/dmasvrmal.ini

[MAL_INST1]

  MAL_INST_NAME            = ASM0

  MAL_HOST                 = 192.168.3.1  #心跳地址

  MAL_PORT                 = 5636  #MAL监听端口

[MAL_INST2]

  MAL_INST_NAME            = ASM1

  MAL_HOST                 = 192.168.3.2

  MAL_PORT                 = 5637

创建dmdcr.ini

DSC1机器

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/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini

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

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

DSC2机器

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

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

DMDCR_DB_RESTART_INTERVAL  = 60

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

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

启动CSS、ASM服务

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

/dm8/bin/dmasmsvr DCR_INI=/dm8/config/dmdcr.ini

创建DMASM磁盘组

cd /dm8/bin

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

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

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

创建dminit.ini

DSC1机器下配置:

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                 = 128

  dcr_path                 = /dev/raw/raw1

  dcr_seqno                = 0

  auto_overwrite           = 1

  PAGE_SIZE                = 32

  CASE_SENSITIVE           = Y

  CHARSET                  = 0

[DSC0]

  config_path              = /dm8/config /dsc0_config/DSC0

  port_num                 = 5236

mal_host                 = 192.168.3.1

  mal_port                 = 5736

  log_path                 = +DMLOG/log/dsc0_log01.log

  log_path                 = +DMLOG/log/dsc0_log02.log

[DSC1]

  config_path              = /dm8/config /dsc1_config/DSC1

  port_num                 = 5236

  mal_host                 = 192.168.3.2

  mal_port                 = 5737

  log_path                 = +DMLOG/log/dsc1_log01.log

  log_path                 = +DMLOG/log/dsc1_log02.log

初始化实例

到bin下初始化实例:

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

把dsc1_config传到另外一个节点上:

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

配置归档

创建dmarch.ini

DSC1机器

vi /dm8/config/dsc0_config/dm.ini

  ARCH_INI                 = 1

vi /dm8/config/dsc0_config/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL

  ARCH_DEST                = /dm8/arch_0

  ARCH_FILE_SIZE           = 128

  ARCH_SPACE_LIMIT         = 51200

[ARCHIVE_REMOTE]

  ARCH_TYPE                = REMOTE

  ARCH_DEST                = DSC1

  ARCH_INCOMING_PATH       = /dm8/arch_0_remote

  ARCH_FILE_SIZE           = 128

  ARCH_SPACE_LIMIT         = 51200

DSC2机器

vi /dm8/config/dsc1_config/dm.ini

  ARCH_INI                 = 1

--创建dmarch.ini

[dmdba@~]# vi /dm8/config/dsc1_config/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL

  ARCH_DEST                = /dm8/arch_1

  ARCH_FILE_SIZE           = 128

  ARCH_SPACE_LIMIT         = 51200

[ARCHIVE_REMOTE]

  ARCH_TYPE                = REMOTE

  ARCH_DEST                = DSC0

  ARCH_INCOMING_PATH       = /dm8/arch_1_remote

  ARCH_FILE_SIZE           = 128

  ARCH_SPACE_LIMIT         = 51200

启动实例服务

到bin目录下启动实例:

./dmserver /dm8/config/dsc0_config/DSC0/dm.ini dcr_ini=/dm8/config/dmdcr.ini

./dmserver /dm8/config/dsc1_config/DSC1/dm.ini dcr_ini=/dm8/config/dmdcr.ini

后续可以配置监视器查看DSC集群状态,配置CSS,ASM和实例服务让集群可以开机自启。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值