DM8 DSC(ASM)搭建
-
环境
节点1:DSC0 192.168.18.20 7-02 节点2:DSC1 192.168.18.30 7-03 数据库版本:dm8.1 操作系统:centos7.6 虚拟机:vmware14 共享磁盘:10G /dev/sdb
-
划分磁盘
[root@7-02 ~]# fdisk /dev/sdb . 在共享磁盘上裸设备划分 1) 输入 fdisk /dev/sdb 2) 依次输入 n p 1 回车 +100M 回车,完成第一块磁盘划分 3) 依次输入 n p 2 回车 +100M 回车,完成第二块磁盘划分 4) 依次输入 n p 3 回车 +2048M 回车,完成第三块磁盘划分 5) 依次输入 n p 4 回车回车回车,完成第四块磁盘划分 然后分别重启两台虚拟机 [root@7-02 ~]# cat /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@7-03 ~]# cat /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"
-
任意一节点配置dmdcr_cfg.ini文件,这里使用192.168.18.20
[root@7-02 ~]# cat /dm8/dscdata/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.18.20 DCR_EP_PORT = 9341 [GRP_CSS] DCR_EP_NAME = CSS1 DCR_EP_HOST = 192.168.18.30 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.18.20 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.18.30 DCR_EP_PORT = 9351 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 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
-
192.168.18.20使用 DMASMCMD 工具初始化
[root@7-02 bin]# ./dmasmcmd DMASMCMD V8 ASM>create dcrdisk '/dev/raw/raw1' 'dcr' [Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr Used time: 2.118(ms). ASM>create votedisk '/dev/raw/raw2' 'vote' [Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote Used time: 0.929(ms). ASM>create asmdisk '/dev/raw/raw3' 'LOG0' [Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMLOG0 Used time: 0.851(ms). ASM>create asmdisk '/dev/raw/raw4' 'DATA0' [Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMDATA0 Used time: 1.025(ms). ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/dscdata/dmdcr_cfg.ini'identified by 'abcd' [Trace]DG 126 allocate 4 extents for file 0xfe000002. Used time: 39.364(ms). ASM>init votedisk '/dev/raw/raw2' from '/dm8/dscdata/dmdcr_cfg.ini' [Trace]DG 125 allocate 4 extents for file 0xfd000002. Used time: 13.708(ms).
-
准备 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),使用 DMASM 的所有节点都
要配置[root@7-02 ~]# cat /dm8/dscdata/dmasvrmal.ini [MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 192.168.18.20 MAL_PORT = 7236 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 192.168.18.30 MAL_PORT = 7237 [root@7-03 ~]# cat /dm8/dscdata/dmasvrmal.ini [MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 192.168.18.20 MAL_PORT = 7236 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 192.168.18.30 MAL_PORT = 7237
-
2台服务器都配置dmdcr.ini文件
[root@7-02 ~]# cat /dm8/dscdata/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/dscdata/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/dscdata/dsc0_config/dm.ini dcr_ini=/dm8/dscdata/dmdcr.ini
[root@7-03 ~]# cat /dm8/dscdata/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/dscdata/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/dscdata/dsc0_config/dm.ini dcr_ini=/dm8/dscdata/dmdcr.ini
-
2个节点分别启动 DMCSS、DMASM 服务程序
[root@7-02 bin]# ./dmcss DCR_INI=/dm8/dscdata/dmdcr.ini DMCSS V8 DMCSS IS READY [CSS]: 设置EP CSS0[0]为控制节点 [root@7-02 bin]# ./dmasmsvr DCR_INI=/dm8/dscdata/dmdcr.ini ASM SELF EPNO:0 DMASMSVR V8 [root@7-03 bin]# ./dmcss DCR_INI=/dm8/dscdata/dmdcr.ini DMCSS V8 DMCSS IS READY [CSS]: 设置EP CSS0[0]为控制节点 [root@7-03 bin]# ./dmasmsvr DCR_INI=/dm8/dscdata/dmdcr.ini ASM SELF EPNO:1 DMASMSVR V8 dmasmsvr task worker thread startup the ASM server is Ready. check css cmd: EP START, cmd_seq: 5 ASM Control Node EPNO:0 check css cmd: EP OPEN, cmd_seq: 9
-
任意一节点使用 dmasmtool 工具创建 DMASM 磁盘组,这里使用192.168.18.20
[root@7-02 bin]# ./dmasmtool DCR_INI=/dm8/dscdata/dmdcr.ini DMASMTOOL V8 ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3' Used time: 23.677(ms). ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4' Used time: 15.223(ms).
-
任意一节点配置 dminit.ini 文件,这里使用192.168.18.20
[root@7-02 bin]# cat /dm8/dscdata/dminit.ini db_name = dsc system_path = +DMDATA/dscdata system = +DMDATA/dscdata/dsc/system.dbf system_size = 128 roll = +DMDATA/dscdata/dsc/roll.dbf roll_size = 128 main = +DMDATA/dscdata/dsc/main.dbf main_size = 128 ctl_path = +DMDATA/dscdata/dsc/dm.ctl ctl_size = 8 log_size = 256 dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备 dcr_seqno = 0 auto_overwrite = 1 [DSC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应 config_path = /dm8/dscdata/dsc0_config port_num = 5236 mal_host = 192.168.18.20 mal_port = 9340 log_path = +DMLOG/log/dsc0_log01.log log_path = +DMLOG/log/dsc0_log02.log [DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应 config_path = /dm8/dscdata/dsc1_config port_num = 5237 mal_host = 192.168.18.30 mal_port = 9341 log_path = +DMLOG/log/dsc1_log01.log log_path = +DMLOG/log/dsc1_log02.log
-
192.168.18.20使用 dminit 初始化 DB 环境
[root@7-02 bin]# ./dminit control=/dm8/dscdata/dminit.ini initdb V8 db version: 0x7000a License will expire on 2021-01-02 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 FILE "+DMLOG/log/dsc0_log01.log" has already existed FILE "+DMLOG/log/dsc0_log02.log" has already existed FILE "+DMLOG/log/dsc1_log01.log" has already existed FILE "+DMLOG/log/dsc1_log02.log" has already existed write to dir [+DMDATA/dscdata/dsc]. create dm database success. 2020-08-01 00:54:17
-
启动数据库服务器
[root@7-02 bin]# scp -r /dm8/dscdata/dsc1_config 192.168.18.30:/dm8/dscdata/ [root@7-02 bin]# ./dmserver /dm8/dscdata/dsc0_config/dm.ini dcr_ini=/dm8/dscdata/dmdcr.ini version info: enterprise Use normal os_malloc instead of HugeTLB Use normal os_malloc instead of HugeTLB DM Database Server x64 V8 1-1-56-19.12.23-117493-ENT startup... Database mode = 0, oguid = 0 License will expire on 2021-01-02 [root@7-03 bin]# ./dmserver /dm8/dscdata/dsc1_config/dm.ini dcr_ini=/dm8/dscdata/dmdcr.ini version info: enterprise Use normal os_malloc instead of HugeTLB Use normal os_malloc instead of HugeTLB DM Database Server x64 V8 1-1-56-19.12.23-117493-ENT startup... Database mode = 0, oguid = 0 License will expire on 2021-01-02 check CSS cmd: DCR_LOAD, cmd_seq: 4 check CSS cmd: EP START, cmd_seq: 8 Control Node change from 255 to 0 .... ndct_db_load_info success. nsvr_process_before_open begin. nsvr_process_before_open success. SYSTEM IS READY. //刷到system is ready 表示启动成功
-
2个节点分别注册后台服务
//创建CSS服务: [root@7-02 ~]# sh /dm8/script/root/dm_service_installer.sh -t dmcss -p DAMENG -dcr_ini /dm8/dscdata/dmdcr.ini Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServiceDAMENG.service to /usr/lib/systemd/system/DmCSSServiceDAMENG.service. 创建服务(DmCSSServiceDAMENG)完成 //创建DMASM服务: [root@7-02 ~]# sh /dm8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm8/dscdata/dmdcr.ini -p DAMENG -y DmCSSServiceDAMENG Created symlink from /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceDAMENG.service to /usr/lib/systemd/system/DmASMSvrServiceDAMENG.service. 创建服务(DmASMSvrServiceDAMENG)完成 //创建DMSERVER服务: [root@7-02 ~]# sh /dm8/script/root/dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /dm8/dscdata/dsc0_config/dm.ini -y DmASMSvrServiceDAMENG 创建服务(DmServiceDAMENG)完成 关dsc集群顺序 关闭实例>关闭asm>关闭css 开dsc集群方式 启动css>启动asm>启动实例