达梦数据库DSC集群搭建

1 准备工作

1.1 环境信息

环境准备,受笔记本磁盘容量限制只添加了20G的磁盘

硬件:两台相同配置机器,2G 内存,20G 本地磁盘,2 块网卡,另有一块共享磁盘 20G。

操作系统:RedHat Linux 64 位。

1.2 创建共享磁盘

1.创建两个一样的虚拟机环境,一般都选择使用克隆的方式创建另外一下虚拟机

 

2.关闭两台虚拟机,然后点击其中一台虚拟机中的磁盘选项

 

3.在设置窗口中点击添加磁盘

 

4.在添加磁盘窗口中直接点击一步

 

5.在磁盘类型中选择默认即可

 

6.然后选择创建新的虚拟磁盘

 

7.指定磁盘容量大小,并选择立即分配所有磁盘空间

 

8.然后指定磁盘位置,点击完成即可开始创建磁盘,在指定磁盘位置的时候最好单独放在一个文件夹中

 

9.然后选择添加的磁盘点击右侧高级选项,在弹出的窗口中选择SCSI:1-1方式,到这里第一台虚拟机已经添加好了

 

 

主机B引用刚才创建的磁盘

1.给node02添加

 

2.选择添加

 3

 

4 选择默认选项

 

5.选择使用现有虚拟磁盘

 

6.选择之前创建的那一块磁盘

 

7.在弹出的窗口中选择SCSI:1-1方式

 

8.修改两台虚拟机的vmx文件

 

9.打开添加如下信息

 

2 DSC集群搭建

2.1 数据库安装

节点功能类型
192.168.1.201搭建dsc使用节点A
192.168.1.202搭建dsc使用节点B

Linux系统修改资源限制:两个节点都要做,步骤一致。

vim /etc/security/limits.conf

结尾添加以下内容:

dmdba   soft    nproc   10240
dmdba   hard         nproc  10240
dmdba   soft    nofile  65536
dmdba   hard         nofile 65536
dmdba     soft          core        unlimited
dmdba     hard         core        unlimited    

创建用户和组:两个节点都要做,步骤一致。 创建安装用户组 dinstall

groupadd  dinstall

在dinstall组内创建安装用户dmdba

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

修改密码

passwd dmdba
Dameng123

切换到dmdba用户下,创建目录

cd /home/dmdba
​
mkdir dmdbms
​
mkdir DM_SOFT
​
cd dmdbms
​
mkdir dmdbms
​
mkdir BAK

dmdba用户创建归档目录

节点A下单独执行以下两条命令:

mkdir arch_0
​
mkdir arch_0_remote

节点B下单独执行以下两条命令:

mkdir arch_1
​
mkdir arch_1_remote

数据库安装

root用户使用mount命令,把安装包挂载到系统/mnt上

mount -o loop  dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt
cd /mnt
cp ./DmInstall.bin /home/dmdba/DM_SOFT

root用户变更目录所属的用户和组

chown -R dmdba:dinstall /home/dmdba 

dmdba用户给/home/dmdba目录授权

chmod -R 775 /home/dmdba

dmdba用户安装

su - dmdba

运行安装

cd /home/dmdba/DM_SOFT
./DMInstall.bin -i

划分裸设备和绑定裸设备

用途空间规划(总共2T)
raw1用于dcr信息100M
raw2用于存放vote信息100M
raw3用于存放redo log2048M(强制性要求必须大于等于)
raw4用于存放data剩下的全部空间

在节点A执行以下命令

1) 输入fdisk /dev/mapper/DM-2T 2) 依次输入 n p 1 回车 +100M 回车,完成第一块磁盘划分 3) 依次输入 n p 2 回车 +100M 回车,完成第二块磁盘划分 4) 依次输入 n p 3 回车 +2048M 回车,完成第三块磁盘划分 5) 依次输入 n p 4 回车回车回车,完成第四块磁盘划分 6) 输入w命令,将裸设备划分的设置进行保存;

在节点B执行以下命令

partprobe /dev/mapper/DM-2T

绑定:设备名绑定:两个节点都要做。

vim /etc/rc.local

#DMDSC disks
raw /dev/raw/raw1 /dev/mapper/raw1
raw /dev/raw/raw2 /dev/mapper/raw2
raw /dev/raw/raw3 /dev/mapper/raw3
raw /dev/raw/raw4 /dev/mapper/raw4
​
chown dmdba:dinstall /dev/raw/raw1
chown dmdba:dinstall /dev/raw/raw2
chown dmdba:dinstall /dev/raw/raw3
chown dmdba:dinstall /dev/raw/raw4
​
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4

