DM8 DSC搭建

DMDSC DM data shared cluster
1 DMSC是一个多实例、单数据库的系统,数据文件、控制文件在集群系统中只有一份,各节点都有自己独立的联机日志和归档日志
2 DMDSC支持的共享存储有两种:裸设备和DMASM
3 DMDSC集群主要由数据库和数据库实例、共享存储、本地存储、通信网络以及集群控制软件DMCSS组成
4 数据库是一个文件集合,包括数据文件、临时文件、重做日志文件和控制文件等
数据库实例是一组操作系统进程以及一些内存。通过数据库实例可以操作数据库
5 本地存储用来保存dm.ini 、dmarch.ini 、dmmal.ini 、本地归档日志、远程归档日志
6 通信网络 网络分为内部网络和公共网络
内部网络:数据库实例之间交换信息和数据,MAL链路路使用的就是内部网络
公共网络用于对外提供数据库服务,用户使用公共网络地址登录DMDSC集群访问数据库
7 集群控制
DMCSS是一款集群控制软件,专门负责监控各节点的运行状态。
DMCSS是DM集群同步服务的简称,主要功能:管理集群的启动和关闭,控制节点故障处理、管理节点重加入流程
DMCSSM是集群监视器简称,获取并监控整个集群系统的状态信息。DMCSSM还提供了一系列的命令来管理、维护集群
DCR是DM集群注册表的简称,用于存储、维护集群配置的详细信息,整个集群环境共享DCR配置信息,包括DMDCS、DMASM、DMCSS资源,包括实例名、监听端口、集群中故障节点信息等
表决磁盘:记录集群成员信息,DM集群通过Voting Disk进行心跳检测,确定集群中节点的状态,判断节点是否出现故障。
HeartBeat心跳机制是通过Voting Disk的Disk Heartbeat这种机制只有超过最大延迟才认为监测对象故障
MAL链路 达梦数据库基于TCP协议实现的一种内部通信机制,具有可靠灵活高效的特性
共享内存
同一块物理内存被映射到多个进程的地址空间
VIP(虚拟IP地址),数据包被发送到这个VIP地址,但是所有的数据还是经过真实的网络接口。在集群环境中,应用通过VIP连接数据库服务器,实例故障后,把实例配置的VIP设置到其他活动节点(叫做IP漂移)

环境准备
硬件:两台相同配置机器, 2G 内存, 100G 本地磁盘, 2 块网卡,另有一块共享磁盘20G
操作系统: Centos7 64 位。
网 络 配 置 :两 台 机 器 外网:
10.12.21.17
10.12.21.18
内网网段
192.168.56.17
192.168.56.18。
DM 各种工具位于目录: /opt/dmdbms/bin。
配置文件位于目录: /home/data。

1、划分磁盘分区
[root@localhost ~]# fdisk -l
[root@localhost ~]# fdisk /dev/sdb
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 206847 102400 83 Linux
/dev/sdb2 206848 411647 102400 83 Linux
/dev/sdb3 411648 4605951 2097152 83 Linux
/dev/sdb4 4605952 41943039 18668544 83 Linux

2、编辑60-raw.rules文件
[root@loaclhost ~]# 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=“root”, GROUP=“root”, MODE=“660”

[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# systemctl restart systemd-udevd
使用blockdev --getsize64 /dev/raw/raw1查看裸设备大小

[root@loaclhost ~]# hostname dm01
[root@loaclhost ~]# vi /etc/hosts
[root@loaclhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.12.21.17 dm01
10.12.21.18 dm02

主库配置==========
[root@dm01 ~]# groupadd dinstall
[root@dm01 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@dm01 ~]# passwd dmdba

[root@dm01 ~]# su - dmdba
[dmdba@dm01 ~]$ mkdir dmdbms
[dmdba@dm01 ~]$ mkdir DM8_soft
[dmdba@dm01 ~]$ cd dmdbms
[dmdba@dm01 dmdbms]$ mkdir dmdbms
[dmdba@dm01 dmdbms]$ mkdir BAK
[dmdba@dm01 dmdbms]$ mkdir config
[dmdba@dm01 dmdbms]$ mkdir arch_0
[dmdba@dm01 dmdbms]$ mkdir arch_0_remote

备库配置----------------
[root@dm02 ~]# groupadd dinstall
[root@dm02 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@dm02 ~]# passwd dmdba

[root@dm02 ~]# su - dmdba
[dmdba@dm02 ~]$ mkdir dmdbms
[dmdba@dm02 ~]$ mkdir DM8_soft
[dmdba@dm02 ~]$ cd dmdbms/
[dmdba@dm02 dmdbms]$ mkdir dmdbms
[dmdba@dm02 dmdbms]$ mkdir BAK
[dmdba@dm02 dmdbms]$ mkdir config
[dmdba@dm02 dmdbms]$ mkdir arch_0
[dmdba@dm02 dmdbms]$ mkdir arch_0_remote

主库配置================
[dmdba@dm01 ~]$ cd dmdbms/config/
[dmdba@dm01 config]$ 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.56.17 #内网IP
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.56.18
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 = 10
DCR_EP_HOST = 192.168.56.17
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 = 10
DCR_EP_HOST = 192.168.56.18
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_RAC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_RAC]
DCR_EP_NAME = RAC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_RAC]
DCR_EP_NAME = RAC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742

[dmdba@dm01 config]$ scp dmdcr_cfg.ini dm02:/home/dmdba/dmdbms/config

