DM8DSC集群搭建

1.环境准备

在本机虚拟机实施搭建达梦8的DSC集群,节点数为2,操作系统redhat6。

主机 ip地址 实例名 操作系统
dsc1 192.168.44.212 DSC0 Redhat6
dsc2 192.168.44.213 DSC1 Redhat6

a. 使用VMware虚拟机安装两台机器
b. 点击硬盘
DM8DSC集群搭建
c. 添加硬盘
DM8DSC集群搭建
DM8DSC集群搭建
一直点下一步,创建新的虚拟硬盘,立即分配所有磁盘文件,将虚拟硬盘存储为单个文件
DM8DSC集群搭建
创建完成虚拟硬盘。
d. 第二台机器添加第一台机器的共享存储硬盘
DM8DSC集群搭建
DM8DSC集群搭建
在两台虚拟机的 .vmx文件中加入disk.locking = “FALSE“参数
DM8DSC集群搭建
准备完成,启动虚拟机。

2.静态ip配置

在编辑中打开虚拟网络编辑器,点击VMnet8,选择NAT模式,点击NAT设置,查看子网掩码和网关。
DM8DSC集群搭建
设置静态ip

vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.44.212 # 自己设置
NETMASK=255.255.255.0
GATEWAY=192.168.44.2 # 虚拟机中看到的网关

DM8DSC集群搭建
重启网络service network restart
两台机器都配置完后ping一下,看网络是否正常。
我两台机器分别配置的ip是192.168.44.212和192.168.44.213。

3.裸设备划分和绑定

磁盘划分(在任意一台机器上操作即可):

1.fdisk /dev/sdb 
2.依次输入 n p 1 回车 +100M 回车,完成第一块磁盘划分
3.依次输入 n p 2 回车 +100M 回车,完成第二块磁盘划分
4.依次输入 n p 3 回车 +2048M 回车,完成第三块磁盘划分
5.依次输入 n p 4 回车 回车 回车,完成第四块磁盘划分
6.编辑/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="root", GROUP="root",MODE="660"

7.执行partprobe /dev/sdb,通知系统分区表的变化(两台节点都要操作)
8.执行start_udev,完成裸设备绑定。

按照官方文档配置raw[1-4]是root权限,但执行后续命令时会发现权限不足,
所以我们需要执行chown -R dmdba:dinstall /dev/raw/raw[1-4],将所有者改为dmdba用户。

4.搭建DSC集群

4.1配置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.44.212
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.44.213
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
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.44.212
DCR_EP_PORT = 9349
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.44.213
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 = 9741
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9742

4.2使用 DMASMCMD 工具初始化

只需在一台机器执行即可

[dmdba@dsc3 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 '/home/data/dmdcr_cfg.ini'identified by 'abcd'
ASM>init votedisk '/dev/raw/raw2' from '/home/data/dmdcr_cfg.ini'

4.3配置dmasvrmal.ini文件

使用 DMASM 的所有节点都要配置,内容完全一样,保存到/home/data目录下

[MAL_INST1] 
MAL_INST_NAME = ASM0 
MAL_HOST = 192.168.44.212
MAL_PORT = 7236 
[MAL_INST2] 
MAL_INST_NAME = ASM1 
MAL_HOST = 192.168.44.213
MAL_PORT = 7237

4.4配置dmdcr.ini文件

保存到/home/data 目录下面,DMASM 的两个节点分别配置 dmdcr.ini,dmdcr_path相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为 0 和 1。
192.168.44.212节点:

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/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=/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

192.168.44.213节点:

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/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=/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

4.5启动 DMCSS、DMASM 服务程序

在两个节点先后分别启动 dmcss、dmasmsvr 程序。
手动启动 dmcss 命令:
./dmcss DCR_INI=/home/data/dmdcr.ini
手动启动 dmasmsvr 命令:
./dmasmsvr DCR_INI=/home/data/dmdcr.ini
DM8DSC集群搭建
DM8DSC集群搭建

4.6创建 DMASM 磁盘组

在任意节点使用 dmasmtool 工具创建 DMASM 磁盘组。

./dmasmtool DCR_INI=/home/data/dmdcr.ini
#创建日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3' 
#创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

4.7准备 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 = /home/data/dsc0_config
port_num = 5236
mal_host = 192.168.44.212
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 = /home/data/dsc1_config
port_num = 5237
mal_host = 192.168.44.213
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

4.8使用 dminit 初始化 DB 环境

选择一个节点,启动 dminit 工具初始化数据库。dminit 执行完成 后,会在 config_path 目录(/home/data/dsc0_config 和 /home/data/dsc1_config)下生成配置文件 dm.ini 和 dmmal.ini。
./dminit control=/home/data/dminit.ini
DM8DSC集群搭建

4.9启动数据库服务器

将192.168.44.212机器/home/data/dsc1_config 目录拷贝到192.168.44.213机器相同目录下,再分别启动 dmserver 即可完成 DMDSC 集群搭建。

手工启动命令
192.168.44.212机器:
./dmserver /home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini
192.168.44.213机器:
./dmserver /home/data/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini

4.10测试

一台机器插入数据,另一台机器测试是否能够查询到数据。
192.168.44.212插入数据:
DM8DSC集群搭建
192.168.44.213查询数据:
DM8DSC集群搭建

上一篇:Django之ORM执行原生sql语句


下一篇:一步一步搭建11gR2 rac+dg之DG 机器配置(七)