然后赋予执行权限;chmod 775 /etc/rc.d/rc.local

然后重启,或者source /etc/rc.local 使当前生效

查看裸设备大小命令:blockdev --getsize64 /dev/raw/raw1

2.2 配置dmdcr_cfg.ini

新建dmdcr_cfg.ini配置文件,两个节点都要配置,内容完全一样,保存到/home/dmdba/dmdbms/config目录下。

DCR_N_GRP              = 3  
DCR_VTD_PATH           = /dev/raw/raw2 
DCR_OGUID              = 45330
​
[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.1.106 #心跳地址
​
DCR_EP_PORT          = 9341 
[GRP_CSS] 
​
DCR_EP_NAME          = CSS1 
​
DCR_EP_HOST          = 192.168.1.107 #心跳地址
​
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.1.106 #业务地址
​
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.1.107 #业务地址
​
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

初始化磁盘组

在节点A上启动dmasmcmd工具,依次输入以下命令:

cd /home/dmdba/dmdbms/bin
​
./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 '/home/dmdba/dmdbms/config/dmdcr_cfg.ini' identified by 'abcd'
​
init votedisk '/dev/raw/raw2' from '/home/dmdba/dmdbms/config/dmdcr_cfg.ini'

2.3 配置dmasvrmal.ini文件和dmdcr.ini文件

新建dmasvrmal.ini配置文件,两个节点都要配置,内容完全一样,保存到/home/dmdba/dmdbms/config目录下

[MAL_INST1]
    MAL_INST_NAME              = ASM0
    MAL_HOST                    = 192.168.1.201 #心跳地址
    MAL_PORT                    = 7236
[MAL_INST2]
    MAL_INST_NAME              = ASM1
    MAL_HOST                    = 192.168.1.202 #心跳地址
    MAL_PORT                    = 7237

新建dmdcr.ini配置文件,两个节点都要配置,内容大部分一样,只是dmdcr_seqo分别为0和1。保存到/home/dmdba/dmdbms/config目录下

节点A:

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dmdbms/config/dmasvrmal.ini 
​
DMDCR_SEQNO   = 0
​
#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = service DmASMSvrService start
​
#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = service DmServicedsc0 start

节点B:

DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH = /home/dmdba/dmdbms/config/dmasvrmal.ini 
​
DMDCR_SEQNO   = **1**
​
#DMDCR_ASM_RESTART_INTERVAL = 30
#DMDCR_ASM_STARTUP_CMD = service DmASMSvrService start
​
#DMDCR_DB_RESTART_INTERVAL = 60
#DMDCR_DB_STARTUP_CMD = service DmServicedsc1 start

2.4 启动DMCSS、DMASM服务

先在节点A前台启动dmcss、dmasmsvr服务。

然后节点B前台启动dmcss、dmasmsvr服务。

都启动后,在节点A输入show命令,观察CSS0、CSS1、ASM0、ASM1服务的sys_status 、vtd_status、is_ok、active的状态为OPEN、 WORKING、OK、TRUE,表示服务都正常启动。

启动dmcss服务命令:
[bin]#./dmcss DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
启动dmasmsvr服务命令:
[bin]#./dmasmsvr DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini

2.5 创建DMASM磁盘

在css服务和asm服务启动的情况下,选择ASM的控制节点,启动dmasmtool工具,输入下列语句创建DMASM磁盘组:

[ bin]# ./dmasmtool DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
​
\#创建日志磁盘组,10s
​
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
​
\#创建数据磁盘组
​
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

2.6 配置dminit.ini文件

控制节点准备dminit.ini配置文件,保存到/home/dmdba/dmdbms/config目录,

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        = 2048
dcr_path        = /dev/raw/raw1                             
dcr_seqno       = 0
auto_overwrite  = 1
PAGE_SIZE         = 32
CASE_SENSITIVE    = N#注意,这个参数表示大小写不敏感。
CHARSET  = 0#字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] 
   #以上两行删除之后,./dminit control=……不会报错
[dsc0]  
config_path             = /home/dmdba/dmdbms/config/dsc0_config
port_num                = 5236
mal_host                = 192.168.1.106 #心跳地址
mal_port                = 9340
log_path                = +DMLOG/log/dsc0_log01.log
log_path                = +DMLOG/log/dsc0_log02.log
[dsc1]  
config_path             = /home/dmdba/dmdbms/config/dsc1_config
port_num                = 5236
mal_host                = 192.168.1.107 #心跳地址
mal_port                = 9341
log_path                = +DMLOG/log/dsc1_log01.log
log_path                = +DMLOG/log/dsc1_log02.log

2.7 初始化数据库

首先选择节点A,启动dminit工具初始化数据库。

dminit执行完成后,会在config_path目录(/home/dmdba/dmdbms/config/dsc0_config和dsc1_config)下生成配置文件dm.ini和dmmal.ini。

./dminit control=/home/dmdba/dmdbms/config/dminit.ini

然后初始化数据库完成后,将节点A上生成的dsc1_config文件夹拷贝到节点B的/home/dmdba/dmdbms/config目录下。

最后将节点A上/home/dmdba/dmdbms/config目录下的dsc1_config文件夹删掉。

2.8 配置远程归档

先将两个节点上dsc0_config目录或者dsc1_config下_的dm.ini中的ARCH_INI设置为1,然后在这个目录下配置dmarch.ini文件

节点A:放在/home/dmdba/dmdbms/config/dsc0_config目录下

[ARCHIVE_LOCAL1]
  ARCH_TYPE     = LOCAL
  ARCH_DEST     = /home/dmdba/dmdbms/arch_0
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 204800 #目前归档上限为200G,后续可更改   
[ARCH_REMOTE1]
  ARCH_TYPE     = REMOTE
  ARCH_DEST     = DSC1
  ARCH_INCOMING_PATH   =/home/dmdba/dmdbms/arch_0_remote
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 204800 #目前归档上限为200G,后续可更改

节点B:放在/home/dmdba/dmdbms/config/dsc1_config目录下

[ARCHIVE_LOCAL1]
  ARCH_TYPE     = LOCAL
  ARCH_DEST     = /home/dmdba/dmdbms/arch_1
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 204800 #目前归档上限为200G,后续可更改
[ARCH_REMOTE1]
  ARCH_TYPE     = REMOTE
  ARCH_DEST     = DSC0
  ARCH_INCOMING_PATH   =/home/dmdba/dmdbms/arch_1_remote
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 204800 #目前归档上限为200G,后续可更改

2.9 启动DMSERVER服务

节点A:

./dmserver  /home/dmdba/dmdbms/config/dsc0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

节点B:

./dmserver  /home/dmdba/dmdbms/config/dsc1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini

2.10 设置后台启动脚本

在正式生产环境下,要求所有的服务开机自启,需要准备以下三个后台启动脚本:DMCSS后台服务脚本,DMASM后台服务启动脚本,数据库实例DMSERVER后台启动脚本。

首先以root用户创建后台启动脚本:

cd /home/dmdba/dmdbms/dmdbms/script/root

创建CSS服务:

./dm_service_installer.sh -t dmcss -p _dsc0 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini

创建DMASM服务:

./dm_service_installer.sh -t dmasmsvr -p _dsc0 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSService_dsc0.service

创建DMSERVER服务:

./dm_service_installer.sh -t dmserver -p _dsc0 -dm_ini 
​
/home/dmdba/dmdbms/config/dsc0_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrService_dsc0.service

创建第二个节点的CSS服务:

./dm_service_installer.sh -t dmcss -p _dsc1 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini

创第二个节点建DMASM服务:

./dm_service_installer.sh -t dmasmsvr -p _dsc1 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSService_dsc1.service

创建第二个节点的DMSERVER服务:

./dm_service_installer.sh -t dmserver -p _dsc1 -dm_ini /home/dmdba/dmdbms/config/dsc1_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrService_dsc1.service

2.11 配置监视器

在节点A、节点B的/home/dmdba/dmdbms/dmdbms/bin目录下,配置dmcssm.ini文件,内容如下:

CSSM_OGUID      = 45330
CSSM_CSS_IP     =192.168.1.106:9341
CSSM_CSS_IP     =192.168.1.107:9343
CSSM_LOG_PATH   = ../log                                                                 
CSSM_LOG_FILE_SIZE      = 32
CSSM_LOG_SPACE_LIMIT    = 0

启动监视器

./dmcssm INI_PATH=dmcssm.ini

2.14 自动拉起功能

需要CSS将ASM和dmserver自动拉起,所以将dmdcr.ini下注释的行取消注释

DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD = service DmASMSvrServicedsc1 start
​
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = service DmServicedsc1 start

更多资讯请上达梦技术社区了解: https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值