DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同 一个数据库的数据。
用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。 数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些 文件,这些文件保存在共享存储上。每个节点有自己独立的联机日志和归档日志,其中联机 日志保存在共享存储上,归档日志可以保存在本地存储上也可以保存在共享存储上。
DMDSC 集群主要由数据库和数据库实例、共享存储、DMASM或DMASM镜像、本地存储、 通信网络、集群控制软件DMCSS、集群监视器 DMCSSM 组成。下图展示了一个 DMDSC 集群系统结构图。
01.IP规划
02.磁盘规划
4块共享磁盘:2块较小的磁盘(2G)用于创建DCR、VOTE 磁盘;两块较大的磁盘,10G用于数据磁盘组DMDATA和5G用于联机日志磁盘组DMLOG。
03.目录规划
DSC 环境搭建的⽬录:/home/dmdba/dmdsc。
DM 执⾏码和⼯具存放于⽬录:/dmdata/data/bin。
配置⽂件存放于⽬录:
DSC01 机器/home/dmdba/dmdsc/data/DSC01
DSC02 机器/home/dmdba/dmdsc/data/DSC02
01.创建相关目录(使用dmdba用户创建)
12节点
mkdir -p /home/dmdba/dmdsc
mkdir -p /home/dmdba/dmdsc/bin
mkdir -p /home/dmdba/dmdsc/data/DSC01
11节点
mkdir -p /home/dmdba/dmdsc/data/DSC02
02.共享磁盘绑定(本文使用的为UUID做的磁盘绑定)
su - root
vi uuid.sh
for i in b c d e ;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"dm/asm-disk$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\"" >> /etc/udev/rules.d/88-dm-asmdevices.rules
done
绑定后会在/etc/udev/rules.d下生成88-dm-asmdevices.rules文件。
修改SYLINK+控制磁盘别名即可。两个节点都要执行。
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2975c72bccbdc5fffda0757985b", SYMLINK+="dm/asm-dmdata",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c292e6b2b1d1d8f31b8ecaffd3d5", SYMLINK+="dm/asm-dmdcr",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c296b7bcabc2bfc7765dbc08351d", SYMLINK+="dm/asm-dmlog",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c292a3c002239f1d36dbd383f8ff", SYMLINK+="dm/asm-dmvote",OWNER="dmdba", GROUP="dinstall",MODE="0660"
共享磁盘生效:
[root@dwz rules.d]# udevadm control --reload-rules
[root@dwz rules.d]# udevadm trigger --type=devices
赋权:
[root@dwz rules.d]#chown dmdba:dinstall /dev/dm/dm* -R
查看生效磁盘;
03.配置dmdcr_cfg.ini文件
一节点:
vim /home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini
二节点:
vim /home/dmdba/dmdsc/data/DSC02/dmdcr_cfg.ini
两个节点的文件内容相同
DCR_N_GRP = 3 #磁盘内多少个组
DCR_VTD_PATH = /dev/dm/dmvote #表决磁盘路径
DCR_OGUID = 63635 #消息标识
[GRP] #组1 CSS
DCR_GRP_TYPE = CSS #组类型
DCR_GRP_NAME = GRP_CSS #组名
DCR_GRP_N_EP = 2 #组内节点个数N, 最大值16
DCR_GRP_DSKCHK_CNT = 60 #磁盘心跳时间默认60s
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 10.10.11.12 #节点IP
DCR_EP_PORT = 9341 #节点监听端口号
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.11.11 #节点IP
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 = 10 #共享内存大小,单位m 10-1024
DCR_EP_HOST = 10.10.11.12
DCR_EP_PORT = 9342
DCR_EP_ASM_LOAD_PATH = /dev/dm #ASM扫描磁盘路径
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.10.11.11
DCR_EP_PORT = 9342
DCR_EP_ASM_LOAD_PATH = /dev/dm
[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 = 5236
DCR_CHECK_PORT = 9742
04.初始化磁盘组
一节点执行即可
[root@dwz ~]#dmasmcmd
create dcrdisk '/dev/dm/dmdcr' 'DCR'
create votedisk '/dev/dm/dmvote' 'VOTE'
create asmdisk '/dev/dm/dmlog' 'LOG'
create asmdisk '/dev/dm/dmdata' 'DATA'
init dcrdisk '/dev/dm/dmdcr' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini' identified by 'DMwbw0204'
init votedisk '/dev/dm/dmvote' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini'
05.配置dmasvrmal.ini(两节点相同)
一节点
vim /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini
二节点
vim /home/dmdba/dmdsc/data/DSC02/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 10.10.11.12
MAL_PORT = 15525
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 10.10.11.11
MAL_PORT = 15525
06.配置 dmdcr.ini
一节点
vim /home/dmdba/dmdsc/data/DSC01/dmdcr.ini
DMDCR_PATH = /dev/dm/dmdcr
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 111
DMDCR_ASM_TRACE_LEVEL = 2
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /dmdata/data/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /dmdata/data/bin/dmserver path=/home/dmdba/dmdsc/data/DSC01/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
二节点
vim /home/dmdba/dmdsc/data/DSC02/dmdcr.ini
DMDCR_PATH = /dev/dm/dmdcr
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 111
DMDCR_ASM_TRACE_LEVEL = 2
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /dmdata/data/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /dmdata/data/bin/dmserver path=/home/dmdba/dmdsc/data/DSC02/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
07.启动DMCSS、DMASM服务
一节点:
nohup dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini > /home/dmdba/dmdsc/data/DSC01/nohup_css.log 2>&1 &
nohup dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini > /home/dmdba/dmdsc/data/DSC01/nohup_asmsvr.log 2>&1 &
二节点:
nohup dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini > /home/dmdba/dmdsc/data/DSC02/nohup_css.log 2>&1 &
nohup dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini > /home/dmdba/dmdsc/data/DSC02/nohup_asmsvr.log 2>&1 &
08.创建DMASM磁盘组(只需在一节点执行)
进入bin目录下
./dmasmtool dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
#创建日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/dm/dmlog'
#创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/dm/dmdata'
09.创建 dminit.ini 文件(只在一节点创建)
vim /home/dmdba/dmdsc/data/DSC01/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 = 400 #log硬盘存储空间小,而log_size设置过大会引发-7013报错
dcr_path = /dev/dm/dmdcr
dcr_seqno = 0
auto_overwrite = 1
[DSC0]
config_path = /home/dmdba/dmdsc/data/DSC01
port_num = 5236
page_size=32
extent_size=32
case_sensitive=0
charset=1
mal_host = 10.10.11.12
mal_port = 9340
log_path = +DMLOG/dsc0_log01.log
log_path = +DMLOG/dsc0_log02.log
[DSC1]
config_path = /home/dmdba/dmdsc/data/DSC02
port_num = 5236
page_size=32
extent_size=32
case_sensitive=0
charset=1
mal_host = 10.10.11.11
mal_port = 9340
log_path = +DMLOG/dsc1_log01.log
log_path = +DMLOG/dsc1_log02.log
10.在 db0 节点执行初始化 db 命令(只在一节点执行)
dminit control=/home/dmdba/dmdsc/data/DSC01/dminit.ini
将一节点初始化后的/home/dmdba/dmdsc/data/下的DSC02文件拷贝到二节点的目录下
scp -r /home/dmdba/dmdsc/data/DSC02/ dmdba@10.10.11.11:/home/dmdba/dmdsc/data/DSC02
11.配置归档文件
先将两个节点上的dm.ini中的ARCH_INI设置为1,然后配置dmarch.ini文件
一节点:
vi /home/dmdba/dmdsc/data/DSC01/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMLOG/DSC0/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH =+DMLOG/DSC1/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
二节点:
vi /home/dmdba/dmdsc/data/DSC02/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMLOG/DSC1/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH =+DMLOG/DSC0/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
12.注册服务
su - root
cd /dmdata/data/script/root
其中/dmdata/data/为数据库软件的安装位置。
一节点:
./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -p CSS
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdsc/data/DSC01/dm.ini -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
二节点:
./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdsc/data/DSC02/dmdcr.ini -p CSS
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdsc/data/DSC02/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdsc/data/DSC02/dm.ini -dcr_ini /home/dmdba/dmdsc/data/DSC02/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
因为配置了dmdcr的自启动,所以拉起css服务后会自动拉起asm和db。
13.配置监视器
一节点:
vi /home/dmdba/dmdsc/data/DSC01/dmcssm.ini
#取值和dmdcr_cfg.ini中的DCR_OGUID相同
CSSM_OGUID = 63635
#配置所有CSS的连接信息,和dmdcr_cfg.ini中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致
CSSM_CSS_IP =10.10.11.11:9341
CSSM_CSS_IP = 10.10.11.12:9341
CSSM_LOG_PATH = /home/dmdba/dmdsc/data/DSC01/cssmlog
CSSM_LOG_FILE_SIZE = 32
CSSM_LOG_SPACE_LIMIT = 4096
注册服务
./dm_service_installer.sh -t dmcssm -cssm_ini /home/dmdba/dmdsc/data/DSC01/dmcssm.ini -p Monitor
01.启动css服务
一节点,如图 自动拉起ASM和DB
二节点:
02.打开监视器
调用监视器到前台:
调用:
dmcssm ini_path=/home/dmdba/dmdsc/data/DSC01/dmcssm.ini
03.断电模拟,模拟一节点断电
查看当前服务状态:
结束!
https://eco.dameng.com/
文章
阅读量
获赞
