目录
3.使用 dmdcr_cfg.ini 配置文件初始化 dcrdisk 和 votedisk
DSC搭建
集群规划
节点机器 | 实例名称 | IP | PORT_NUM | DCR_OGUID |
111 | CSS0 | 192.168.64.111 192.168.169.111 | 9836 | 63635 |
ASM0 | 5836 | |||
DSC01 | 6636 | |||
112 | CSS1 | 192.168.64.112 192.168.169.112 | 9837 | |
ASM1 | 5837 | |||
DSC02 | 6637 |
1、环境准备
1.硬件
两台相同配置的机器,需要2块网卡。
2.存储设备
4 块由存储服务器提供的共享存储磁盘,存储服务器通过 SAN 交换机与两台机器相连提供存储服务。
3.操作系统
同一套 DMDSC 环境要求其所在机器的操作系统相同。
4.网络配置
两块网卡一个为内网网段,一个为外网网段。
5.防火墙
##防止 Linux 防火墙影响数据库的运行,设置开机禁用防火墙并关闭防火墙。
[root@localhost dmdba]#systemctl disable firewalld
[root@localhost dmdba]#systemctl stop firewalld
6.Selinux检查
[root@localhost dmdba]#setenforce 0
[root@localhost dmdba]#vim /etc/selinux/config ##设置 selinux 状态为关闭
SELINUX=disabled
##修改后,保存退出
7.用户准备
#新建组dinstall和用户dmdba
groupadd dinstall
useradd -g dinstall dmdba
#为用户dmdba设置密码
passwd dmdba
#用户输入密码
8.目录规划
两机器都要做。
dmdba 用户创建用于 DSC 环境搭建的目录:/dm
配置文件存放于目录:/dm/config
9.软件安装
步骤略
10.磁盘准备
两机器都要做。
使用 UDEV 工具来固定磁盘。
编写/etc/udev/rules.d/60-raw.rules 配置信息
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N;"
ACTION=="add",KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall",MODE="660"
- 重启 udev 服务。
udevadm trigger --type=devices --action=change
查看磁盘权限信息如下:
[dmdba@test111 ~]# ll /dev/raw/
总用量 0
crw-rw---- 1 dmdba dinstall 162, 1 7月 9 00:29 raw1
crw-rw---- 1 dmdba dinstall 162, 2 7月 9 01:16 raw2
crw-rw---- 1 dmdba dinstall 162, 3 7月 9 01:15 raw3
crw-rw---- 1 dmdba dinstall 162, 4 7月 9 01:06 raw4
crw-rw---- 1 root disk 162, 0 7月 8 23:28 rawctl
#如果清空裸设备:
#dd if=/dev/zero of=/dev/raw/raw1
2、搭建两节点 DMDSC
1.准备配置文件 dmdcr_cfg.ini
保存到 111 机器的/dm/config 下。
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.64.111
DCR_EP_PORT = 9836
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.64.112
DCR_EP_PORT = 9837
[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= 64735
DCR_EP_SHM_SIZE= 512
DCR_EP_HOST= 192.168.64.111
DCR_EP_PORT= 5836
DCR_EP_ASM_LOAD_PATH= /dev/raw
[GRP_ASM]
DCR_EP_NAME= ASM1
DCR_EP_SHM_KEY= 54736
DCR_EP_SHM_SIZE= 512
DCR_EP_HOST= 192.168.64.112
DCR_EP_PORT= 5837
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= DSC01
DCR_EP_SEQNO= 0
DCR_EP_PORT= 6636
[GRP_DSC]
DCR_EP_NAME= DSC02
DCR_EP_SEQNO= 1
DCR_EP_PORT= 6637
2.使用 DMASMCMD 工具初始化所有磁盘
在 111 机器使用 DMASMCMD 工具初始化所有磁盘
./dmasmcmd
create dcrdisk '/dev/raw/raw1' 'DCR'
create votedisk '/dev/raw/raw2' 'VOTE'
create asmdisk '/dev/raw/raw3' 'DMLOG'
create asmdisk '/dev/raw/raw4' 'DMDATA'
3.使用 dmdcr_cfg.ini 配置文件初始化 dcrdisk 和 votedisk
init dcrdisk '/dev/raw/raw1' from '/dm/config/dmdcr_cfg.ini' identified by 'SYSDBA'
init votedisk '/dev/raw/raw2' from '/dm/config/dmdcr_cfg.ini'
检查:
listdisks '/dev/raw/'
4.准备dmasvrmal.ini
准备DMASM 的MAL配置文件dmasvrmal.ini保存到 111 的/dm/config 下。
[MAL_INST1]
MAL_INST_NAME= ASM0
MAL_HOST= 192.168.64.111
MAL_PORT= 4836
[MAL_INST2]
MAL_INST_NAME= ASM1
MAL_HOST= 192.168.64.112
MAL_PORT= 4837
为 DSC02 配置 dmasvrmal.ini,和 DSC01 的 dmasvrmal.ini 内容完全一样。保存到 112 的/dm/config 下。
5.配置 dmdcr.ini
为 DSC01和DSC02 配置 dmdcr.ini,保存到/dm/config 下。
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /dm/config/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/bin/dmasmsvr dcr_ini=/dm/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/bin/dmserver path=/dm/config/DSC01_conf/dm.ini dcr_ini=/dm/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /dm/config/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/bin/dmasmsvr dcr_ini=/dm/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/bin/dmserver path=/dm/config/DSC02_conf/dm.ini dcr_ini=/dm/config/dmdcr.ini
6.启动 DMCSS、DMASM 服务程序
主节点 111 启动 DMCSS:
./dmcss dcr_ini=/dm/config/dmdcr.ini
另一节点 112 启动 DMCSS:
./dmcss dcr_ini=/dm/config/dmdcr.ini
主节点 111 启动 DMASMSVR:
./dmasmsvr dcr_ini=/dm/config/dmdcr.ini
另一节点 112 启动 DMASMSVR:
./dmasmsvr dcr_ini=/dm/config/dmdcr.ini
7.使用 DMASMTOOL 工具创建 ASM 磁盘组
在 111 上登录创建:
./dmasmtool dcr_ini=/dm/config/dmdcr.ini
#创建DATA磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
#创建LOG磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
ls --查看磁盘组信息是否正确
lsdsk --查看磁盘详细信息
8.准备 dminit.ini 配置文件
在111机器上准备dminit.ini 配置文件,保存到/dm/config 目录下。
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
LOG_SIZE= 2048
DCR_PATH= /dev/raw/raw1
DCR_SEQNO= 0
AUTO_OVERWRITE= 1
PAGE_SIZE = 16
EXTENT_SIZE = 16
[DSC01]
CONFIG_PATH= /dm/config/DSC01_conf
PORT_NUM = 6636
MAL_HOST= 192.168.64.111
MAL_PORT= 6536
LOG_PATH= +DMLOG/log/DSC01_log1.log
LOG_PATH= +DMLOG/log/DSC01_log2.log
[DSC02]
CONFIG_PATH= /dm/config/DSC02_conf
PORT_NUM = 6637
MAL_HOST= 192.168.64.112
MAL_PORT= 6537
LOG_PATH= +DMLOG/log/DSC02_log1.log
LOG_PATH= +DMLOG/log/DSC02_log2.log
9.使用 DMINIT 初始化一个节点的数据库环境
选择一个节点,启动 DMINIT 初始化数据库,这里以 111 为例。DMINIT 执行完成后,会在 config_path 目录(/dm/config/DSC01_conf 和/dm/config/DSC02_conf)下生成配置文件 DM.INI 和 DMMAL.INI。
./dminit control=/dm/config/dminit.ini
10.使用拷贝的方式配置另外一个节点的数据库环境
将 111 上初始化库时产生的 DSC02 节点的配置文件(整个/dm/config/DSC02_conf 文件夹)复制到 112 机器的/dm/config/目录下。
scp -r /dm/config/DSC02_conf dmdba@192.168.100.112:/dm/config/
11.启动数据库服务器
分别启动两个节点的服务器。
111节点服务器启动:
cd /dm/bin
./dmserver dcr_ini=/dm/config/dmdcr.ini /dm/config/DSC01_conf/dm.ini
112节点服务器启动:
cd /dm/bin
./dmserver dcr_ini=/dm/config/dmdcr.ini /dm/config/DSC02_conf/dm.ini
12.配置并启动 DMCSSM 监视器
现在我们搭建监视器,配置 dmcssm.ini 文件。
DMCSSM 在任何机器上均可以启动,只要该台机器和 DMDSC 的真实机器网络是相通的,就可以监控 DMDSC 集群信息。
这里我们选择在 111 机器上搭建监视器。/dm/config 目录中 dmcssm.ini 详细内容如下:
#和dmdcr_cfg.ini中的DCR_OGUID保持一致
CSSM_OGUID = 63635
#配置所有CSS的连接信息,
#与dmdcr_cfg.ini中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致
CSSM_CSS_IP = 192.168.64.111:9836
CSSM_CSS_IP = 192.168.64.112:9837
CSSM_LOG_PATH = /dm/cssm_log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
创建 DMCSSM 的日志存放路径。
mkdir -p /dm/cssm_log
启动 DMCSSM 集群监视器。
./dmcssm ini_path=/dm/config/dmcssm.ini
DMCSSM 启动之后,可使用 show 命令在 DMCSSM 监视器中查看集群状态信息。
show
至此,基于 DMASM 的 DMDSC 已经搭建完成。
13.注册服务
CSSM不创建服务
root
节点一:
./dm_service_installer.sh -t dmcss -p DSC01 -dcr_ini /dm/config/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p DSC01 -dcr_ini /dm/config/dmdcr.ini -y DmCSSServiceDSC01
./dm_service_installer.sh -t dmserver -p DSC01 -dm_ini /dm/config/DSC01_conf/dm.ini -dcr_ini /dm/config/dmdcr.ini -y DmASMSvrServiceDSC01
守护进程:
./dm_service_installer.sh -t dmwatcher -p DSC01 -watcher_ini /dm/config/DSC01_conf/dmwatcher.ini
节点二:
./dm_service_installer.sh -t dmcss -p DSC02 -dcr_ini /dm/config/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p DSC02 -dcr_ini /dm/config/dmdcr.ini -y DmCSSServiceDSC02
./dm_service_installer.sh -t dmserver -p DSC02 -dm_ini /dm/config/DSC02_conf/dm.ini -dcr_ini /dm/config/dmdcr.ini -y DmASMSvrServiceDSC02
守护进程:
./dm_service_installer.sh -t dmwatcher -p DSC02 -watcher_ini /dm/config/DSC02_conf/dmwatcher.ini
14.登录验证
#配置 dm_scv.conf 文件
vim /etc/dm_svc.conf
#添加:
dmdsc=(192.168.169.111:6636,192.168.169.112:6637)
disql SYSDBA@dmdsc
15.启动/关闭集群
先启动 css-再 asm-最后 server
DmCSSServiceDSC01 start
DmASMSvrServiceDSC01 start
DmServiceDSC01 start
关闭
正常关闭集群应依次退关闭[DB]、[ASM]、[CSS]各组节点
直接关闭[ASM]节点将导致对应的[DB]节点异常关闭
直接关闭[CSS]节点将导致对应的[ASM]、[DB]节点异常关闭
DmServiceDSC01 stop
DmASMSvrServiceDSC01 stop
DmCSSServiceDSC01 stop
启动监视器,dmdba 用户执行。
./dmcssm ini_path=/dm/config/dmcssm.ini