ITPub博客

首页 > 数据库 > 国内数据库 > DM8共享集群DSC搭建

DM8共享集群DSC搭建

原创 国内数据库 作者:zhangly 时间:2021-04-17 17:29:43 0 删除 编辑

1. 创建共享盘

这里准备两台机器做DSC集群,首先将两台机器都关机,准备创建共享盘。

1.1     创建一块虚拟磁盘


至此,磁盘准备完成。

1.2     将虚拟磁盘改为共享盘

在虚拟机关闭的情况下,修改配置文件( 位于虚拟机目录下的一个 .vmx文件),

在最后一行添加如下两行:


disk.locking="FALSE" 

scsi0:1.SharedBus="Virtual"


两台机器的配置文件都要这么改,改完以后,将上面创建的盘加到主机2上面来:


添加后,开启两台机器,输入 lsblk 都可以看到新增盘sdb:


1.3 共享盘做分区

在服务器1上面操作,对共享磁盘划分:

1) 输入 fdisk /dev/sdb

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

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

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

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

6)识别分区:

      [root@db1 ~]# partprobe /dev/sdb

7) 编辑/etc/udev/rules.d/60-raw.rules 文件,增加以下语句:

      vi /etc/udev/rules.d/60-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"

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

 

保存,退出


8)裸设备绑定

[root@db1 ~]# /sbin/udevadm trigger --type=devices --action=change

或者

[root@db1 ~]# /sbin/udevadm control --reload


查看绑定信息

[root@db1 ~]# partprobe /dev/sdb

[root@db1 ~]# raw -qa


查看裸设备大小

[root@db1 ~]# blockdev --getsize64 /dev/raw/raw1



服务器2上操作:

#识别分区

[root@db1 ~]# partprobe /dev/sdb

#增加配置文件

[root@db1 ~]# vi /etc/udev/rules.d/60-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"

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

 

保存,退出

查看绑定信息

[root@db1 ~]# raw -qa



2.搭建DSC集群

2.1准备 dmdcr_cfg.ini 配置文件

前提准备:两个节点都安装了DM8软件,但不用初始化实例。

DM8安装目录 /home/dmdba/dmdbms

 

数据目录准备:  /home/data/

[root@db1 home]# mkdir -p /home/data/

[root@db1 home]# chown -R dmdba:dinstall /home/data

[root@db1 home]# su – dmdba

[dmdba@db1 ~]$ cd /home/data

 

创建配置文件:使用 dmdba用户在 /home/data/ 下创建文件dmdcr_cfg.ini,

只需要在dsc1主节点上配置。

后续DMASMCMD工具执行 init 语句会使用到。

需要根据实际环境修改IP配置为rac节点的IP,其他内容可以保持不变。

注:不同节点服务器间对应的DCR_EP_PORT端口可以相同,但是两个服务器配的ASM的DCR_EP_SHM_KEY不能相同。

 

配置文件内容如下

[dmdba@db1 data]$ vi dmdcr_cfg.ini

 

DCR_N_GRP = 3

DCR_VTD_PATH = /dev/raw/raw2

DCR_OGUID = 63635

 

[GRP]

DCR_GRP_TYPE = CSS

DCR_GRP_NAME = GRP_CSS

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

 

[GRP_CSS]

DCR_EP_NAME = CSS0

DCR_EP_HOST = 192.168.93.101

DCR_EP_PORT = 9340

 

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.93.102

DCR_EP_PORT = 9341

 

 

   

