首页 > 其他分享 >DSC共享存储集群的搭建

DSC共享存储集群的搭建

时间:2022-09-23 01:55:45浏览次数:66  
标签:dmdba EP raw 集群 ini dm8 data DSC 搭建

首先进行环境准备
硬件:两台相同配置机器,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

相关文章

  • 【Python】关于环境和IDE搭建
    最近上Python实验课,记录一下我的电脑发生了什么啥 一、anoconda开发环境平台总之已经忘记了是用来做什么的了,但是根据这两周都在和它作斗争,那它必然很重要安装时需要......
  • CI/CD 持续交付搭建
    流行CI/CD可持续交付的方案,作为资深开发员,必须掌握。如果面试问到这些,就显得很有管理经验,在项目组处于骨干角色。  主要包括jekins,gitlab,docker,k8s,gitserve......
  • helm部署redis-culster集群
    helm部署redis-culster集群安装helmwgethttps://repo.huaweicloud.com/helm/v3.8.0/helm-v3.8.0-linux-amd64.tar.gztar-zxfhelm-v3.8.0-linux-amd64.tar.gzmvlin......
  • Spring Boot+Vue从零开始搭建系统(一):项目前端_Vuejs环境搭建
    参考: vue.js-SpringBoot+Vue从零开始搭建系统(一):项目前端_Vuejs环境搭建_个人文章-SegmentFault思否 前言博主本身是一直从事Java后端开发,一直想独立开发一套完......
  • nc关联was集群服务
    nc配置was集群,was与NC需要部署在同一台机器上在主服务器的nchome的bin目录下进行sysConfig配置[root@nccapp01~]#cd/data/nchome/bin[root@nccapp01bin]#./sysCo......
  • mysql07--主从搭建、Django实现mysql读写分离
    1mysql--单主N从搭建https://www.liuqingzheng.top/python/其他/02-MySQL主从搭建基于docker/1.1基本介绍MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,......
  • Linux下was9集群部署(NC was集群)
    首先在另外一台服务器上也安装was,安装请看集群部署拓扑图如下(拓扑图片来源于用友was安装手册)部署拓扑图要点说明部署机器为:192.168.31.128(主)、192.168.31.130(从)。......
  • CentOS 7/8 搭建 Node.js 环境及npm包管理器
     服务器环境:LinuxCentOS7或CentOS8系统=====================================使用EPEL源安装1、下载并安装EPEL源,终端命令如下:1sudorpm-ihttp://download......
  • sbatch命令在集群递交任务模板
     001、脚本模板#!/bin/bash#SBATCH-JTEST_NAME#本次作业的名称#SBATCH-pxhacnormala#指定作业队列名#SBATCH-o......
  • clickhouse 超底层原理& 高可用集群 实操(史上最全)
    MPP数据库简介什么是OLTP与OLAP?OLTP(OnLineTransactionProcessing)联机事务处理系统例如mysql。擅长事务处理,在数据操作中保持着很强的一致性和原子性,能够很好的......