达梦DMDSC集群部署

一、安装数据库软件

在集群的2个节点上分别部署数据库软件,安装路径为/home/dmdba/dmdsc

二、磁盘准备

进入虚拟机的安装路径,创建共享存储的磁盘文件:

E:\>cd program files

E:\program files>vmware-vdiskmanager.exe -c -s 1GB -a lsilogic -t 2 "E:\vm\hadoop3_slaves01\DCS-share-dcr.vmdk"

VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.

Creating disk 'E:\vm\hadoop3_slaves01\DCS-share-dcr.vmdk'

  Create: 100% done.

Virtual disk creation successful.

E:\program files>vmware-vdiskmanager.exe -c -s 1GB -a lsilogic -t 2 "E:\vm\hadoop3_slaves01\DCS-share-vote.vmdk"

VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.

Creating disk 'E:\vm\hadoop3_slaves01\DCS-share-vote.vmdk'

  Create: 100% done.

Virtual disk creation successful.

E:\program files>vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\vm\hadoop3_slaves01\DCS-share-dmdata.vmdk"

VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.

Creating disk 'E:\vm\hadoop3_slaves01\DCS-share-dmdata.vmdk'

  Create: 100% done.

Virtual disk creation successful.

E:\program files>vmware-vdiskmanager.exe -c -s 5GB -a lsilogic -t 2 "E:\vm\hadoop3_slaves01\DCS-share-dmlog.vmdk"

VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.

Creating disk 'E:\vm\hadoop3_slaves01\DCS-share-dmlog.vmdk'

  Create: 100% done.

Virtual disk creation successful.

E:\program files>

两台虚拟机加载这4个共享存储磁盘,然后再vmx文件中加入下面内容

sata0:1.mode="independent-persistent"

sata0:1.SharedBus="Virtual"

sata0:2.mode="independent-persistent"

sata0:2.SharedBus="Virtual"

sata0:3.mode="independent-persistent"

sata0:3.SharedBus="Virtual"

sata0:4.mode="independent-persistent"

sata0:4.SharedBus="Virtual"

disk.locking="FALSE"

disk.EnableUUID="TRUE"

注意:这些选项不用和现有的重复,否则虚拟机起不来!

使用UDEV工具来固定磁盘,先查看磁盘的scsi_id,查询命令如下:

/usr/lib/udev/scsi_id -g -u /dev/sdb

/usr/lib/udev/scsi_id -g -u /dev/sdc

/usr/lib/udev/scsi_id -g -u /dev/sdd

/usr/lib/udev/scsi_id -g -u /dev/sde

编写/etc/udev/rules.d/66-dmdevices.rules,创建磁盘软链接

## DCR磁盘配置,且在软链接之前创建文件夹 /dev_DSC2

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c297ca1068db021f490c45ba9f79",SYMLINK+="DCR", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name;mkdir -p /dev_DSC2; ln -s /dev/DCR /dev_DSC2/DCR'"

## VOTE 磁盘配置

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c297202c319858a45ba146e43e2e",SYMLINK+="VOTE", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/VOTE /dev_DSC2/VOTE'"

## DMDATA 磁盘配置

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29b07aeb6aa0a0c66983f4fb4f0",SYMLINK+="DMDATA", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMDATA /dev_DSC2/DMDATA'"

## DMLOG 磁盘配置,且在搭建完成之后,将权限直接赋予 dmdba组的dmdba用户

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2997efe53e631e6301a6a6ce411",SYMLINK+="DMLOG", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMLOG /dev_DSC2/DMLOG ; chown -R dmdba:dmdba /dev_DSC2'"

重启 systemd-udev-trigger 服务:

systemctl restart systemd-udev-trigger

搭建之前磁盘权限信息查看:

ls -lth /dev_DSC2/

三、搭建两节点DMDSC

搭建的配置文件分别存放于 90 机器的/home/dmdba/dmdsc/data/DSC01 和 91 机器的/home/dmdba/dmdsc/data/DSC02 下

1、DMDCR_CFG.INI 文件配置

准备配置文件 DMDCR_CFG.INI 文件,保存到 90 机器的/home/dmdba/dmdsc/data/DSC01 下,在dsc1上操作。

DCR_N_GRP= 3

DCR_VTD_PATH=/dev_DSC2/VOTE

DCR_OGUID= 1071107589

