ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdc4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba1", GROUP="dinstall1", MODE="660"
DCR_N_GRP = 3 #集群环境有多少个 GROUP,范围:1~16
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]
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 = 30.*.*.227 #心跳地址
DCR_EP_PORT = 9341 #CSS 端口
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 30.*.*.228
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 #ASM 节点名,和 dmasvrmal 的 MAL_INST_NAME 一致
DCR_EP_SHM_KEY = 93360 #共享内存标识
DCR_EP_SHM_SIZE = 1024 #共享内存大小
DCR_EP_HOST = 30.*.*.227 #心跳地址
DCR_EP_PORT = 9349 #ASM 端口
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 1024
DCR_EP_HOST = 30.*.*.228
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 #实例名,和 dm.ini 的 INSTANCE_NAME 一致
DCR_EP_SEQNO = 0 #组内序号,不能重复
DCR_EP_PORT = 5237 #实例端口,和 dm.ini 的 PORT_NUM 一致
DCR_CHECK_PORT = 9741 #DCR 检查端口
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5238
DCR_CHECK_PORT = 9742
ASM> create dcrdisk '/dev/raw/raw1' 'dcr'
ASM> create votedisk '/dev/raw/raw2' 'vote'
ASM> create asmdisk '/dev/raw/raw3' 'LOG0'
ASM> create asmdisk '/dev/raw/raw4' 'DATA0'
ASM> init dcrdisk '/dev/raw/raw1' from '/llf/dm8/config/dmdcr_cfg.ini' identified by 'Admin1234'
ASM> init votedisk '/dev/raw/raw2' from '/llf/dm8/config/dmdcr_cfg.ini'
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 30.*.*.227 #心跳地址
MAL_PORT = 7236 #MAL监听端口
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 30.*.*.228
MAL_PORT = 7237
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/llf/dm8/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 90
DMDCR_ASM_TRACE_LEVEL=2
#ASM 重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = /llf/dm8/bin/dmasmsvr dcr_ini=/llf/dm8/config/dmdcr.ini
#DB 重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /llf/dm8/bin/dmserver path=/llf/dm8/config/dsc0_config/dm.ini dcr_ini=/llf/dm8/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/llf/dm8/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 90
DMDCR_ASM_TRACE_LEVEL=2
#ASM 重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = /llf/dm8/bin/dmasmsvr dcr_ini=/llf/dm8/config/dmdcr.ini
#DB 重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = /llf/dm8/bin/dmserver path=/llf/dm8/config/dsc1_config/dm.ini dcr_ini=/llf/dm8/config/dmdcr.ini
# 启动css
/llf/dm8/bin/dmcss DCR_INI=/llf/dm8/config/dmdcr.ini
# 启动asm
/llf/dm8/bin/dmasmsvr DCR_INI=/llf/dm8/config/dmdcr.ini
/llf/dm8/bin/dmasmtool DCR_INI=/llf/dm8/config/dmdcr.ini
ASM> create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
ASM> create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
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
SYSDBA_PWD = Dameng123 #设置密码
SYSAUDITOR_PWD = Dameng123
[DSC0]
config_path = /llf/dm8/config/dsc0_config
port_num = 5237
mal_host = 30.*.*.227
mal_port = 5736
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1]
config_path = /llf/dm8/config/dsc1_config
port_num = 5238
mal_host = 30.*.*.228
mal_port = 5737
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
/llf/dm8/bin/dminit control=/llf/dm8/config/dminit.ini
CSSM_OGUID = 63635
CSSM_CSS_IP = 30.*.*.227:9341
CSSM_CSS_IP = 30.*.*.228:9343
CSSM_LOG_PATH = ../log
CSSM_LOG_FILE_SIZE = 512
CSSM_LOG_SPACE_LIMIT = 2048
#修改dm.ini
vi /llf/dm8/config/dsc0_config/dm.ini
ARCH_INI = 1
# 在同目录下新建dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/ARCH/DMDSC0/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048 #可根据实际磁盘大小增加
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMDATA/ARCH/DMDSC1/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
#修改dm.ini
vi /llf/dm8/config/dsc1_config/dm.ini
ARCH_INI = 1
# 在同目录下新建dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/ARCH/DMDSC1/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMDATA/ARCH/DMDSC0/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
/llf/dm8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /llf/dm8/config/dmdcr.ini -p CSS /llf/dm8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /llf/dm8/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM /llf/dm8/script/root/dm_service_installer.sh -t dmserver -dm_ini /llf/dm8/config/dsc0_config/dm.ini -dcr_ini /llf/dm8/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC -- 注册监视器服务 /llf/dm8/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /llf/dm8/config/dmcssm.ini -p Monitor
/llf/dm8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /llf/dm8/config/dmdcr.ini -p CSS /llf/dm8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /llf/dm8/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM /llf/dm8/script/root/dm_service_installer.sh -t dmserver -dm_ini /llf/dm8/config/dsc1_config/dm.ini -dcr_ini /llf/dm8/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
/llf/dm8/bin/DmCSSServiceCSS start
/llf/dm8/bin/DmASMSvrServiceASM start
/llf/dm8/bin/DmServiceDSC start
/llf/dm8/bin/DmServiceDSC stop
/llf/dm8/bin/DmASMSvrServiceASM stop
/llf/dm8/bin/DmCSSServiceCSS stop
# 启动监视器
/llf/dm8/bin/dmcssm INI_PATH=/llf/dm8/config/dmcssm.ini
# 停止数据库实例服务
ep stop GRP_DSC
# 停止asm服务
ep stop GRP_ASM
# 退出监视器
exit
# 两节点分别执行,停止css服务
/llf/dm8/bin/DmCSSServiceCSS stop
dsc集群搭建过程中启动asm失败,查看log目录下的日志dm_ASM0_202508.log,ASM0是ASM节点名,202508是操作时间。
发现无法连接另一个节点,30.30.30.128是心跳地址,7237是ASM端口。
此时采用如下命令查看本机ip。
ip r
发现本机心跳地址为30.*.*.227,再查询另一个节点的心跳地址为30.*.*.228,说明是心跳地址配置错误导致连接不上。
修改dmdcr_cfg.ini和dmasvrmal.ini中心跳地址相关配置,然后再次启动css和asm服务,发现asm可以成功启动。
dsc集群搭建过程中css启动失败报错信息如下:
DMCSS V8
comm_create_lsnr_sockets_low failed to create socket or listen port:9341, errno:107.
css_lsnr_thread failed to create socket or bind ip:*.*.*.71 port:9341, errno:107.
dmcss startup failed:[CODE:-l],error info:css_lsnr_create_sock failed,code:[-1]
显示创建或监听端口9341失败,9341是当前服务器在dmdcr_cfg.ini文件中配置的DCR_EP_PORT。
因为之前有过成功启动的经历,所以这里出现问题考虑是端口被占用,先查询一下是否有启动的css进程。
ps -ef | grep css
发现确实是之前的css服务没有关闭,于是关闭之前的css服务,再次启动发现可以成功启动。
搭建dsc集群创建dmdcr_cfg.ini,dmasvrmal.ini,dmdcr.ini之后,准备启动css和asm服务,但是asm服务启动失败,表现为两节点前台启动asm之后卡住,没有显示the ASM server is Ready。
搭建dsc集群的两台机器ip最后分别是71和72,在71机器上查看日志,进入安装目录log文件夹中(刚开始以为是71服务器,所以进行了如下操作,其实查询的是72服务器),查询到的报错信息如下所示:
... [ERROR] dmasmsvr ... Can't connect to DM server on '*.*.*.72' port(7237) errno(111)
报错信息显示无法连接72服务器的7237端口。之后查询防火墙状态,发现防火墙已关闭,再尝试从服务器ping 72服务器,发现可以ping通。查询72服务器的7237端口也没有占用,此时猜想并不是网络不通的原因,开始排查配置文件。
在dmdcr_cfg.ini和dmasvrmal.ini文件中71服务器是第0个节点,72服务器是第1个节点,dmasvrmal.ini文件内容如下:
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = *.*.*.71 #心跳地址
MAL_PORT = 7236 #MAL监听端口
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = *.*.*.72
MAL_PORT = 7237
dmdcr.ini文件中内容如下:
# 71服务器
DMDCR_PATH = /dev/iscsi/dm-dcrdg-asm01
DMDCR_MAL_PATH =/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
DMDCR_ASM_TRACE_LEVEL=2
#ASM 重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 0
#DMDCR_ASM_STARTUP_CMD = /dmdba/dmdbms/bin/dmasmsvr dcr_ini=/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 0
#DMDCR_DB_STARTUP_CMD = /dmdba/dmdbms/bin/dmserver path=/dmdba/config/dsc1_config/dm.ini dcr_ini=/dmdba/config/dmdcr.ini
# 72服务器
DMDCR_PATH = /dev/iscsi/dm-dcrdg-asm01
DMDCR_MAL_PATH =/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
DMDCR_ASM_TRACE_LEVEL=2
#ASM 重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 0
#DMDCR_ASM_STARTUP_CMD = /dmdba/dmdbms/bin/dmasmsvr dcr_ini=/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 0
#DMDCR_DB_STARTUP_CMD = /dmdba/dmdbms/bin/dmserver path=/dmdba/config/dsc0_config/dm.ini dcr_ini=/dmdba/config/dmdcr.ini
可以发现此时71服务器的DMDCR_SEQNO为1,而72服务器的为0,与前面两个配置文件相反,而初始化磁盘组使用的是dmdcr_cfg.ini,此时配置文件序号不一致导致asm启动失败。之后将dmdcr.ini文件中的序号修改,改为71服务器上DMDCR_SEQNO为0,而72服务器为1,还有命令行方式启动的dm.ini路径也要修改,再次启动css和asm可以成功启动。
文章
阅读量
获赞