[root@dm01 ~]# cd /home/dmdba/DM8_soft/
[root@dm01 DM8_soft]# mount -o loop dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt
mount: /dev/loop0 写保护,将以只读方式挂载
[root@dm01 DM8_soft]# cd /mnt
[root@dm01 mnt]# ls
DM8 Install.pdf DMInstall.bin
[root@dm01 mnt]# ls -l
总用量 659843
-r-xr-xr-x. 1 root root 3280977 6月 29 14:20 DM8 Install.pdf
-r-xr-xr-x. 1 root root 672397717 6月 29 15:48 DMInstall.bin
[root@dm01 mnt]# cp DMInstall.bin /home/dmdba/DM8_soft/
安装数据库

备库配置==============
[root@dm02 ~]# cd /home/dmdba/DM8_soft/
[root@dm02 DM8_soft]# mount -o loop dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt
mount: /dev/loop0 写保护,将以只读方式挂载
[root@dm02 DM8_soft]# cd /mnt
[root@dm02 mnt]# ll
总用量 659843
-r-xr-xr-x. 1 root root 3280977 6月 29 14:20 DM8 Install.pdf
-r-xr-xr-x. 1 root root 672397717 6月 29 15:48 DMInstall.bin
./DMInstall.bin -i 安装数据库

主库配置============
在任一节点启动dmasmcmd即可

cd /home/dmdba/dmdbms/dmdbms/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/dmdba/dmdbms/config/dmdcr_cfg.ini’ identified by ‘abcd’
init votedisk ‘/dev/raw/raw2’ from ‘/home/dmdba/dmdbms/config/dmdcr_cfg.ini’

配置dmasvrmal.ini文件,主备库配置内容一致
[dmdba@dm01 bin]$ cd /home/dmdba/dmdbms/config/
[dmdba@dm01 config]$ vi dmasvrmal.ini

[MAL_INST1]
MAL_INST_NAME=ASM0
MAL_HOST=192.168.56.17
MAL_PORT=7236
[MAL_INST2]
MAL_INST_NAME=ASM1
MAL_HOST=192.168.56.18
MAL_PORT=7237

[dmdba@dm01 config]$ scp dmasvrmal.ini dm02:/home/dmdba/dmdbms/config/
dmdba@dm02’s password:
dmasvrmal.ini 100% 136 175.8KB/s 00:00

配置dmdcr.ini文件,主备库差别为DMDCR_SEQNO为0和1
[dmdba@dm01 config]$ vi dmdcr.ini

DMDCR_PATH=/dev/raw/raw1
DMDCR_MAL_PATH=/home/dmdba/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO=0
DMDCR_ASM_RESTART_INTERVAL=30
DMDCR_ASM_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/DmASMSvrService_RAC0 start
DMDCR_DB_RESTART_INTERVAL=60
DMDCR_DB_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/DmService_RAC0 start

备库配置------------
[dmdba@dm02 ~]$ cd /home/dmdba/dmdbms/config/
[dmdba@dm02 config]$ vi dmdcr.ini

DMDCR_PATH=/dev/raw/raw1
DMDCR_MAL_PATH=/home/dmdba/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO=1
DMDCR_ASM_RESTART_INTERVAL=30
DMDCR_ASM_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/DmASMSvrService_RAC1 start
DMDCR_DB_RESTART_INTERVAL=60
DMDCR_DB_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/DmService_RAC1 start

主库启动css ,备库启动css 主库启动asmsvr,备库启动asmsvr
[dmdba@dm01 bin]$ ./dmcss DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
[dmdba@dm02 bin]$ ./dmcss DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
[dmdba@dm01 bin]# ./dmasmsvr DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
[dmdba@dm02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini

主库配置=============
[dmdba@dmrac01 bin]$ ./dmasmtool DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
create diskgroup ‘DMLOG’ asmdisk ‘/dev/raw/raw3’
create diskgroup ‘DMDATA’ asmdisk ‘/dev/raw/raw4’

[dmdba@dmrac01 config]$ cd /home/dmdba/dmdbms/dmdbms/bin
[dmdba@dmrac01 bin]$ ./dminit control=/home/dmdba/dmdbms/config/dminit.ini

[dmdba@dmrac01 config]$ scp -r rac1_config dmrac02:/home/dmdba/dmdbms/config

[dmdba@dmrac01 config]$ vi dmdcr.ini (注意path路径)

DMDCR_PATH=/dev/raw/raw1
DMDCR_MAL_PATH=/home/dmdba/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO=0
DMDCR_ASM_RESTART_INTERVAL=0
DMDCR_ASM_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL=0
DMDCR_DB_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/config/rac0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

备库配置----------
[dmdba@dmrac02 config]$ vi dmdcr.ini

DMDCR_PATH=/dev/raw/raw1
DMDCR_MAL_PATH=/home/dmdba/dmdbms/config/dmasvrmal.ini
DMDCR_SEQNO=1
DMDCR_ASM_RESTART_INTERVAL=0
DMDCR_ASM_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL=0
DMDCR_DB_STARTUP_CMD=/home/dmdba/dmdbms/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/config/rac1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

启动数据库服务,先起主库后起备库
[dmdba@dmrac01 bin]$ ./dmserver /home/dmdba/dmdbms/config/rac0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

[dmdba@dmrac02 bin]$ ./dmserver /home/dmdba/dmdbms/config/rac1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

主库备库都需注册服务:
cd /home/dmdba/dmdbms/dmdbms/script/root

注册CSS服务:
[root@dmrac01 root]# ./dm_service_installer.sh -t dmcss -p DMCSS -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini

注册ASM服务:
[root@dmrac01 root]# ./dm_service_installer.sh -t dmasmsvr -p DMASMSVR -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSServiceDMCSS

注册DMSERVER服务:
[root@dmrac01 root]# ./dm_service_installer.sh -t dmserver -p DMDSC1 -dm_ini /home/dmdba/dmdbms/config/rac0_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrServiceDMASMSVR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值