DMDSC搭建(VMware虚拟机+Centos7操作系统+DM8x86版本)
一、搭建前提:
本次搭建适用于(VMware虚拟机+Centos7操作系统+DM8x86版本):
1、 虚拟机创建共享磁盘:(步骤如下)
DSC01节点:
创建出一个新的虚拟磁盘,记住磁盘的名称与路径:
DSC02节点:
与DSC01创建磁盘的时候前四步步骤一样,第五步选择使用现有磁盘,第六步输入DSC01创建的磁盘路径与名称。
创建完磁盘之后:
分别两台虚拟的配置文件中(.vmx为后缀)添加如下限制,修改虚拟磁盘的使用限制:
disk.locking=“FALSE”
scsi0:1.SharedBus=“Virtual”
scsi1:1.SharedBus=“Virtual”
#(倆台都得修改)
二、划分裸设备:
2.1共享磁盘上裸设备划分:
(在任意一台节点上执行以下操作):
fdisk /dev/sdb
依次输入:
n → p → 1 →回车→ +100M →回车,完成第一块磁盘划分
n → p → 2 →回车→ +100M→回车,完成第二块磁盘划分
n → p → 3 →回车→ +2048M →回车,完成第三块磁盘划分
n → p → 4→回车→回车→回车,完成第四块磁盘划分
按w保存退出
前两个分区大小为100M,第三个分区不少于2G(该分区过小可能会出现启动dmserver闪退、创建ASM磁盘组时连接失败等报错)
查看磁盘划分情况:fdisk -l /dev/sdb
2.2 udev 方式绑定裸设备:
在每个节点中编辑:
vim /etc/udev/rules.d/90-raw.rules
添加下面命令
ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sde",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdf",RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"
然后保存退出:以下命令使其生效:
udevadm trigger --type=devices --action=change
:然后重启所有虚拟机。
查看结果:
2.3创建asm磁盘
使用 dmdba 用户,到 DM 数据库软件安装目录的 bin 目录执行以下命令(只需在一个节点执行)。
bin目录下执行:./dmasmcmd
DMASMCMD V8
ASM>create dcrdisk '/dev/raw/raw1' 'dcr';
syntax error
asmcmd parse failed!
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
[Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr
Used time: 7.334(ms).
ASM>create votedisk '/dev/raw/raw2' 'vote'
[Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote
Used time: 3.766(ms).
ASM>create asmdisk '/dev/raw/raw3' 'LOG0'
[Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMLOG0
Used time: 7.499(ms).
ASM>create asmdisk '/dev/raw/raw4' 'DATA0'
[Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMDATA0
Used time: 7.210(ms).
注:dmasmcmd下每条语句后面不加分号,否则会报错。
配置 DCR 初始化配置文件
创建配置文件存放目录,2 个节点都要执行,使用 dmdba 用户,执行以下命令:mkdir -p /home/dmdba/config
新建 编辑dmdcr_cfg.ini 文件,节点 1 使用 dmdba 用户,执行以下命令:
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.12.11.102(IP)
DCR_EP_PORT = 9341
[CSS]
DCR_EP_NAME = CSS2
DCR_EP_HOST = 10.12.11.103
DCR_EP_PORT = 9341
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.12.11.102(IP)
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[ASM]
DCR_EP_NAME = ASM2
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.12.11.103
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5232
DCR_CHECK_PORT = 9741
[DSC]
DCR_EP_NAME = DSC2
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5232
DCR_CHECK_PORT = 9741
使用DMASMCMD工具初始化
init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini'
init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'
init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini’
准备DMASM的MAL配置文件(命名为dmasvrmal.ini),使用DMASM的所有节点都要配置,内容完全一样,保存到/home/dmdba/cofig目录下 :
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 10.0.2.101 (自己节点IP)
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 10.0.2.102
MAL_PORT = 7237
准备dmdcr.ini配置文件,保存到/home/dmdba/cofig目录下面
DMASM的两个节点分别配置dmdcr.ini,dmdcr_path相同,dmasvrmal.ini文件内容也相同,dmdcr_seqo分别为0和1。
节点1:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/cofig /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/dmdba/cofig /dmdcr.ini
#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/cofig /config/dm.ini dcr_ini=/home/dmdba/cofig /dmdcr.ini
节点2:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/cofig /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/dmdba/cofig /dmdcr.ini
#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/cofig /dm.ini dcr_ini =/home/dmdba/cofig /dmdcr.ini
2.4 前台启动DMDSC集群服务
手动启动dmcss命令:
2个节点启动DMCSS,dmdba用户到数据库bin下执行:
./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini
手动启动dmasmsvr命令:
./dmasmsvr DCR_INI=/home/dmdba/dmdcr.ini
启动完成后,打开新的窗口,到dmdbms的bin目录下执行以下命令:
./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini
输入下面命令:
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
2.5 准备dminit.ini配置文件,保存到/home/dmdba/config目录
vim /home/dmdba/config/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 = 100
dcr_path = /dev/raw/raw1
dcr_seqno = 0
auto_overwrite = 1
[DSC1]
config_path = /home/dmdba/config/dsc1
port_num = 5232
mal_host = 10.12.11.102
mal_port = 9236
log_path = +DMLOG/log/DSC1_log01.log
log_path = +DMLOG/log/DSC1_log02.log
[DSC2]
config_path = /home/dmdba/config/dsc2
port_num = 5232
mal_host = 10.12.11.103
mal_port = 9236
log_path = +DMLOG/log/DSC2_log01.log
log_path = +DMLOG/log/DSC2_log02.log
俩节点配置文件一样,直接scp就行:
初始化实例,在节点1上dmdba用户执行以下命令:
./dminit control=/home/dmdba/config/dminit.ini
初始化完成后会在init控制文件配置的目录下生成2个实例的配置文件夹:
dsc1
dsc2
将dsc2目录复制到节点2对应的目录下
scp -r /home/dmdba/config/dsc2
前台启动数据库服务
10.0.2.101机器:
./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
10.0.2.102机器:
./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
配置监视器
任意节点新建监视器配置文件,执行以下命令:
vim /home/dmdba/config/dmcssm.ini
CSSM_OGUID = 63635 #和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 10.12.11.102:9341(节点IP)
CSSM_CSS_IP = 10.12.11.103:9341
CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
启动监视器:(bin目录下)
./dmcssm ini_path=/home/dmdba/config/dmcssm.ini
注册集群服务
注册集群服务,将前台启动模式改为系统服务,方便启动和关闭集群,以及实现开机自启动。
2个节点都需要注册,使用root用户注册服务,script/root目录下
#注册css1集群服务
./dm_service_installer.sh -t dmcss -p dsc1 -dcr_ini
/home/dmdba/config/dmdcr.ini
注册asm1共享存储服务
./dm_service_installer.sh -t dmasmsvr -p dsc1 -dcr_ini
/home/dmdba/config/dmdcr.ini -y DmCSSServicedsc1.service
#注册数据库服务
./dm_service_installer.sh -t dmserver -p dsc1 -dm_ini
/home/dmdba/config/dsc1/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini
-y DmCSSServicedsc1.service
#注册css2集群服务
./dm_service_installer.sh -t dmcss -p dsc2 -dcr_ini
/home/dmdba/config/dmdcr.ini
注册asm2共享存储服务
./dm_service_installer.sh -t dmasmsvr -p dsc2 -dcr_ini
/home/dmdba/config/dmdcr.ini -y DmCSSServicedsc2.service
#注册数据库服务
./dm_service_installer.sh -t dmserver -p dsc2 -dm_ini
/home/dmdba/config/dsc1/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini
-y DmCSSServicedsc2.service
最后一步:
1、服务注册完成后,退出现在前台启动的窗口,使用服务查看命令每个节点查看一遍,确保所有服务已经停止。
2、分别使用刚注册完成的命令启动CSS,ASM,Service:
到dmdbms的bin目录下:(1节点)
./DmCSSServicedsc1
./DmASMSvrServicedsc1
./DmServicedsc1
(2节点) 到dmdbms的bin目录下:
./DmCSSServicedsc2
./DmASMSvrServicedsc2
./DmServicedsc2
建议 按照这个顺序来启动所有服务
待所有命令显示OK之后,使用:
ps -ef|grep dmcss
ps -ef|grep dmasm
ps -ef|grep dmserver
查看服务是否全部启动,并且通过监视器查看集群状态。