两节点的DMDSC集群搭建

1. 前置准备

1.1 基本情况介绍

        准备两台虚拟机A、B,操作系统Linux Ubuntu22.04,均安装了DM8、安装目录:/dm,并且均关闭防火墙,IP地址分别为192.168.127.139(A)和192.168.127.138(B)。

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

1.2 配置共享磁盘

  1. 在主机的VMware安装目录下打开终端,运行如下命令:

     .\vmware-vdiskmanager.exe -c -s 20G -a lsilogic -t 2 "D:\my VM\DMDSCtemp\DSC\share.vmdk"

  2. 保持A、B为关闭状态,然后分别对A、B添加共享磁盘的操作,具体如下: 

    1. 对该虚拟机点击编辑虚拟机设置——添加——硬盘——下一步

    2. 一直选择下一步,直到提示选择磁盘。然后选择使用现有虚拟磁盘,然后添加上一步创建的共享磁盘,最后确定即可:

  3. 分别编辑A、B的.vmx文件(文本工具编辑):添加如下语句:
    disk.locking="FALSE"
    disk.EnableUUID = "TRUE"
  4. 方法
    1. 首先找到对应的磁盘:

      lsblk

    2. 然后进行分区:

      fdisk /dev/sdb
      #1、依次输入 n→p→1→回车→+1g→回车,完成第一块磁盘划分
      #2、依次输入 n→p→2→回车→+1g→回车,完成第二块磁盘划分
      #3、依次输入 n→p→3→回车→+8g→回车,完成第三块磁盘划分
      #4、依次输入 n→p→4→回车→回车,完成第四块磁盘划分

       

    3. 可以在另一台机器上输入同样的查看磁盘指令,但是貌似需要重新启动:

  5. 分别对A、B绑定裸设备:

    1. 首先编辑80-raw.rules:

      vim /etc/udev/rules.d/80-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"
      KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="adm", MODE="660" #根据自身情况
    2. 然后使之生效:

      artprobe /dev/sdb
      udevadm control --reload-rules
      udevadm trigger --type=devices --action=change
    3. 然后可以查看到绑定的情况:

      ll /dev/raw

2. 配置工作

2.1 配置dmdcr_cfg.ini

        分别准备 dmdcr_cfg.ini 配置文件,保存到/dm/data/目录下面。以便后续 DMASMCMD 工具执行 init 语句会使用。

vim /dm/data/dmdcr_cfg.ini
#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.127.131
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.127.138
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.127.131
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.127.138
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 = 11451
DCR_CHECK_PORT = 9741
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 11451
DCR_CHECK_PORT = 9742

2.2 创建ASM磁盘

        在其中一台虚拟机上dm8/bin下运行 dmasmcmd,同样位于/bin目录。

./dmasmcmd
#在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 '/dm/data/dmdcr_cfg.ini'identified by '123456'
init votedisk '/dev/raw/raw2' from '/dm/data/dmdcr_cfg.ini'

2.3 DMASM 的 MAL 配置文件

        分别在两台机器上的安装目录data下配置 dmasvrmal.ini文件:

vim /dm/data/dmasvrmal.ini
#编辑如下信息
[MAL_INST1]
 MAL_INST_NAME = ASM0
 MAL_HOST = 192.168.127.131
 MAL_PORT = 7236
[MAL_INST2]
 MAL_INST_NAME = ASM1
 MAL_HOST = 192.168.127.138
 MAL_PORT = 7237

2.4 配置dmdcr.ini

        同样地分别在两台机器的安装目录下的data目录下配置dmdcr.ini文件:

vim /dm/data/dmdcr.ini

2.4.1 DCS0

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/dm/data/dmasvrmal.ini
DMDCR_SEQNO   = 0
DMDCR_ASM_RESTART_INTERVAL =0
DMDCR_ASM_STARTUP_CMD = /dm/bin/dmasmsvr  dcr_ini=/dm/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/bin/dmserver  path=/dm/data/dsc0/dm.ini dcr_ini=/dm/data/dmdcr.ini

2.4.2 DCS1

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/dm/data/dmasvrmal.ini
DMDCR_SEQNO   = 1
DMDCR_ASM_RESTART_INTERVAL =0
DMDCR_ASM_STARTUP_CMD = /dm/bin/dmasmsvr  dcr_ini=/dm/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/bin/dmserver  path=/dm/data/dsc1/dm.ini dcr_ini=/dm/data/dmdcr.ini

2.5 启动DMCSS

        分别在两台机器上启动DMCSS,先启动者为控制节点。dmcss位于bin目录下。

        以DCS0为示例:

 ./dmcss DCR_INI=/dm/data/dmdcr.ini

        注意,先启动的为DSS控制节点。

2.6 启动ASM

        同上,两台机器上都要启动。

./dmasmsvr DCR_INI=/dm/data/dmdcr.ini

 2.7 使用dmasmtool工具创建DMASM磁盘

        选择一个节点,启动dmasmtool工具(于dm/bin目录):

./dmasmtool DCR_INI=/dm/data/dmdcr.ini

        启动后,输入以下信息:

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3' #创建日志磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4' #创建数据磁盘组

        最后,输入exit退出

2.8 初始化实例

        准备 dminit.ini 配置文件,保存到/dm/data 目录 。

vim /dm/data/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]
config_path = /dm/data/dsc0_config
port_num = 11451
mal_host = 192.168.127.131
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1]
config_path = /dm/data/dsc1_config
port_num = 11451
mal_host = 192.168.127.138
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

        选择一个节点,启动 dminit 工具初始化数据库。dminit 执行完成 后,会在 config_path 目录(/dm/data/dsc0_config 和 /dm/data/dsc1_config)下生成配置文件 dm.ini 和 dmmal.ini。

./dminit control=/dm/data/dminit.ini

         这里DM技术手册上只说了选择一个节点,但是本人在初始化的时候在ASM非控制节点上运行或报告错误,在控制节点上则成功了,具体原因有待分析。

        初始化完成后会在 init 控制文件配置的目录下,即dm/data目录下生成 2 个实例的配置文件 dsc0_config和dsc1_config,将dsc1_config拷贝到另一台虚拟机上对应的位置 :

scp -r /dm/data/dsc1_config dmdba@192.168.127.138:/dm/data/

3. 启动dmserver数据库服务

        在两台虚拟机上分别位于bin目录下的dmserver:

./dmserver /dm/data/dsc0_config/dm.ini dcr_ini=/dm/data/dmdcr.ini #启动DSC0
./dmserver /dm/data/dsc1_config/dm.ini dcr_ini=/dm/data/dmdcr.ini #启动DSC1

        DSC0:

        DSC1:

4. 检查集群状态

        DSS控制节点对应的机器的DSS窗口中运行show命令,可以查看:

        若nst_status 字段为 OPEN,vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常,至此DSC数据共享集群搭建完成。

         如果需要实例上的数据验证,也可以进行。在其中一台虚拟机上新增数据:

        然后在另一台上查询:

 

        大功告成!

更多关于DM数据库的资讯请移步:https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值