[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.92.97

  DCR_EP_PORT = 9836

[GRP_CSS]

  DCR_EP_NAME = CSS1

  DCR_EP_HOST = 192.168.92.98

  DCR_EP_PORT = 9837

[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= 64735

DCR_EP_SHM_SIZE= 512

DCR_EP_HOST= 192.168.92.97

DCR_EP_PORT= 5836

DCR_EP_ASM_LOAD_PATH= /dev_DSC2

[GRP_ASM]

DCR_EP_NAME= ASM1

DCR_EP_SHM_KEY= 54736

DCR_EP_SHM_SIZE= 512

DCR_EP_HOST= 192.168.92.98

DCR_EP_PORT= 5837

DCR_EP_ASM_LOAD_PATH= /dev_DSC2

[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= DSC01

DCR_EP_SEQNO= 0

DCR_EP_PORT= 6636

[GRP_DSC]

DCR_EP_NAME= DSC02

DCR_EP_SEQNO= 1

DCR_EP_PORT= 6637

2、初始化所有磁盘

在 90 机器使用 DMASMCMD 工具初始化所有磁盘。

create dcrdisk '/dev_DSC2/DCR' 'DCR'

create votedisk '/dev_DSC2/VOTE' 'VOTE'

create asmdisk '/dev_DSC2/DMDATA' 'DMDATA'

create asmdisk '/dev_DSC2/DMLOG' 'DMLOG'

init dcrdisk '/dev_DSC2/DCR' from '/home/dmdba/dmdsc/data/DSC01/DMDCR_CFG.INI' identified by 'SYSDBA'

init votedisk '/dev_DSC2/VOTE' from '/home/dmdba/dmdsc/data/DSC01/DMDCR_CFG.INI'

3、dmasvrmal.ini文件配置(DSC1,DSC2)

准备 DMASM 的 MAL 配置文件 DMASVRMAL.INI,保存到 90 的/home/dmdba/dmdsc/data/DSC01 下。

vim DMASVRMAL.INI

[MAL_INST1]

MAL_INST_NAME= ASM0

MAL_HOST= 192.168.92.97

MAL_PORT= 4836

[MAL_INST2]

MAL_INST_NAME= ASM1

MAL_HOST= 192.168.92.98

MAL_PORT= 4837

为 DSC02 配置 dmasvrmal.ini,和 DSC01 的 dmasvrmal.ini 内容完全一样。保存到 91 的/home/dmdba/dmdsc/data/DSC02 下。

4、dmdcr.ini文件配置(DSC1,DSC2)

DMDCR.INI 是 DMCSS、DMASMSVR、DMASMTOOL 等工具的输入参数。

准备 dmdcr.ini 文件,保存到 90 的/home/dmdba/dmdsc/data/DSC01 下。DM1和DM2的配置仅DMDCR_SEQNO有区别

vim dmdcr.ini

DMDCR_PATH                   = /dev_DSC2/DCR

DMDCR_MAL_PATH               = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini  

DMDCR_SEQNO                  = 0  

DMDCR_ASM_RESTART_INTERVAL   = 0  

DMDCR_ASM_STARTUP_CMD        = /home/dmdba/dmdsc/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini  

DMDCR_DB_RESTART_INTERVAL    = 0  

DMDCR_DB_STARTUP_CMD         = /home/dmdba/dmdsc/bin/dmserver path=/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini

DMDCR_LINK_CHECK_IP=192.168.92.92

设置了 DMDCR_LINK_CHECK_IP,须为 90 节点的 DMSERVER 和 DMASMSVR 赋予 ping 权限。

先chmod 755 /etc/sudoers

在/etc/sudoers文件中增加:dmdba      ALL=(ALL:ALL) ALL,然后执行下面语句,否则报错

sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdsc/bin/dmserver

sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdsc/bin/dmasmsvr

为 DSC02 配置 vim dmdcr.ini,保存到 91 的/home/dmdba/dmdsc/data/DSC02 下

vim dmdcr.ini

DMDCR_PATH                   = /dev_DSC2/DCR

DMDCR_MAL_PATH               = /home/dmdba/dmdsc/data/DSC02/dmasvrmal.ini  

DMDCR_SEQNO                  = 1   

DMDCR_ASM_RESTART_INTERVAL   = 0  

DMDCR_ASM_STARTUP_CMD        = /home/dmdba/dmdsc/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini  

DMDCR_DB_RESTART_INTERVAL    = 0  

DMDCR_DB_STARTUP_CMD         = /home/dmdba/dmdsc/bin/dmserver path=/home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini

DMDCR_LINK_CHECK_IP=192.168.92.92

先chmod 755 /etc/sudoers

在/etc/sudoers文件中增加:dmdba      ALL=(ALL:ALL) ALL,然后执行下面语句,否则报错

sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdsc/bin/dmserver

sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdsc/bin/dmasmsvr

5、启动DMCSS和DMASM服务

主节点 90 启动 DMCSS:

./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini

另一节点 91 启动 DMCSS:

./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini

主节点 90 启动 DMASMSVR:

./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini

另一节点 91 启动 DMASMSVR:

./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini

6、创建DMASM磁盘组

在 90 上登录创建:

./dmasmtool dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini

创建一个 DATA 磁盘组和一个 LOG 磁盘组:

#创建DATA磁盘组

CREATE DISKGROUP DMDATA asmdisk '/dev_DSC2/DMDATA'

#创建LOG磁盘组

CREATE DISKGROUP DMLOG  asmdisk '/dev_DSC2/DMLOG'

7、dminit.ini文件配置

在 90 机器上准备 dminit.ini 配置文件,保存到/home/dmdba/dmdsc/data/DSC01 目录下。

DB_NAME= dsc2

SYSTEM_PATH= +DMDATA/data

SYSTEM= +DMDATA/data/dsc2/system.dbf

SYSTEM_SIZE= 128

ROLL= +DMDATA/data/dsc2/roll.dbf

ROLL_SIZE= 128

MAIN= +DMDATA/data/dsc2/main.dbf

MAIN_SIZE= 128

CTL_PATH= +DMDATA/data/dsc2/dm.ctl

LOG_SIZE= 2048

DCR_PATH= /dev_DSC2/DCR

DCR_SEQNO= 0

AUTO_OVERWRITE= 2

PAGE_SIZE = 16

EXTENT_SIZE = 16

[DSC01]

CONFIG_PATH= /home/dmdba/dmdsc/data/DSC01/DSC01_conf

PORT_NUM = 6636

MAL_HOST= 192.168.92.97

MAL_PORT= 6536

LOG_PATH= +DMLOG/log/DSC01_log1.log          

LOG_PATH= +DMLOG/log/DSC01_log2.log

[DSC02]

CONFIG_PATH= /home/dmdba/dmdsc/data/DSC02/DSC02_conf

PORT_NUM = 6637

MAL_HOST= 192.168.92.98

MAL_PORT= 6537

LOG_PATH= +DMLOG/log/DSC02_log1.log

LOG_PATH= +DMLOG/log/DSC02_log2.log

8、初始化数据库和实例

在一个节点使用 DMINIT 命令初始化数据库环境。

选择一个节点,启动 DMINIT 命令初始化数据库,这里以 90 为例。

DMINIT 执行完成后,会在 config_path 目录(/home/dmdba/dmdsc/data/DSC01/DSC01_conf 和/home/dmdba/dmdsc/data/DSC02/DSC02_conf)下生成配置文件 DM.INI 和 DMMAL.INI。

./dminit control=/home/dmdba/dmdsc/data/DSC01/dminit.ini

使用拷贝的方式配置另外一个节点的数据库环境:

将 90 上初始化库时产生的 DSC02 节点的配置文件(整个/home/dmdba/dmdsc/data/DSC02 文件夹)复制到 91 机器的/home/dmdba/dmdsc/data/DSC02/目录下。之后就可以启动数据库服务器了。

scp -r /home/dmdba/dmdsc/data/DSC02/* dmdba@192.168.92.91:/home/dmdba/dmdsc/data/DSC02/

9、启动数据库服务器

分别启动两个节点的服务器:

90节点服务器启动:

cd /home/dmdba/dmdsc/bin

./dmserver dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini /home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini

91节点服务器启动:

cd /home/dmdba/dmdsc/bin

./dmserver dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini /home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini

10、配置并启动 DMCSSM 监视器

现在我们搭建监视器,配置 dmcssm.ini 文件。

DMCSSM 在任何机器上均可以启动,只要该台机器和 DMDSC 的真实机器网络是相通的,就可以监控 DMDSC 集群信息。

这里我们选择在 90 机器上搭建监视器。/home/dmdba/dmdsc/data 目录中 DMCSSM.INI 详细内容如下:

#和DMDCR_CFG.INI中的DCR_OGUID保持一致

CSSM_OGUID = 1071107589

#配置所有CSS的连接信息,

#与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致

CSSM_CSS_IP = 192.168.92.97:9836

CSSM_CSS_IP = 192.168.92.98:9837

CSSM_LOG_PATH = /home/dmdba/dmdsc/data/cssm_log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大32M

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

创建 DMCSSM 的日志存放路径。

mkdir /home/dmdba/dmdsc/data/cssm_log

启动 DMCSSM 集群监视器。

输入show

至此,基于 DMASM 的 DMDSC 已经搭建完成。

11、验证数据库集群

在DSC1节点登录,并创建一张表tab01 ,插入数据:

数据是同步的。

12、验证DSC1节点故障

将DSC1节点的前台服务停掉:

查看监视器:

集群可以正常以DSC2实例提供服务。

再次启动DSC1实例服务:

Show监视器,DSC1恢复正常!

再次登录DSC1,输入数据:

在DSC2实例上查看:

集群恢复正常。

社区地址: https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值