DM7如何使用裸设备搭建DMRAC
这篇文章主要介绍DM7如何使用裸设备搭建DMRAC,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、操作环境
主机 IP地址(对外服务) IP地址(内部通信) 实例名 操作系统
dmrac110.18.13.16510.10.10.165rac0Redhat6.7dmrac210.18.13.16610.10.10.166rac1Redhat6.7
共享存储
/dev/sdb1/dev/raw/raw1dcrdisk2G/dev/sdb2/dev/raw/raw2votingdisk2G/dev/sdb3/dev/raw/raw3datadisk12G/dev/sdb4/dev/raw/raw4datadisk22G/dev/sdb1/dev/raw/raw5datadisk32G/dev/sdb2/dev/raw/raw6datadisk42G/dev/sdb3/dev/raw/raw7logdisk12G/dev/sdb4/dev/raw/raw8logdisk22G/dev/sdb1/dev/raw/raw9logdisk32G/dev/sdb2/dev/raw/raw10logdisk42G/dev/sdb3/dev/raw/raw11logdisk52G/dev/sdb4/dev/raw/raw12logdisk62G
二、操作系统配置
1、关闭防火墙和SELINUX
[root@cs~]#serviceiptablesstopiptables:SettingchainstopolicyACCEPT:natmanglefilter[OK]iptables:Flushingfirewallrules:[OK]iptables:Unloadingmodules:[OK][root@cs~]#chkconfigiptablesoff[root@cs~]#setenforce0[root@cs~]#sed-is:^SELINUX=.*$:SELINUX=disabled:g/etc/selinux/config[root@cs~]#serviceiptablesstopiptables:SettingchainstopolicyACCEPT:natmanglefilter[OK]iptables:Flushingfirewallrules:[OK]iptables:Unloadingmodules:[OK][root@cs~]#chkconfigiptablesoff[root@cs~]#setenforce0[root@cs~]#sed-is:^SELINUX=.*$:SELINUX=disabled:g/etc/selinux/config
2、修改主机名
[root@cs~]#hostnamedm1[root@cs~]#sed-is:^HOSTNAME=.*$:HOSTNAME=dm1:g/etc/sysconfig/network[root@cs~]#hostnamedm2[root@cs~]#sed-is:^HOSTNAME=.*$:HOSTNAME=dm2:g/etc/sysconfig/network3、修改hosts文件[root@cs~]#echo">10.18.13.165dm1>10.18.13.166dm2">>/etc/hosts[root@cs~]#[root@cs~]#echo">10.18.13.165dm1>10.18.13.166dm2">>/etc/hosts[root@cs~]#
三、 安装达梦软件
安装操作详见Oracle Linux 7.1中安装达梦数据库DM7
四、绑定UDEV
[root@dm1rules.d]#vi99-dm-devices.rulesACTION=="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=="sdc1",RUN+="/bin/raw/dev/raw/raw5%N"ACTION=="add",KERNEL=="sdc2",RUN+="/bin/raw/dev/raw/raw6%N"ACTION=="add",KERNEL=="sdc3",RUN+="/bin/raw/dev/raw/raw7%N"ACTION=="add",KERNEL=="sdc4",RUN+="/bin/raw/dev/raw/raw8%N"ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw/dev/raw/raw9%N"ACTION=="add",KERNEL=="sdd2",RUN+="/bin/raw/dev/raw/raw10%N"ACTION=="add",KERNEL=="sdd3",RUN+="/bin/raw/dev/raw/raw11%N"ACTION=="add",KERNEL=="sdd4",RUN+="/bin/raw/dev/raw/raw12%N"ACTION=="add",KERNEL=="raw[1-12]",OWNER="dmdba",GROUP="dinstall",MODE="660"[root@dm1rules.d]#start_udevStartingudev:[OK][root@dm1rules.d]#ls-lrt/dev/raw/total0crw-rw----1rootdisk162,0May716:28rawctlcrw-rw----1dmdbadinstall162,9May716:28raw9crw-rw----1dmdbadinstall162,12May716:28raw12crw-rw----1dmdbadinstall162,11May716:28raw11crw-rw----1dmdbadinstall162,10May716:28raw10crw-rw----1dmdbadinstall162,6May716:28raw6crw-rw----1dmdbadinstall162,1May716:28raw1crw-rw----1dmdbadinstall162,7May716:28raw7crw-rw----1dmdbadinstall162,8May716:28raw8crw-rw----1dmdbadinstall162,5May716:28raw5crw-rw----1dmdbadinstall162,2May716:28raw2crw-rw----1dmdbadinstall162,3May716:28raw3crw-rw----1dmdbadinstall162,4May716:28raw4[root@dm2/]#cd/etc/udev/rules.d/[root@dm2rules.d]#vi99-dm-devices.rulesACTION=="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=="sdc1",RUN+="/bin/raw/dev/raw/raw5%N"ACTION=="add",KERNEL=="sdc2",RUN+="/bin/raw/dev/raw/raw6%N"ACTION=="add",KERNEL=="sdc3",RUN+="/bin/raw/dev/raw/raw7%N"ACTION=="add",KERNEL=="sdc4",RUN+="/bin/raw/dev/raw/raw8%N"ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw/dev/raw/raw9%N"ACTION=="add",KERNEL=="sdd2",RUN+="/bin/raw/dev/raw/raw10%N"ACTION=="add",KERNEL=="sdd3",RUN+="/bin/raw/dev/raw/raw11%N"ACTION=="add",KERNEL=="sdd4",RUN+="/bin/raw/dev/raw/raw12%N"ACTION=="add",KERNEL=="raw[1-12]",OWNER="dmdba",GROUP="dinstall",MODE="660"[root@dm2rules.d]#start_udevStartingudev:[OK][root@dm2rules.d]#ls-lrt/dev/raw/total0crw-rw----1rootdisk162,0May716:28rawctlcrw-rw----1dmdbadinstall162,9May716:28raw9crw-rw----1dmdbadinstall162,12May716:28raw12crw-rw----1dmdbadinstall162,11May716:28raw11crw-rw----1dmdbadinstall162,10May716:28raw10crw-rw----1dmdbadinstall162,6May716:28raw6crw-rw----1dmdbadinstall162,1May716:28raw1crw-rw----1dmdbadinstall162,7May716:28raw7crw-rw----1dmdbadinstall162,8May716:28raw8crw-rw----1dmdbadinstall162,5May716:28raw5crw-rw----1dmdbadinstall162,2May716:28raw2crw-rw----1dmdbadinstall162,3May716:28raw3crw-rw----1dmdbadinstall162,4May716:28raw4
可以通过blockdev --getsize64 /dev/raw/raw1命令查看裸设备大小
[root@dm1rules.d]#blockdev--getsize64/dev/raw/raw12154991104[root@dm2~]#blockdev--getsize64/dev/raw/raw12154991104
六、配置dmdcr_cfg.ini文件
在2个节点的/dm7/data目录下创建配置文件dmdcr_cfg.ini,仅使用裸设备,不使用ASM文件系统,不需要配置ASM信息,仅配置CSS/DB信息。在文件中添加如下内容:
[dmdba@dm1dm7]$mkdirdata[dmdba@dm1dm7]$cddata[dmdba@dm1data]$vidmdcr_cfg.iniDCR_N_GRP=2DCR_VTD_PATH=/dev/raw/raw2DCR_OGUID=63635[GRP]DCR_GRP_TYPE=CSSDCR_GRP_NAME=GRP_CSSDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_CSS]DCR_EP_NAME=CSS0DCR_EP_HOST=10.10.10.165DCR_EP_PORT=9541[GRP_CSS]DCR_EP_NAME=CSS1DCR_EP_HOST=10.10.10.166DCR_EP_PORT=9542[GRP]DCR_GRP_TYPE=DBDCR_GRP_NAME=GRP_RACDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_RAC]DCR_EP_NAME=RAC0DCR_EP_SEQNO=0DCR_EP_PORT=5236DCR_CHECK_PORT=9741[GRP_RAC]DCR_EP_NAME=RAC1DCR_EP_SEQNO=1DCR_EP_PORT=5236DCR_CHECK_PORT=9742[dmdba@dm2dm7]$mkdirdata[dmdba@dm2dm7]$cddata[dmdba@dm2data]$vidmdcr_cfg.iniDCR_N_GRP=2DCR_VTD_PATH=/dev/raw/raw2DCR_OGUID=63635[GRP]DCR_GRP_TYPE=CSSDCR_GRP_NAME=GRP_CSSDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_CSS]DCR_EP_NAME=CSS0DCR_EP_HOST=10.10.10.165DCR_EP_PORT=9541[GRP_CSS]DCR_EP_NAME=CSS1DCR_EP_HOST=10.10.10.166DCR_EP_PORT=9542[GRP]DCR_GRP_TYPE=DBDCR_GRP_NAME=GRP_RACDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_RAC]DCR_EP_NAME=RAC0DCR_EP_SEQNO=0DCR_EP_PORT=5236DCR_CHECK_PORT=9741[GRP_RAC]DCR_EP_NAME=RAC1DCR_EP_SEQNO=1DCR_EP_PORT=5236DCR_CHECK_PORT=9742
七、使用 DMASMCMD 工具初始化(任意一节点执行)
[dmdba@dm1~]$dmasmcmdDMASMCMDV7.1.6.46-Build(2018.02.08-89107)ENTASM>createdcrdisk'/dev/raw/raw1''dcr'theASMinitializedcrdisk/dev/raw/raw1tonameDMASMdcrUsedtime:1.459(ms).ASM>createvotedisk'/dev/raw/raw2''vote'theASMinitializevotedisk/dev/raw/raw2tonameDMASMvoteUsedtime:1.380(ms).ASM>initdcrdisk'/dev/raw/raw1'from'/dm7/data/dmdcr_cfg.ini'syntaxerrorasmcmdparsefailed!ASM>initdcrdisk'/dev/raw/raw1'from'/dm7/data/dmdcr_cfg.ini'identifiedby'dameng123'[Trace]DG126allocate4extentsforfile0xfe000002.Checkdcrdiskfailed,pleasecheckandtryagainUsedtime:271.543(ms).ASM>initdcrdisk'/dev/raw/raw1'from'/dm7/data/dmdcr_cfg.ini'identifiedby'dameng123'[Trace]DG126allocate4extentsforfile0xfe000002.Usedtime:68.745(ms).ASM>initvotedisk'/dev/raw/raw2'from'/dm7/data/dmdcr_cfg.ini'[Trace]DG125allocate4extentsforfile0xfd000002.Usedtime:33.488(ms).
八、操作系统配置准备配置dminit.ini文件,存放在/dm7/data目录中
system_path=/dm7/datadb_name=racmain=/dev/raw/raw3main_size=128roll=/dev/raw/raw4roll_size=128system=/dev/raw/raw5system_size=128ctl_path=/dev/raw/raw6ctl_size=8dcr_path=/dev/raw/raw1dcr_seqno=0[rac0]config_path=/dm7/data/rac0_configport_num=5236mal_host=10.10.10.165mal_port=9340log_size=256log_path=/dev/raw/raw7log_path=/dev/raw/raw8[rac1]config_path=/dm7/data/rac1_configport_num=5236mal_host=10.10.10.166mal_port=9341log_size=256log_path=/dev/raw/raw9log_path=/dev/raw/raw10
九、准备dmdcr.ini 配置文件
dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的输入参数。记录了当前节点序列号以及 DCR 磁盘路径。在2个节点的/dm/dmdbms/data目录下创建dmdcr.ini 配置文件,dmdcr_path 相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为 0 和 1。
节点 1:
[dmdba@dmrac1data]$vidmdcr.iniDMDCR_PATH=/dev/raw/raw1DMDCR_SEQNO=0#ASMDMDCR_ASM_RESTART_INTERVAL=0DMDCR_ASM_STARTUP_CMD=/dm7/bin/dmasmsvrdcr_ini=/dm7/data/dmdcr.ini#DBDMDCR_DB_RESTART_INTERVAL=0DMDCR_DB_STARTUP_CMD=/dm7/bin/dmserverpath=/dm7/data/rac0_config/dm.inidcr_ini=/dm7/data/dmdcr.ini
节点2:
[dmdba@dmrac2data]$vidmdcr.iniDMDCR_PATH=/dev/raw/raw1DMDCR_SEQNO=1#ASMDMDCR_ASM_RESTART_INTERVAL=0DMDCR_ASM_STARTUP_CMD=/dm7/bin/dmasmsvrdcr_ini=/dm7/data/dmdcr.ini#DBDMDCR_DB_RESTART_INTERVAL=0DMDCR_DB_STARTUP_CMD=/dm7/bin/dmserverpath=/dm7/data/rac1_config/dm.inidcr_ini=/dm7/data/dmdcr.ini
十、启动DMCSS 服务程序
1、注册 DMCSS服务
节点一:
[root@dm1~]#/dm7/script/root/dm_service_installer.sh-tdmcss-i/dm7/data/dmdcr.ini-prac1Movetheservicescriptfile(/dm7/bin/DmCSSServicerac1to/etc/rc.d/init.d/DmCSSServicerac1)Finishedtocreatetheservice(DmCSSServicerac1)
节点二:
[root@dm2~]#/dm7/script/root/dm_service_installer.sh-tdmcss-i/dm7/data/dmdcr.ini-prac2Movetheservicescriptfile(/dm7/bin/DmCSSServicerac2to/etc/rc.d/init.d/DmCSSServicerac2)Finishedtocreatetheservice(DmCSSServicerac2)
2、启动DMCSS 服务
节点一:
[root@dm1~]#serviceDmCSSServicerac1startStartingDmCSSServicerac1:[OK]
节点二:
[root@dm2~]#serviceDmCSSServicerac2startStartingDmCSSServicerac2:[OK]
十一、操作系统配置使用dminit初始化DB环境
在任意节点启动 dminit 工具初始化数据库。dminit 执行完成后,会在 config_path 目录(/dm7/data/rac0_config 和/dm7/data/rac1_config)下生成配置文件 dm.ini 和 dmmal.ini。
[dmdba@dm1data]$dminitcontrol=/dm7/data/dminit.iniinitdbV7.1.6.46-Build(2018.02.08-89107)ENTdbversion:0x7000afiledm.keynotfound,usedefaultlicense!Licensewillexpirein14day(s)on2020-05-21logfilepath:/dev/raw/raw7logfilepath:/dev/raw/raw8logfilepath:/dev/raw/raw9logfilepath:/dev/raw/raw10FILE"/dev/raw/raw5"hasalreadyexistedFILE"/dev/raw/raw4"hasalreadyexistedFILE"/dev/raw/raw3"hasalreadyexistedFILE"/dev/raw/raw6"hasalreadyexistedFILE"/dev/raw/raw7"hasalreadyexistedFILE"/dev/raw/raw8"hasalreadyexistedFILE"/dev/raw/raw9"hasalreadyexistedFILE"/dev/raw/raw10"hasalreadyexistedFile"/dev/raw/raw5"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw4"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw3"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw6"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw7"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw8"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw9"hasalreadyexisted,whetheroverwrite(y/n,1/0):yFile"/dev/raw/raw10"hasalreadyexisted,whetheroverwrite(y/n,1/0):ywritetodir[/dm7/data/rac].createdmdatabasesuccess.2020-05-0716:41:52
将节点一的配置文件复制到节点二:
[dmdba@dm1data]$scp-rrac1_config10.18.13.166:`pwd`Theauthenticityofhost'10.18.13.166(10.18.13.166)'can'tbeestablished.RSAkeyfingerprintis89:fc:3e:e3:2d:27:94:07:0e:6b:fc:c5:e8:89:44:1f.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'10.18.13.166'(RSA)tothelistofknownhosts.dmdba@10.18.13.166'spassword:sqllog.ini100%4790.5KB/s00:00dm.ini100%40KB39.8KB/s00:00dmmal.ini100%2040.2KB/s00:00[dmdba@dm1data]$
一定要将节点一/dm7/data/目录中生成的rac目录复制到节点二的/dm7/data目录中,否则在节点二中启动数据库时会出现以下错误,原因就是因为使用裸设备时生成的rac目录及其文件不是存储在共享存储中可以让集群节点都能访问。
StartingDmServicerac2:[FAILED]filedm.keynotfound,usedefaultlicense!Readiniwarning,defaultdm.ctlbackuppath[/dm7/data/rac/ctl_bak]doesnotexist.Readinierror,name:SYSTEM_PATH,value:/dm7/data/racdmserverstartupfailed,code=-803[Invalidiniconfigvalue]
将节点一/dm7/data/目录中生成的rac目录复制到节点二的/dm7/data目录
[dmdba@dm1data]$scp-rrac10.18.13.166:`pwd`dmdba@10.18.13.166'spassword:dm_20200507164149_942994.ctl100%61446.0KB/s00:00TEMP0.DBF100%10MB10.0MB/s00:00dm_service.prikey100%6330.6KB/s00:00
十二、启动数据库服务器
1、在2个节点分别注册DM 数据库服务:
节点一:
[root@dm1~]#/dm7/script/root/dm_service_installer.sh-tdmserver-i/dm7/data/rac0_config/dm.ini-d/dm7/data/dmdcr.ini-prac1Movetheservicescriptfile(/dm7/bin/DmServicerac1to/etc/rc.d/init.d/DmServicerac1)Finishedtocreatetheservice(DmServicerac1)
节点二:
[root@dm2~]#/dm7/script/root/dm_service_installer.sh-tdmserver-i/dm7/data/rac1_config/dm.ini-d/dm7/data/dmdcr.ini-prac2Movetheservicescriptfile(/dm7/bin/DmServicerac2to/etc/rc.d/init.d/DmServicerac2)Finishedtocreatetheservice(DmServicerac2)
2、启动数据库
[root@dm1~]#serviceDmServicerac1startStartingDmServicerac1:[OK][root@dm2~]#serviceDmServicerac2startStartingDmServicerac2:[OK]
手工启动命令如下,手工启动后窗口不能关闭,所以
./dmserver/dm7/data/rac0_config/dm.inidcr_ini=/dm7/data/dmdcr.ini./dmserver/dm7/data/rac1_config/dm.inidcr_ini=/dm7/data/dmdcr.ini
十三、操作系统配置连接数据库验证
13.1配置服务名文件
[dmdba@dm1data]$vi/etc/dm_svc.confrac=(10.18.13.165:5236,10.18.13.166:5236)SWITCH_TIME=(10000)SWITCH_INTERVAL=(10)TIME_ZONE=(480)LANGUAGE=(en)[dmdba@dm2rac]$vi/etc/dm_svc.confTIME_ZONE=(480)rac=(10.18.13.165:5236,10.18.13.166:5236)SWITCH_TIME=(10000)SWITCH_INTERVAL=(10)TIME_ZONE=(480)LANGUAGE=(en)
13.2 连接RAC集群
节点一:
[dmdba@dm1data]$disqlSYSDBA/SYSDBA@racServer[10.18.13.166:5236]:modeisnormal,stateisopenloginusedtime:9.596(ms)disqlV7.1.6.46-Build(2018.02.08-89107)ENTConnectedto:DM7.1.6.46SQL>selectinstance_namefromv$instance;LINEIDINSTANCE_NAME-----------------------1RAC1usedtime:5.020(ms).Executeidis2.SQL>select*fromv$rac_ep_info;LINEIDEP_NAMEEP_SEQNOEP_GUIDEP_TIMESTAMPEP_MODEEP_STATUS------------------------------------------------------------------------------------1RAC0029826249752982625916MASTEROK2RAC1129830983352983098713SLAVEOKusedtime:7.731(ms).Executeidis3.
节点二:
SQL>selectinstance_namefromv$instance;LINEIDINSTANCE_NAME-----------------------1RAC1usedtime:117.515(ms).Executeidis1.SQL>select*fromv$rac_ep_info;LINEIDEP_NAMEEP_SEQNOEP_GUIDEP_TIMESTAMPEP_MODEEP_STATUS------------------------------------------------------------------------------------1RAC0029826249752982632228MASTEROK2RAC1129830983352983105025SLAVEOKusedtime:4.439(ms).Executeidis4.
13.3测试故障重连
[dmdba@dm2rac]$disqlSYSDBA/SYSDBA@racServer[10.18.13.166:5236]:modeisnormal,stateisopenloginusedtime:6.728(ms)disqlV7.1.6.46-Build(2018.02.08-89107)ENTConnectedto:DM7.1.6.46SQL>selectinstance_namefromv$instance;LINEIDINSTANCE_NAME-----------------------1RAC1usedtime:117.515(ms).Executeidis1.SQL>select*fromv$rac_ep_info;LINEIDEP_NAMEEP_SEQNOEP_GUIDEP_TIMESTAMPEP_MODEEP_STATUS------------------------------------------------------------------------------------1RAC0029826249752982632228MASTEROK2RAC1129830983352983105025SLAVEOKusedtime:4.439(ms).Executeidis4.
#此时连接的rac1,我们kill 进程:
[root@dm2~]#ps-ef|grepdm.inidmdba62311017:25pts/200:00:44/dm7/bin/dmserver/dm7/data/rac1_config/dm.iniDCR_INI=/dm7/data/dmdcr.ini-noconsoleroot108445237019:20pts/200:00:00grepdm.ini[root@dm2~]#kill-96231
#在查询,故障重连成功:
SQL>selectinstance_namefromv$instance;[-70065]:Connectionexception,switchthecurrentconnectionsucessful.[-70065]:Connectionexception,switchthecurrentconnectionsucessful.Server[10.18.13.165:5236]:modeisnormal,stateisopenSQL>selectinstance_namefromv$instance;LINEIDINSTANCE_NAME-----------------------1RAC0usedtime:9.443(ms).Executeidis807.SQL>select*fromv$rac_ep_info;LINEIDEP_NAMEEP_SEQNOEP_GUIDEP_TIMESTAMPEP_MODEEP_STATUS------------------------------------------------------------------------------------1RAC0029826249752982632568MASTEROK2RAC1129830983352983105240SLAVEERRORusedtime:3.184(ms).Executeidis808.
可以看到连接的实例从rac1变为了rac0
以上是“DM7如何使用裸设备搭建DMRAC”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。