首先进行环境准备
硬件:两台相同配置机器,3G 内存,23G 本地磁盘,2 块网卡,另有一块共享磁盘
20G。
操作系统:Ubuntu 64 位。
DM 各种工具位于目录:/dm8/tool。
配置文件位于目录:/dm8/data。
真实的生产环境中,建议至少配置两块共享磁盘,分别用来存放联机日志文
件和数据文件。
机器1上面添加一块新的硬盘,然后选择–>高级–>SCSI 0:1
机器2上面添加新硬盘,选择—>添加现有的磁盘,路径选择机器1添加新硬盘的路径,SCSI 1:1
找到机器2的.vmx,用记事本打开。
在最后一行添加如下两行:
disk.locking=“FALSE”
scsi1:1.SharedBus=“Virtual”
解释:
disk.locking=“FALSE” 取消这块硬盘被当前虚拟机的锁定,使其他虚拟机也可以同时加载这块盘;
Scsi1:1.SharedBus=“Virtual” 这里的 1:1 要和上面新增的一块盘对应的序号一致。
添加后,开启两台机器,输入 lsblk 都可以看到新增盘sdb
1.在服务器1上面操作
1>虚拟机添加新的一块磁盘,然后进行扫描
[root@localhost ~]# fdisk -l
在共享磁盘上裸设备划分
输入 fdisk /dev/sdb
依次输入 n p 1 回车 +100M 回车,完成第一块磁盘划分
依次输入 n p 2 回车 +100M 回车,完成第二块磁盘划分
依次输入 n p 3 回车 +2048M 回车,完成第三块磁盘划分
依次输入 n p 4 回车回车w(保存退出)
[root@localhost ~]# cd /etc/udev/rules.d/
[root@localhost rules.d]# vi 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=“dmdba”, GROUP=“dinstall”, MODE=“660”
[root@localhost rules.d]#/sbin/udevadm trigger --type=devices --action=change
(完成裸设备绑定)
可以通过 blockdev --getsize64 /dev/raw/raw1 命令查看裸设备大小
[root@localhost sysconfig]# blockdev --getsize64 /dev/raw/raw1
104857600
2.在服务器2上面操作
[root@localhost ~]# cd /etc/udev/rules.d/
[root@localhost rules.d]# vi 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=“dmdba”, GROUP=“dinstall”, MODE=“660”
[root@localhost rules.d]# /sbin/udevadm trigger --type=devices --action=change
(完成裸设备绑定)
可以通过 blockdev --getsize64 /dev/raw/raw1 命令查看裸设备大小
[root@localhost sysconfig]# blockdev --getsize64 /dev/raw/raw1
104857600
(如果识别不出来的话,建议重新进入fdisk /dev/sdb直接输入w保存退出,进行重新识别磁盘)
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# blockdev --getsize64 /dev/raw/raw1
104857600
3.搭建DSC集群
主机 IP 地址 实例名 操作系统 实例端口 MAL_PORT
db1 部 ⽹ 络: 192.168.48.133 DSC1 CentOS7 5236 7230
db2 部 ⽹ 络: 192.168.48.134 DSC2 CentOS7 5236 7231
前提准备:两个节点都安装了DM8软件,但不用初始化实例。创建目录的话,两个节点均要创建
DM8安装目录: /dm8
实例数据目录: /dm8/data/
[root@db1 dm8]# mkdir -p /dm8/data/
[root@db1 dm8]# chown -R dmdba:dinstall /dm8/data
[root@db1 dm8]# su - dmdba
[dmdba@db1 ~]$ cd /dm8/data
创建配置文件:使用 dmdba用户在 /dm8/data/ 下创建文件dmdcr_cfg.ini,
只需要在dsc1主节点上配置。
后续DMASMCMD工具执行 init 语句会使用到。
需要根据实际环境修改IP配置为rac节点的IP,其他内容可以保持不变。
注:不同节点服务器间对应的DCR_EP_PORT端口可以相同,但是两个服务器配的ASM的DCR_EP_SHM_KEY不能相同。
2>准备 dmdcr_cfg.ini 配置文件(主节点)
保存到/dm8/data/目录下面。后续 DMASMCMD
工具执行 init 语句会使用到。
vi 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.48.133
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.48.134
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.48.133
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.48.134
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
3>使用DMASMCMD工具初始化(主节点)
注:只在一台机器上执行即可,此处 dmdcr_cfg.ini 配置文件在主节点上,所以就在主节点完成以下操作:
进入安装目录 /bin
[dmdba@db1 data]c d / dm8/ b i n [ d m d b a @ d b 1 b i n ] cd /dm8/bin [dmdba@db1 bin]cd/dm8/bin[dmdba@db1bin]./dmasmcmd
依次执行下面几句:
create dcrdisk ‘/dev/raw/raw1’ ‘dcr’
create votedisk ‘/dev/raw/raw2’ ‘vote’
create asmdisk ‘/dev/raw/raw3’ ‘LOG0’
create asmdisk ‘/dev/raw/raw4’ ‘DATA0’
init dcrdisk ‘/dev/raw/raw1’ from ‘/dm8/data/dmdcr_cfg.ini’ identified by ‘abcd’
init votedisk ‘/dev/raw/raw2’ from ‘/dm8/data/dmdcr_cfg.ini’
4>配置 dmasvrmal.ini文件(主/备节点)
同样是dmdba用户,目录 /dm8/data/
先在主节点新增 dmasvrmal.ini,然后scp传到节点2上:
[dmdba@db1 bin]c d / dm8/ d a t a / [ d m d b a @ d b 1 d a t a ] cd /dm8/data/ [dmdba@db1 data]cd/dm8/data/[dmdba@db1data]vi dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.48.133
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.48.134
MAL_PORT = 7237
#传输文件:
[dmdba@db1 data]$ scp dmasvrmal.ini [email protected]:/dm8/data
5>配置dmdcr.ini文件(主/备节点)
两个节点都要配置,dmdcr_seqo 分别为 0 和 1,保存到/dm8/data 目录下面。
此处配置为不会自动拉起,需要手动执行启动 asm 与 server 操作,方便在控制台查看节点信息,部署成功后可配置为自动拉起,注册服务。
节点1 192.168.48.133
[dmdba@db1 bin]c d / h o m e / d a t a / [ d m d b a @ d b 1 d a t a ] cd /dm8/data/ [dmdba@db1 data]cd/dm8/data/[dmdba@db1data]vi dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdcr.ini
节点2 192.168.48.134
[dmdba@db1 bin]c d / h o m e / d a t a / [ d m d b a @ d b 1 d a t a ] cd /dm8/data/ [dmdba@db1 data]cd/dm8/data/[dmdba@db1data]vi dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdcr.ini
注意:需要改两个地方: DMDCR_SEQNO = 0(1节点的),DMDCR_SEQNO = 1 (2节点的)
6> 启动DMCSS和DMASM服务(主/备节点)
在 192.168.48.3、192.168.48.134 节点先后分别启动 dmcss、dmasmsvr 程序。
用dmdba用户,进入安装目录/bin路径:
[dmdba@db1 data]$ cd /dm8/bin
手动启动 dmcss 命令:
[dmdba@db1 bin]$./dmcss DCR_INI=/dm8/data/dmdcr.ini
如有以下报错请重新导出导入后再启动服务
发现报错后,重新导出,然后修改dmdcr_cfg.ini,最后重新导入,然后再启动服务。
( 正常情况下 两台服务器都识别CSS0为控制节点)
手动启动 dmasmsvr 命令:
[dmdba@db1 bin]$./dmasmsvr DCR_INI=/dm8/data/dmdcr.ini
注意:节点2也同样开启两个窗口,一共四个窗口,不要关闭!!!(如果dmdcr.ini文件的DMDCR_ASM_RESTART_INTERVAL和DMDCR_DB_RESTART_INTERVAL设置为15秒的话,只需要开启两个节点的dmcss一个窗口就行)
都启动后如下所示
主 DMCSS 启动后屏幕打印如下:
7>使用dmasmtool工具创建DMASM磁盘组(主节点)
选择一个节点,启动 dmasmtool 工具:
这里用主节点操作:
su – dmdba
cd /dm8/bin
./dmasmtool DCR_INI=/dm8/data/dmdcr.ini
登录后,执行以下两段:
#创建日志磁盘组
create diskgroup ‘DMLOG’ asmdisk ‘/dev/raw/raw3’
#创建数据磁盘组
create diskgroup ‘DMDATA’ asmdisk ‘/dev/raw/raw4’
注:创建成功后可以在之前的两台主机 ASM 服务窗口中查看到信息:
8>配置dminit.ini文件(主节点)
使用 dmdba 用户,只需要在一个节点上创建,此处选择在 dsc1 主节点中创建
[dmdba@db1 bin]$ cd /dm8/data/
[dmdba@db1 data]$ vi dminit.ini
db_name = dsc
system_path = +DMDATA/data
system = +DMDATA/data/dsc/system.dbf
system_size = 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 128
main = +DMDATA/data/dsc/main.dbf
main_size = 128
ctl_path = +DMDATA/data/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/data/dsc0_config
port_num = 5236
mal_host = 192.168.48.133
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/data/dsc1_config
port_num = 5237
mal_host = 192.168.48.134
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
9>使用dminit初始化DB环境(主节点)
注:需使用 dmdba 用户,在一个节点上初始化数据库就可以,因为 dminit.ini 配置文件在 dsc1 主节点上,所以初始化数据库操作在此节点执行即可。
[dmdba@db1 data]$ cd /dm8/bin
[dmdba@db1 bin]$ ./dminit control=/dm8/data/dminit.ini
可以看到创建数据库成功,进入 /dm8/data/ 目录后可以看到生成两个文件夹:
因为一直在主节点上进行初始化操作, config2 文件夹应该是节点 2 需要使用的配置文件,
所以需要将 config2 文件夹传输至节点 2 的 /dm8/data/ 目录下:
[root@db1 data]# scp -r config2/ [email protected]:/dm8/data/
节点 1 上可以仅保留 config1 , 删除该文件夹 rm -rf config2
[dmdba@db1 data]$ rm -rf config2
10>启动实例
节点1 192.168.48.133:
[dmdba@db1 data]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmserver /dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdcr.ini
节点2 192.168.48.134:
[dmdba@db1 data]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmserver /dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdcr.ini至此,集群部署完毕。可用disql登录,查看集群状态:
select * from vd s c e p i n f o ; 1 ) 配 置 监 视 器 [ d m d b a @ l o c a l h o s t b i n ] dsc_ep_info; 1)配置监视器 [dmdba@localhost bin]dscepinfo;1)配置监视器[dmdba@localhostbin] vi /dm8/data/dmcssm.ini
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.48.133:9341
CSSM_CSS_IP = 192.168.48.134:9343
CSSM_LOG_PATH =…/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[dmdba@localhost bin]$ ./dmcssm INI_PATH=/dm8/data/dmcssm.ini
至此 DMDSC 集群的实时数据守护系统搭建完毕,在搭建步骤和各项配置都正确的情况 下,在监视器上执行 show 命令,可以监控到所有实例都处于 Open 状态,所有守护进程也 都处于 Open 状态,即为正常运行状态。
达梦社区地址:https://eco.dameng.com
标签:dmdba,EP,raw,集群,ini,dm8,data,DSC,搭建 From: https://www.cnblogs.com/-dym/p/16721383.html