第一章 DMDSC集群介绍
文章目录
- 第二章 DMDSC集群搭建
- 五、DMDSC部署
- 5.1集群规划
- 5.2、存储规划
- 5.2.1划分存储(虚拟机一共分配了60G)
- 5.2.2挂存储方法1:直接挂
- 5.2.3挂存储方法2:多路径绑定
- 5.3、搭建DSC
- 5.3.1创建dmdcr_cfg.ini
- 5.3.2初始化磁盘组
- 5.3.3创建dmasvrmal.ini
- 5.3.4创建dmdcr.ini
- 5.3.5启动CSS、ASM服务
- 5.3.6创建DMASM磁盘组
- 5.3.7创建dminit.ini
- 5.3.8初始化实例
- 5.3.9创建dmarch.ini
- 5.3.10启动DMSERVER服务
- 5.3.11注册CSS、ASM、DMSERVER后台服务
- 5.4配置监视器
- 5.4.1创建dmcssm.ini
- 5.4.2注册服务
- 5.5启停服务
- 5.5.1启动监视器
- 5.5.2启停集群
服务器配置信息
A机器:小于2TB的存储使用fdisk命令来划分 [root@~]# fdisk /dev/sdb 1) 依次输入 n p 1 回车 +100M,完成第一块磁盘划分 2) 依次输入 n p 2 回车 +100M,完成第二块磁盘划分 3) 依次输入 n p 3 回车 +20480M,完成第三块磁盘划分 4) 依次输入 n p 回车 回车 回车,完成第四块磁盘划分 5) 输入w命令,将裸设备划分的设置进行保存 A机器:大于2TB的需要使用parted命令来划分 [root@~]# parted /dev/sdb 1) 输入 mklabel gpt 回车,将MBR磁盘磁盘转换为gpt格式 2) 输入 mkpart primary 0 100 回车,完成第一块磁盘划分 3) 输入 mkpart primary 100 200 回车,完成第二块磁盘划分 4) 输入 mkpart primary 200 20680 回车,完成第三块磁盘划分 5) 输入 mkpart primary 20680 5498G 回车,完成第四块磁盘划分 6) 输入 quit 回车,完成磁盘划分 A机器、B机器依次执行 [root@~]# partprobe /dev/sdb5.2.2挂存储方法1:直接挂
A机器、B机器依次修改 [root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.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="dmdba", GROUP="dinstall", MODE="660" [root@~]# partprobe /dev/sdb [root@~]# reboot 注意:可通过blockdev --getsize64 /dev/raw/raw*命令查看设备大小。5.2.3挂存储方法2:多路径绑定
使用命令ll /dev/mappr和ll /dev/dm*查看对应设备的信息
例如,/dev/mapper/mpathg1对应dm-3,主设备编号为253,次设备编号为3
A机器、B机器依次修改
[root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.rules
ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="3",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="4",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="5",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="6",RUN+="/bin/raw /dev/raw/raw4 %M %m"
ACTION=="add",KERNEL=="raw[1-4]",OWNER="dmdba",GROUP="dinstall",MODE="660"
[root@~]# partprobe /dev/mapper/mpathg
[root@~]# reboot
注意:可通过blockdev --getsize64 /dev/raw/raw*命令查看设备大小。
5.3、搭建DSC
5.3.1创建dmdcr_cfg.ini
A机器、B机器配置相同 [dmdba@dmdsc01 config]$ vi dmdcr_cfg.ini DCR_N_GRP = 3 #集群环境有多少个GROUP,范围:1~16 DCR_VTD_PATH = /dev/raw/raw2 #Voting Disk Path DCR_OGUID = 45331 [GRP] #新建一个GROUP DCR_GRP_TYPE = CSS #组类型(CSS/ASM/DB) DCR_GRP_NAME = GRP_CSS #组名 DCR_GRP_N_EP = 2 #组内节点个数 DCR_GRP_DSKCHK_CNT = 60 #磁盘心跳容错时间,单位:秒 [GRP_CSS] DCR_EP_NAME = CSS0 #CSS节点名 DCR_EP_HOST = 192.168.10.100 #心跳地址 DCR_EP_PORT = 5336 #CSS端口 [GRP_CSS] DCR_EP_NAME = CSS1 DCR_EP_HOST = 192.168.10.101 DCR_EP_PORT = 5337 [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 #ASM节点名,和dmasvrmal的MAL_INST_NAME一致 DCR_EP_SHM_KEY = 93360 #共享内存标识 DCR_EP_SHM_SIZE = 10 #共享内存大小 DCR_EP_HOST = 192.168.10.100 #心跳地址 DCR_EP_PORT = 5436 #ASM端口 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.10.101 DCR_EP_PORT = 5437 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 = DSC0 #实例名,和dm.ini的INSTANCE_NAME一致 DCR_EP_SEQNO = 0 #组内序号,不能重复 DCR_EP_PORT = 5236 #实例端口,和dm.ini的PORT_NUM一致 DCR_CHECK_PORT = 5536 #DCR检查端口 [GRP_DSC] DCR_EP_NAME = DSC1 DCR_EP_SEQNO = 1 DCR_EP_PORT = 5236 DCR_CHECK_PORT = 55375.3.2初始化磁盘组
A机器 [dmdba@dmdsc01 bin]$ ./dmasmcmd DMASMCMD V8 ASM> ASM>create dcrdisk '/dev/raw/raw1' 'dcr' [Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr Used time: 49.881(ms). ASM>create votedisk '/dev/raw/raw2' 'vote' [Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote Used time: 11.775(ms). ASM>create asmdisk '/dev/raw/raw3' 'LOG0' [Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMLOG0 Used time: 16.099(ms). ASM>create asmdisk '/dev/raw/raw4' 'DATA0' [Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMDATA0 Used time: 1.568(ms). ASM> ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/dsc/config/dmdcr_cfg.ini' identified by 'admin1234' [Trace]DG 126 alloc one extent for inodes, addr(disk_id, disk_auno, extent_no):(0,0,1). [Trace]DG 126 allocate 4 extents for file 0xfe000002. [Trace]DG 126 alloc 4 extents for 0xfe000002, addr(disk_id, disk_auno, extent_no):(0, 0, 2)->(0, 0, 5), need_init = 1. Used time: 107.381(ms). ASM>init votedisk '/dev/raw/raw2' from '/dm8/dsc/config/dmdcr_cfg.ini' [Trace]DG 125 alloc one extent for inodes, addr(disk_id, disk_auno, extent_no):(0,0,1). [Trace]DG 125 allocate 4 extents for file 0xfd000002. [Trace]DG 125 alloc 4 extents for 0xfd000002, addr(disk_id, disk_auno, extent_no):(0, 0, 2)->(0, 0, 5), need_init = 1. Used time: 61.020(ms).5.3.3创建dmasvrmal.ini
A机器、B机器配置相同 [dmdba@dmdsc01 config]$ vi dmasvrmal.ini [MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 192.168.10.100 #心跳地址 MAL_PORT = 5636 #MAL监听端口 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 192.168.10.101 MAL_PORT = 56375.3.4创建dmdcr.ini
A机器 [dmdba@dmdsc01 config]$ vi dmdcr.ini DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH = /dm8/dsc/config/dmasvrmal.ini DMDCR_SEQNO = 0 DMDCR_AUTO_OPEN_CHECK = 90 #DMDCR_ASM_RESTART_INTERVAL = 30 #CSS认定ASM故障重启的时间 #DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/dsc/config/dmdcr.ini #DMDCR_DB_RESTART_INTERVAL = 60 #CSS认定DSC故障重启的时间 #DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/dsc/config/dsc0_config/dm.ini dcr_ini=/dm8/dsc/config/dmdcr.ini B机器 [dmdba@dmdsc02 config]$ vi dmdcr.ini DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH = /dm8/dsc/config/dmasvrmal.ini DMDCR_SEQNO = 1 DMDCR_AUTO_OPEN_CHECK = 90 #DMDCR_ASM_RESTART_INTERVAL = 30 #CSS认定ASM故障重启的时间 #DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/dsc/config/dmdcr.ini #DMDCR_DB_RESTART_INTERVAL = 60 #CSS认定DSC故障重启的时间 #DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/dsc/config/dsc1_config/dm.ini dcr_ini=/dm8/dsc/config/dmdcr.ini 注意:当前为手动拉起A机器和B机器的ASM和DMSERVER服务。待集群配置完成后,再修改为自动拉起(删除dmdcr.ini中红色井号)。5.3.5启动CSS、ASM服务
A机器、B机器依次执行 [dmdba@dmdsc01 bin]$ dmcss DCR_INI=/dm8/dsc/config/dmdcr.ini DMCSS V8 DMCSS IS READY [2022-06-07 11:03:31:375] [CSS]: 设置EP CSS0[0]为控制节点 --B机器 [dmdba@dmdsc02 bin]$ dmcss DCR_INI=/dm8/dsc/config/dmdcr.ini DMCSS V8 DMCSS IS READY [2022-06-07 11:04:46:401] [CSS]: 设置EP CSS0[0]为控制节点 A机器、B机器依次执行 [dmdba@dmdsc01 bin]$ dmasmsvr DCR_INI=/dm8/dsc/config/dmdcr.ini ASM SELF EPNO:0 DMASMSVR V8 dmasmsvr task worker thread startup the ASM server is Ready. --B机器 [dmdba@dmdsc02 bin]$ dmasmsvr DCR_INI=/dm8/dsc/config/dmdcr.ini ASM SELF EPNO:1 DMASMSVR V8 dmasmsvr task worker thread startup the ASM server is Ready.5.3.6创建DMASM磁盘组
A机器 [dmdba@dmdsc01 bin]$ dmasmtool DCR_INI=/dm8/dsc/config/dmdcr.ini ASM> create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3' ASM> create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4' 日志信息: ASM Control Node EPNO:0 check css cmd: EP OPEN, cmd_seq: 12 check css cmd: EP REAL OPEN, cmd_seq: 15 [Trace]atsk_process_connect client is local(1) [Trace]atsk_process_connect success, client_is_local=1 [Trace]Pre-check asmdisk /dev/raw/raw3 [Trace]asvr2_sync_disk_pre_check code:0 [Trace]asm_disk_add: /dev/raw/raw3 [Trace]Create diskgroup DMLOG, with asmdisk /dev/raw/raw3 [Trace]DG 0 alloc one extent for inodes, addr(disk_id, disk_auno, extent_no):(0,0,1). [Trace]aptx op_type 1, log_len 1170, start seq 0 [Trace]generate one rpag seq 0. [Trace]generate one rpag seq 1. [Trace]generate one rpag seq 2. [Trace]aptx flush op_type 1, log_len 1170, start seq 3 [Trace]The disk metadata addr(0, 0) flush. [Trace]Pre-check asmdisk /dev/raw/raw4 [Trace]asvr2_sync_disk_pre_check code:0 [Trace]aptx op_type 1, log_len 15, start seq 3 [Trace]generate one rpag seq 3. [Trace]aptx flush op_type 1, log_len 15, start seq 4 [Trace]asm_disk_add: /dev/raw/raw4 [Trace]Create diskgroup DMDATA, with asmdisk /dev/raw/raw4 [Trace]DG 1 alloc one extent for inodes, addr(disk_id, disk_auno, extent_no):(0,0,1). [Trace]aptx op_type 1, log_len 1171, start seq 0 [Trace]generate one rpag seq 0. [Trace]generate one rpag seq 1. [Trace]generate one rpag seq 2. [Trace]aptx flush op_type 1, log_len 1171, start seq 3 [Trace]The disk metadata addr(1, 0) flush.5.3.7创建dminit.ini
A机器、B机器配置相同 [dmdba@dmdsc01 config]$ vi dminit.ini db_name = dsc system_path = +DMDATA/data main = +DMDATA/data/dsc/main.dbf main_size = 128 roll = +DMDATA/data/dsc/roll.dbf roll_size = 128 system = +DMDATA/data/dsc/system.dbf system_size = 128 ctl_path = +DMDATA/data/dsc/dm.ctl ctl_size = 8 log_size = 2048 dcr_path = /dev/raw/raw1 dcr_seqno = 0 auto_overwrite = 1 PAGE_SIZE = 32 CASE_SENSITIVE = Y CHARSET = 0 [DSC0] config_path = /dm8/dsc/config/dsc0_config port_num = 5236 mal_host = 192.168.10.100 mal_port = 5736 log_path = +DMLOG/log/dsc0_log01.log log_path = +DMLOG/log/dsc0_log02.log [DSC1] config_path = /dm8/dsc/config/dsc1_config port_num = 5236 mal_host = 192.168.10.101 mal_port = 5737 log_path = +DMLOG/log/dsc1_log01.log log_path = +DMLOG/log/dsc1_log02.log5.3.8初始化实例
A机器 --初始化实例 [dmdba@dmdsc01 config]$ dminit control=/dm8/dsc/config/dminit.ini initdb V8 db version: 0x7000c file dm.key not found, use default license! License will expire on 2023-03-04 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: +DMLOG/log/dsc0_log01.log log file path: +DMLOG/log/dsc0_log02.log log file path: +DMLOG/log/dsc1_log01.log log file path: +DMLOG/log/dsc1_log02.log write to dir [+DMDATA/data/dsc]. create dm database success. 2022-06-07 11:13:32 --拷贝文件到B机器 [dmdba@dmdsc01 config]$ scp -r /dm8/dsc/config/dsc1_config dmdba@192.168.10.101:/dm8/dsc/config/5.3.9创建dmarch.ini
A机器 --修改dm.ini [dmdba@dmdsc01 config]$ vi /dm8/dsc/config/dsc0_config/dm.ini ARCH_INI = 1 --创建dmarch.ini [dmdba@dmdsc01 config]$ vi /dm8/dsc/config/dsc0_config/dmarch.ini [ARCHIVE_LOCAL] ARCH_TYPE = LOCAL ARCH_DEST = /dm8/dsc/arch_0 ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 51200 [ARCHIVE_REMOTE] ARCH_TYPE = REMOTE ARCH_DEST = DSC1 ARCH_INCOMING_PATH = /dm8/dsc/arch_0_remote ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 51200 B机器 --修改dm.ini [dmdba@dmdsc02 config]$ vi /dm8/dsc/config/dsc1_config/dm.ini ARCH_INI = 1 --创建dmarch.ini [dmdba@dmdsc02 config]$ vi /dm8/dsc/config/dsc1_config/dmarch.ini [ARCHIVE_LOCAL] ARCH_TYPE = LOCAL ARCH_DEST = /dm8/dsc/arch_1 ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 51200 [ARCHIVE_REMOTE] ARCH_TYPE = REMOTE ARCH_DEST = DSC0 ARCH_INCOMING_PATH = /dm8/dsc/arch_1_remote ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 512005.3.10启动DMSERVER服务
A机器 [dmdba@dmdsc01 bin]$ dmserver /dm8/dsc/config/dsc0_config/dm.ini dcr_ini=/dm8/dsc/config/dmdcr.ini B机器 [dmdba@dmdsc02 bin]$ dmserver /dm8/dsc/config/dsc1_config/dm.ini dcr_ini=/dm8/dsc/config/dmdcr.ini5.3.11注册CSS、ASM、DMSERVER后台服务
A机器 [root@dmdsc01 root]# ./dm_service_installer.sh -t dmcss -dcr_ini /dm8/dsc/config/dmdcr.ini -p CSS Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServiceCSS.service to /usr/lib/systemd/system/DmCSSServiceCSS.service. 创建服务(DmCSSServiceCSS)完成 [root@dmdsc01 root]# ./dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/dsc/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM Created symlink from /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceASM.service to /usr/lib/systemd/system/DmASMSvrServiceASM.service. 创建服务(DmASMSvrServiceASM)完成 [root@dmdsc01 root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/dsc/config/dsc0_config/dm.ini -dcr_ini /dm8/dsc/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDSC.service to /usr/lib/systemd/system/DmServiceDSC.service. 创建服务(DmServiceDSC)完成 [root@dmdsc01 root]# B机器 [root@dmdsc02 root]# ./dm_service_installer.sh -t dmcss -dcr_ini /dm8/dsc/config/dmdcr.ini -p CSS Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServiceCSS.service to /usr/lib/systemd/system/DmCSSServiceCSS.service. 创建服务(DmCSSServiceCSS)完成 [root@dmdsc02 root]# ./dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/dsc/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM Created symlink from /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceASM.service to /usr/lib/systemd/system/DmASMSvrServiceASM.service. 创建服务(DmASMSvrServiceASM)完成 [root@dmdsc02 root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/dsc/config/dsc1_config/dm.ini -dcr_ini /dm8/dsc/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDSC.service to /usr/lib/systemd/system/DmServiceDSC.service. 创建服务(DmServiceDSC)完成 [root@dmdsc02 root]# 备注:删除自启 [root@dmdsc01 root]# ./dm_service_uninstaller.sh -n DmCSSServiceCSS [root@dmdsc01 root]# ./dm_service_uninstaller.sh -n DmASMSvrServiceASM [root@dmdsc01 root]# ./dm_service_uninstaller.sh -n DmServiceDSC5.4配置监视器 5.4.1创建dmcssm.ini
A机器、B机器配置相同 [dmdba@dmdsc01 bin]$ vi dmcssm.ini CSSM_OGUID = 45331 CSSM_CSS_IP = 192.168.10.100:5336 CSSM_CSS_IP = 192.168.10.101:5337 CSSM_LOG_PATH = ../log CSSM_LOG_FILE_SIZE = 512 CSSM_LOG_SPACE_LIMIT = 20485.4.2注册服务
[dmdba@dmdsc01 bin]$./dm_service_installer.sh -t dmcssm -cssm_ini /dm8/bin/dmcssm.ini -p Monitor 备注:删除自启 [dmdba@dmdsc01 bin]$./dm_service_uninstaller.sh -n DmCSSMonitorServiceMonitor5.5启停服务 5.5.1启动监视器
[dmdba@dmdsc01 bin]$ DmCSSMonitorServiceMonitor start 前台启动:[dmdba@dmdsc01 bin]$ dmcssm ini_path=/dm8/bin/dmcssm.ini [monitor] 2022-06-07 12:43:23: CSS MONITOR V8 [monitor] 2022-06-07 12:43:24: CSS MONITOR SYSTEM IS READY. [monitor] 2022-06-07 12:43:24: Wait CSS Control Node choosed... [monitor] 2022-06-07 12:43:25: Wait CSS Control Node choosed succeed.5.5.2启停集群
启动:A/B机器CSS A/B机器:[dmdba@dmdsc01 bin]$ /opt/dsc/dmdbms/bin/DmCSSServiceCSS start 说明:CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER。 停止: A/B机器DMSERVER→A/B机器ASM→A/B机器CSS A/B机器:[dmdba@dmdsc01 bin]$ DmServiceDSC stop A/B机器:[dmdba@dmdsc01 bin]$ DmASMSvrServiceASM stop A/B机器:[dmdba@dmdsc01 bin]$ DmCSSServiceCSS stop 说明: (1)、DSC正常停库必须2节点同时停止,根据目前脚本配置,CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER,所以停止DMSERVER和ASM后,要尽快停止CSS,避免被自动拉起。 (2)、ASM服务在任意节点停止,2个节点的ASM服务都会停止,为了保险起见,可以两边都执行停止命令。 (3)、服务全部停止后,要检查后台进程是否全部停止。



