一.环境准备
1.虚拟机两个节点,4块共享磁盘(1块DCR,1块VOTE,1块DMDATA,1块DMLOG),ip(192.168.40.128/10.12.21.204,192.168.40.129/10.12.21.205)
在 4 块共享磁盘中:2 块较小的磁盘(2G)用于创建 DCR、VOTE 磁盘;2 块较大的磁盘(20G/10G)用于创建 ASM 磁盘组(数据磁盘组 DMDATA 和联机日志磁盘组 DMLOG)
注意:节点2添加磁盘的时候,一定要设置为独立,永久磁盘,否则后边启动dmasmsrv的时候会报错
虚拟机添加完共享磁盘后,需要修改vwx的配置文件(需要关机修改),添加:
disk.EnableUUID = “TRUE”
disk.locking = “FALSE”
2.用户准备
groupadd dmdba
#在组dmdba(第一个)中创建一个用户dmdba(第二个)
useradd -g dmdba dmdba
#为用户dmdba设置密码
passwd dmdba
3.目录准备
两机器都要做。
使用 dmdba 用户创建用于 DSC 环境搭建的目录:/home/dmdba/dmdsc。
DM 执行码和工具存放于目录:/home/dmdba/dmdsc/bin。
配置文件存放于目录:128 机器/home/dmdba/dmdsc/data/DSC01
和 129 机器 /home/dmdba/dmdsc/data/DSC02。
4.创建用户和组dmdba/dmdba
mkdir -p /home/dmdba/dmdsc
mkdir -p /home/dmdba/dmdsc/bin
mkdir -p /home/dmdba/dmdsc/data/DSC01
5.Udev绑定磁盘
查看磁盘信息
[root@c7-01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb
36000c295c25ede9ace4bcb8778c1da84
[root@c7-01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
36000c29a3774f7c601ad9912663d65ec
[root@c7-01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd
36000c29b891029f02fc08de3a7241b09
[root@c7-01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sde
36000c29ec92a75b2aa8b0fb851c320b3
6.创建磁盘链接
Vi /etc/udev/rules.d/66-dmdevices.rules
KERNEL==“sd*”,SUBSYSTEM==“block”,PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/name",RESULT=="36000c295c25ede9ace4bcb8778c1da84",SYMLINK+="DCR",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh−c′chowndmdba:dmdba/dev/name;mkdir -p /dev_DSC2; ln -s /dev/DCR /dev_DSC2/DCR’"
KERNEL==“sd*”,SUBSYSTEM==“block”,PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/name",RESULT=="36000c29a3774f7c601ad9912663d65ec",SYMLINK+="VOTE",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh−c′chowndmdba:dmdba/dev/name; ln -s /dev/VOTE /dev_DSC2/VOTE’"
KERNEL==“sd*”,SUBSYSTEM==“block”,PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/name",RESULT=="36000c29b891029f02fc08de3a7241b09",SYMLINK+="DMLOG",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh−c′chowndmdba:dmdba/dev/name; ln -s /dev/DMLOG /dev_DSC2/DMLOG’"
KERNEL==“sd*”,SUBSYSTEM==“block”,PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/name",RESULT=="36000c29ec92a75b2aa8b0fb851c320b3",SYMLINK+="DMDATA",OWNER="dmdba",GROUP="dmdba",MODE="0660",RUN+="/bin/sh−c′chowndmdba:dmdba/dev/name; ln -s /dev/DMDATA /dev_DSC2/DMDATA ; chown -R dmdba:dmdba /dev_DSC2’"
重启 systemd-udev-trigger 服务。
systemctl restart systemd-udev-trigger
二.搭建两节点 DMDSC
1.搭建的配置文件分别存放于A机器的/home/dmdba/dmdsc/data/DSC01 和B机器的/home/dmdba/dmdsc/data/DSC02 下。
准备配置文件 DMDCR_CFG.INI 文件,保存到A机器的/home/dmdba/dmdsc/data/DSC01 下。
[dmdba@c7-01 DSC01]$ cat dmdcr_cfg.ini
DCR_N_GRP= 3
DCR_VTD_PATH=/dev_DSC2/VOTE
DCR_OGUID= 1071107589
[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.40.128
DCR_EP_PORT = 9836
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.40.129
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.40.128
DCR_EP_PORT= 5836
DCR_EP_ASM_LOAD_PATH= /dev_DSC2
[GRP_ASM]
DCR_EP_NAME= ASM1
DCR_EP_SHM_KEY= 54736
DCR_EP_SHM_SIZE= 512
DCR_EP_HOST= 192.168.40.129
DCR_EP_PORT= 5837
DCR_EP_ASM_LOAD_PATH= /dev_DSC2
[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.在A机器使用DMASMCMD工具初始化所有磁盘
/home/dmdba/dmdbms/bin/dmasmcmd
create dcrdisk ‘/dev_DSC2/DCR’ ‘DCR’
create votedisk ‘/dev_DSC2/VOTE’ ‘VOTE’
create asmdisk ‘/dev_DSC2/DMDATA’ ‘DMDATA’
create asmdisk ‘/dev_DSC2/DMLOG’ ‘DMLOG’
init dcrdisk ‘/dev_DSC2/DCR’ from ‘/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini’ identified by ‘SYSDBA’
init votedisk ‘/dev_DSC2/VOTE’ from ‘/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini’
3.配置DMASVRMAL.INI文件,保存到A机器的/home/dmdba/dmdsc/data/DSC01 下,B机器配置相同的dmasvrmal.ini
[dmdba@c7-01 DSC01]$ cat dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME= ASM0
MAL_HOST= 192.168.40.128
MAL_PORT= 4836
[MAL_INST2]
MAL_INST_NAME= ASM1
MAL_HOST= 192.168.40.129
MAL_PORT= 4837
4.配置dmdcr.ini文件,保存到A机器的/home/dmdba/dmdsc/data/DSC01 下。
[dmdba@c7-01 DSC01]$ cat dmdcr.ini
DMDCR_PATH = /dev_DSC2/DCR
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 90
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
DMDCR_LINK_CHECK_IP=192.168.40.130
5.配置B机器的dmdcr.ini文件
[dmdba@c7-01 DSC01]$ cat dmdcr.ini
DMDCR_PATH = /dev_DSC2/DCR
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC02/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 90
DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
DMDCR_LINK_CHECK_IP=192.168.40.130
启动DMCSS / DMASM服务
A节点DMCSS :
[dmdba@c7-01 bin]$ ./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
B节点DMCSS :
[dmdba@c7-02 DSC02]$ /home/dmdba/dmdbms/bin/dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
A节点换一个窗口启动DMASM:
[dmdba@c7-01 ~]$ cd dmdbms/bin
[dmdba@c7-01 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
B节点换一个窗口启动DMASM:
[dmdba@c7-02 ~]$ cd dmdbms/bin
[dmdba@c7-02 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
这时在A节点的DMCSS服务里边可以查看2个节点的状态
6.在节点A创建ASM磁盘组(DATA和LOG)
[dmdba@c7-01 ~]$ cd dmdbms/bin
[dmdba@c7-01 bin]$ ./dmasmtool dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
ASM>CREATE DISKGROUP DMDATA asmdisk ‘/dev_DSC2/DMDATA’
ASM>CREATE DISKGROUP DMLOG asmdisk ‘/dev_DSC2/DMLOG’
7.在节点A配置DMINIT.INI,放在/home/dmdba/dmdsc/data/DSC01目录下
DB_NAME= dsc2
SYSTEM_PATH= +DMDATA/data
SYSTEM= +DMDATA/data/dsc2/system.dbf
SYSTEM_SIZE= 128
ROLL= +DMDATA/data/dsc2/roll.dbf
ROLL_SIZE= 128
MAIN= +DMDATA/data/dsc2/main.dbf
MAIN_SIZE= 128
CTL_PATH= +DMDATA/data/dsc2/dm.ctl
LOG_SIZE= 2048
DCR_PATH= /dev_DSC2/DCR
DCR_SEQNO= 0
AUTO_OVERWRITE= 2
PAGE_SIZE = 16
EXTENT_SIZE = 16
[DSC01]
CONFIG_PATH= /home/dmdba/dmdsc/data/DSC01/DSC01_conf
PORT_NUM = 6636
MAL_HOST= 192.168.40.128
MAL_PORT= 6536
LOG_PATH= +DMLOG/log/DSC01_log1.log
LOG_PATH= +DMLOG/log/DSC01_log2.log
[DSC02]
CONFIG_PATH= /home/dmdba/dmdsc/data/DSC02/DSC02_conf
PORT_NUM = 6637
MAL_HOST= 192.168.40.129
MAL_PORT= 6537
LOG_PATH= +DMLOG/log/DSC02_log1.log
LOG_PATH= +DMLOG/log/DSC02_log2.log
8.使用dminit工具初始化一个节点的数据库环境,DMINIT 执行完成后,会在 config_path 目录(/home/dmdba/dmdsc/data/DSC01/DSC01_conf 和/home/dmdba/dmdsc/data/DSC02/DSC02_conf)下生成配置文件 DM.INI 和 DMMAL.INI
[dmdba@c7-01 bin]$ ./dminit control=/home/dmdba/dmdsc/data/DSC01/dminit.ini
9.使用拷贝的方式配置另一个节点的数据环境
将A机器上初始化库时产生的配置文件拷贝到B机器,之后就可以启动数据库服务器了
scp -r DSC02_conf 192.168.40.129:/home/dmdba/dmdsc/data/DSC02/
10.-------------------创建dmarch.ini----------------这一步不需要做================
A机器:
修改dm.ini的ARCH_INI = 1
创建dmarch.ini文件
[dmdba@c7-01 DSC02_conf]$ cat dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdsc/arch_0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC02
ARCH_INCOMING_PATH = /home/dmdba/dmdsc/arch_0_remote
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
B机器:
修改dm.ini的ARCH_INI = 1
创建dmarch.ini文件
[dmdba@c7-02 DSC02_conf]$ cat dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdsc/arch_1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC01
ARCH_INCOMING_PATH = /home/dmdba/dmdsc/arch_1_remote
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
三.启动DMSERVER服务
A机器:
/home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
B机器:
/home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
可以从DMCSS看到状态
四.注册CSS,ASM,DMSERVER后台服务
A机器:
[root@c7-01 root]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -p CSS
[root@c7-01 root]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
[root@c7-01 root]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
B机器:
[root@c7-02 DSC02]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdsc/data/DSC02/dmdcr.ini -p CSS
[root@c7-02 DSC02]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdsc/data/DSC02/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
[root@c7-02 DSC02]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini -dcr_ini /home/dmdba/dmdsc/data/DSC02/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
备注:删除自启:
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSServiceCSS
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmASMSvrServiceASM
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDSC
五.配置并启动DMCSSM监视器
配置DMCSSM.INI文件
DMCSSM 在任何机器上均可以启动,只要该台机器和 DMDSC 的真实机器网络是相通的,就可以监控 DMDSC 集群信息。
这里我们选择在A机器上搭建监视器。/home/dmdba/dmdsc/data 目录中 DMCSSM.INI 详细内容如下:
[dmdba@c7-01 bin]$ cat /home/dmdba/dmdbms/bin/dmcssm.ini
#和DMDCR_CFG.INI中的DCR_OGUID保持一致
CSSM_OGUID = 1071107589
#配置所有CSS的连接信息,
#与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致
CSSM_CSS_IP = 192.168.40.128:9836
CSSM_CSS_IP = 192.168.40.129:9837
CSSM_LOG_PATH = /home/dmdba/dmdsc/data/cssm_log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
创建DMCSSM的日志存放路径:
[dmdba@c7-01 bin]$ mkdir -p /home/dmdba/dmdsc/data/cssm_log
启动DMCSSM集群监视器
[dmdba@c7-01 bin]$ ./dmcssm ini_path=./dmcssm.ini
[monitor] 2024-10-25 00:43:52: CSS MONITOR V8
[monitor] 2024-10-25 00:44:17: CSS MONITOR SYSTEM IS READY.
[monitor] 2024-10-25 00:44:17: Wait CSS Control Node choosed…
[monitor] 2024-10-25 00:44:18: Wait CSS Control Node choosed succeed.
注册服务(选做)
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /home/dmdba/dmdbms/bin/dmcssm.ini -p Monitor
备注删除服务:
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSMonitorServiceMonitor
六.启停服务
1.启动监视器
后台启动:/home/dmdba/dmdbms/bin/DmCSSMonitorServiceMonitor start
前台启动:/home/dmdba/dmdbms/bin/dmcssm ini_path=/home/dmdba/dmdbms/bin/dmcssm.ini
2.启停集群
启动:A/B机器CSS
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmCSSServiceCSS start
说明:CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER。
停止: A/B机器DMSERVER→A/B机器ASM→A/B机器CSS
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmServiceDSC stop
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmASMSvrServiceASM stop
A/B机器:[dmdba@~]# /home/dmdba/dmdbms/bin/DmCSSServiceCSS stop
说明:1) DSC正常停库必须2节点同时停止,根据目前脚本配置,CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER,所以停止DMSERVER和ASM后,要尽快停止CSS,避免被自动拉起。
2)ASM服务在任意节点停止,2个节点的ASM服务都会停止,为了保险起见,可以两边都执行停止命令。
3)服务全部停止后,要检查后台进程是否全部停止。
七.配置客户端服务名方式连接
1.Windows环境:C:Windows/system32/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(CN)
DMDSC=(10.13.4.202:6636,10.13.4.203:6637)
[DMDSC]
SWITCH_TIMES=(3)
SWITCH_INTERVAL=(100)
LOGIN_MODE=(0)
2.DM管理工具配置连接
3.查看连接的当前实例
https://eco.dameng.com
文章
阅读量
获赞