[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

DCR_EP_SHM_SIZE = 20

DCR_EP_HOST = 192.168.93.101

DCR_EP_PORT = 9350

DCR_EP_ASM_LOAD_PATH = /dev/raw

 

[GRP_ASM]

DCR_EP_NAME = ASM1

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 20

DCR_EP_HOST = 192.168.93.102

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

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9740

 

[GRP_DSC]

DCR_EP_NAME = DSC1

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9741



2.2使用DMASMCMD工具初始化

注:只在一台机器上执行即可,此处 dmdcr_cfg.ini 配置文件在主节点上,所以就在主节点完成以下操作:

 

进入安装目录 /bin

[dmdba@db1 data]$  cd /home/dmdba/dmdbms/bin

[dmdba@db1 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'


2.3配置 dmasvrmal.ini 文件

同样是dmdba用户,目录 /home/data/  

先在主节点新增 dmasvrmal.ini,然后scp传到节点2上:

 

[dmdba@db1 bin]$ cd /home/data/

[dmdba@db1 data]$  vi dmasvrmal.ini

 

[MAL_INST1]

 MAL_INST_NAME = ASM0

 MAL_HOST = 192.168.93.101

 MAL_PORT = 7230

 

[MAL_INST2]

 MAL_INST_NAME = ASM1

 MAL_HOST = 192.168.93.102

 MAL_PORT = 7231

 

#传输文件:

[dmdba@db1 data]$ scp dmasvrmal.ini  dmdba@192.168.93.102:/home/data


2.4 配置dmdcr.ini文件

两个节点都要配置,dmdcr_seqo 分别为 0 和 1,保存到/home/data 目录下面。

此处配置为不会自动拉起,需要手动执行启动 asm 与 server 操作,方便在控制台查看节点信息,

部署成功后可配置为自动拉起,注册服务。


节点1  192.168.93.101

[dmdba@db1 bin]$ cd /home/data/

[dmdba@db1 data]$  vi dmdcr.ini

 

DMDCR_PATH=/dev/raw/raw1

#dmasmsvr使用的 MAL 配置文件路径

DMDCR_MAL_PATH=/home/data/dmasvrmal.ini

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



节点2  192.168.93.102

[dmdba@db1 bin]$ cd /home/data/

[dmdba@db1 data]$  vi dmdcr.ini

 

DMDCR_PATH=/dev/raw/raw1

#dmasmsvr使用的 MAL 配置文件路径

DMDCR_MAL_PATH=/home/data/dmasvrmal.ini

DMDCR_SEQNO = 1

 

#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/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

 

注意:需要改两个地方: DMDCR_SEQNO = 1  和  path=/home/data/dsc1_config


2.5 启动DMCSS和DMASM服务

在 192.168.93.101、192.168.93.102 节点先后分别启动 dmcss、dmasmsvr 程序。

 

用dmdba用户,进入安装目录/bin路径:

[dmdba@db1 data]$ cd /home/dmdba/dmdbms/bin

 

手动启动 dmcss 命令:

[dmdba@db1 bin]$  ./dmcss DCR_INI=/home/data/dmdcr.ini

( 正常情况下 两台服务器都识别CSS0为控制节点)

 

手动启动 dmasmsvr 命令:

[dmdba@db1 bin]$  ./dmasmsvr DCR_INI=/home/data/dmdcr.ini

 

注意:节点2也同样开启两个窗口,一共四个窗口,不要关闭!!!

 

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

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

 

这里用主节点操作:

su – dmdba

cd /home/dmdba/dmdbms/bin

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

 

登录后,执行以下两段:

#创建日志磁盘组

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

#创建数据磁盘组

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



2.7  配置dminit.ini文件

使用 dmdba 用户,只需要在一个节点上创建,此处选择在 dsc1 主节点中创建

[dmdba@db1 bin]$ cd /home/data/

[dmdba@db1 data]$ vi 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

page_size = 16

 

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

config_path = /home/data/dsc0_config

port_num = 5236

mal_host = 192.168.93.101

mal_port =  8330   # 注意:这里的 MAL_PORT 不同于 dmasvrmal.ini 的 MAL_PORT

log_path = +DMLOG/dsc0_log01.log

log_path = +DMLOG/dsc0_log02.log

 

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

config_path = /home/data/dsc1_config

port_num = 5236

mal_host = 192.168.93.102

mal_port =  8331  # 注意:这里的 MAL_PORT 不同于 dmasvrmal.ini 的 MAL_PORT

log_path = +DMLOG/dsc1_log01.log

log_path = +DMLOG/dsc1_log02.log



2.8 使用dminit初始化DB环境

注:需使用 dmdba 用户,在一个节点上初始化数据库就可以,因为 dminit.ini 配置文件在 dsc1 主节点上,所以初始化数据库操作在此节点执行即可。

[dmdba@db1 data]$ cd /home/dmdba/dmdbms/bin

[dmdba@db1 bin]$ ./dminit control=/home/data/dminit.ini

可以看到创建数据库成功,

进入  /home/data/  目录后可以看到生成两个文件夹:

因为一直在主节点上进行初始化操作, dsc1_config 文件夹应该是节点 2 需要使用的配置文件,

所以需要将 dsc1_config 文件夹传输至节点 2 的  /home/data/  目录下:

[dmdba@db1 data]$  scp -r dsc1_config/  dmdba@192.168.93.102:/home/data/

节点 1 上可以仅保留 dsc0_config ,  删除该文件夹  rm -rf dsc1_config



2.9启动实例

节点1  192.168.93.101:

[dmdba@db1 data]$ cd /home/dmdba/dmdbms/bin

[dmdba@db1 data]$  ./dmserver /home/data/ dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini

 

节点2  192.168.93.102:

[dmdba@db1 data]$ cd /home/dmdba/dmdbms/bin

[dmdba@db1 data]$  ./dmserver /home/data/ dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

 

至此,集群部署完毕。

可用disql登录,查看集群状态:

select * from v$dsc_ep_info;



3.后台服务注册

3.1 注册CSS和ASM服务

上述2.5【启动DMCSS和DMASM服务】中,四个窗口服务可以注册为后台运行:

节点1、2相同操作:

su – root

cd /home/dmdba/dmdbms/script/root

 

#注册CSS服务,名为DmCSSServiceDSC

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

#启动服务( 启动前需要先关掉之前的窗口CSS服务,否则这里起不来)

service DmCSSServiceDSC start

 

 

#注册一个ASM服务,名为DmASMSvrServiceDSC,且必须-y指定依赖的CSS服务:

./dm_service_installer.sh -t dmasmsvr -p DSC -dcr_ini /home/data/dmdcr.ini -y DmCSSServiceDSC

#启动服务( 同样需要先停掉窗口ASM服务,且ASM关闭以后,实例也会自动关闭)

service DmASMSvrServiceDSC start


#查看后台进程运行情况

ps -ef |grep dmdcr.ini



3.2 注册实例服务

su – root

cd /home/dmdba/dmdbms/script/root

 

#注册一个名为DmServiceDSC的服务, 需要-y指定ASM服务:

 

如果是节点1:

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

 

如果是节点2:

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

 

#启动服务,(由于上面ASM窗口服务关闭过,因此实例已经关了。这里可以直接启动)

service DmService DSC start


至此,DSC集群启动成功,并注册为后台服务运行。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69998466/viewspace-2768563/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-04-16

  • 博文量
    13
  • 访问量
    20677