DM8共享存储集群(DSC)部署过程

1、部署规划

本次部署为2节点DSC集群

IP规划

主机名服务IP心跳IP实例名节点用途
stsz180050192.168.8.100192.168.3.100DSC1DSC节点1
stsz180051192.168.8.101192.168.3.101DSC2DSC节点2

端口规划

实例名实例端口MAL系统端口CSS端口ASM端口ASM的MAL端口DCR检查实例端口
DSC1523692369341935172369741
DSC2523692369341935172369741

共享存储规划

实际地址udev映射地址
/dev/sdc(5G)/dev/rac1/asmdisk1(数据磁盘)
/dev/sde(5G)/dev/rac1/asmdisk2(DCR磁盘)
/dev/sdd(5G)/dev/rac1/asmdisk4(vote磁盘)
/dev/sdf(1G)/dev/rac1/asmdisk3(redo日志磁盘)

注:
redo日志磁盘大小为1G,会影响log_size参数大小(日志个数*日志大小< 1024)

目录规划(部署目录owner为dmdba,属组为dinstall)

目录名路径
数据库软件安装目录/home/dmdba/dmdbms
DSC配置文件目录/home/dmdba/config
DSC1本地归档目录+DMDATA/dsc/dsc1/arch
DSC1远程归档目录+DMDATA/dsc/dsc2/arch
DSC2本地归档目录+DMDATA/dsc/dsc2/arch
DSC2远程归档目录+DMDATA/dsc/dsc1/arch
备份目录/dmbak

2、数据库软件安装

2个节点上安装数据库软件

在节点1安装好数据库软件,再克隆一份(作为节点2)

操作系统配置

修改内核参数

vi /etc/sysctl.conf
添加以下内容
vm.swappiness=10
vm.dirty_background_ratio = 0
使参数生效
sysctl -p

新建数据库管理用户和组

groupadd dinstall -g 2001
useradd -G dinstall -m -d /home/dmdba -s /bin/bash dmdba -u 2001
passwd dmdba

修改用户资源限制

vim /etc/security/limits.conf
文件末尾添加如下内容:
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited

注:
检查/etc/security/limits.d/目录下是否有其他限制资源的配置文件,如果有也需要修改

修改 dmdba 用户环境变量

vi /home/dmdba/.bash_profile
文件末尾添加如下内容:
export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

网卡配置

vmwae配置
vmwae配置
在这里插入图片描述
在这里插入图片描述

服务网卡配置

ip addr
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
修改并添加
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.8.101
NETMASK=255.255.255.0
GATEWAY=192.168.8.2
DNS1=8.8.8.8

心跳网卡配置

BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.3.101

注意:
使用克隆的方式,需删除配置文件里的UUID

重启网络

systemctl stop network
systemctl start network

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

数据库软件安装

使用 dmdba 用户安装软件(所有节点都安装软件)

执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装。

./DMInstall.bin -i

选择安装程序的语言 c/C 为中文,e/E 为英文。

提示是否安装 key 文件,输入 N 跳过。

选择时区,21 即东 8 区。

选择安装类型,默认典型安装(包含所有内容)。

选择软件安装目录,默认/home/dmdba/dmdbms

确认安装

安装完成提示使用 root 执行脚本:

/home/dmdba/dmdbms/script/root/root_installer.sh

注意:
此处不需要初始化实例,安装数据库软件即可

安装完后,开始克隆节点2

3、DSC集群部署

多路径配置multipath

两台主机上都需要配置

sdc-sdf 是需要配置的共享磁盘,使用多路径绑定为
data_lun01,dcr_lun01,redo_lun01,vote_lun01

虚拟机添加共享磁盘

两个主机都关机,主机1创建磁盘,主机2添加已存在的磁盘,最终配置如下:
在这里插入图片描述

注:
也可以只创建一个较大的磁盘,后续通过分区的方式,分成sdb1、sdb2、sdb3、sdb4

修改两台虚拟机的配置文件(.vmx)

文件末尾添加
disk.locking = "FALSE"
disk.EnableUUID = "TRUE"
scsi1:1.SharedBus = "Virtual"
scsi1:2.SharedBus = "Virtual"
scsi1:3.SharedBus = "Virtual"
scsi1:4.SharedBus = "Virtual"

注:
添加后,才能两台虚拟机才能同时运行,否则会有锁。

挂载镜像

mount -o loop /dev/sr0 /mnt

配置本地yum源

vi /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

初始化yum

yum repolist all
yum clean all 
yum makecache

下载multipath

yum list|grep multipath
yum -y install device-mapper-multipath.x86_64

查看磁盘uuid

lsscsi -i

将共享存储的uuid写入下面的文件中

vi /etc/multipath/wwids 
/36000c29820c422ac7ea6d0fa5cd70394/
/36000c290083a3ced85315a053050f16d/
/36000c29d4d8d500efa811c7d7d2d70d6/
/36000c29acf6c3a168fa92a9200922852/

编写配置文件/etc/multipath.conf

find / -name "multipath.conf"
cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc
vi  /etc/multipath.conf
末尾添加
multipaths {
       multipath {
               wwid                    36000c29820c422ac7ea6d0fa5cd70394
               alias                   data_lun01
       }
       multipath {
               wwid                    36000c290083a3ced85315a053050f16d
               alias                   dcr_lun01
       }
           multipath {
               wwid                    36000c29d4d8d500efa811c7d7d2d70d6
               alias                   vote_lun01
       }
           multipath {
               wwid                    36000c29acf6c3a168fa92a9200922852
               alias                   redo_lun01
       }
}

重启multipathd

systemctl restart multipathd.service
systemctl enable multipathd.service
systemctl status multipathd.service

开启多路径

  multipath -v3

查看多路径是否成功

  multipath -ll

在这里插入图片描述

udev配置

新建udev规则文件

vi /etc/udev/rules.d/99-dm-asmdevices.rules
ACTION=="add|change",ENV{DM_UUID}=="mpath-36000c29820c422ac7ea6d0fa5cd70394",SYMLINK+="rac1/asmdisk1",OWNER="dmdba",GROUP="dinstall",MODE="0660",OPTIONS="nowatch" 
ACTION=="add|change",ENV{DM_UUID}=="mpath-36000c290083a3ced85315a053050f16d",SYMLINK+="rac1/asmdisk2",OWNER="dmdba",GROUP="dinstall",MODE="0660",OPTIONS="nowatch" 
ACTION=="add|change",ENV{DM_UUID}=="mpath-36000c29d4d8d500efa811c7d7d2d70d6",SYMLINK+="rac1/asmdisk4",OWNER="dmdba",GROUP="dinstall",MODE="0660",OPTIONS="nowatch" 
ACTION=="add|change",ENV{DM_UUID}=="mpath-36000c29acf6c3a168fa92a9200922852",SYMLINK+="rac1/asmdisk3",OWNER="dmdba",GROUP="dinstall",MODE="0660",OPTIONS="nowatch"

使udev生效

udevadm control --reload
udevadm trigger --type=devices --action=change
partprobe

检查配置是否成功

  ll /dev/rac1/asm\*

注:
如果查看不到配置的裸设备,请重启服务器再验证

配置DCR初始化配置文件

创建配置文件存放目录(2个节点都执行,dmdba用户)

  mkdir -p /home/dmdba/config

新建dmdcr_cfg.ini(节点1,dmdba用户)

vim /home/dmdba/config/dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/rac1/asmdisk4
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.3.100
DCR_EP_PORT = 9341
[CSS]
DCR_EP_NAME = CSS2
DCR_EP_HOST = 192.168.3.101
DCR_EP_PORT = 9341
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 500
DCR_EP_HOST = 192.168.3.100
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/rac1
[ASM]
DCR_EP_NAME = ASM2
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 500
DCR_EP_HOST = 192.168.3.101
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/rac1
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[DSC]
DCR_EP_NAME = DSC2
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741

创建ASM磁盘

使用 dmdba 用户,执行以下命令(只需在一个节点执行)

dmasmcmd

进入 ASM 提示符后执行以下命令

create dcrdisk '/dev/rac1/asmdisk2' 'dcr'
create votedisk '/dev/rac1/asmdisk4' 'vote'
create asmdisk '/dev/rac1/asmdisk3' 'LOG0'
create asmdisk '/dev/rac1/asmdisk1' 'DATA0' 

init dcrdisk '/dev/rac1/asmdisk2' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'
init votedisk '/dev/rac1/asmdisk4' from '/home/dmdba/config/dmdcr_cfg.ini'

配置ASM的MAL系统配置文件

2个节点都执行,dmdba用户

vi /home/dmdba/config/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.3.100
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM2
MAL_HOST = 192.168.3.101
MAL_PORT = 7236

配置DCR启动配置文件

vi /home/dmdba/config/dmdcr.ini

节点1,dmdba用户

DMDCR_PATH = /dev/rac1/asmdisk2
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

节点2,dmdba用户

DMDCR_PATH = /dev/rac1/asmdisk2
DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =10
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 30
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

启动DMCSS服务

2 个节点启动 dmcss,dmdba 用户到数据库安装目录 bin 下执行以下命令:

以前台方式启动,仅为测试部署是否成功
dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

注:
此窗口不要关闭,后续检查部署是否成功使用!
css 服务启动后会自动拉起 asm 服务(出现 asm is ready)

成功标志:
the ASM server is Ready.

检查ASM

  ps -ef\|grep asm

创建ASM磁盘

asm 启动成功后,节点 1 (DSC1,只需在一个节点执行即可)使用 dmdba
用户启动dmasmtool 工具。

dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

创建redo日志磁盘组、数据文件磁盘组

create diskgroup 'DMLOG' asmdisk '/dev/rac1/asmdisk3'
create diskgroup 'DMDATA' asmdisk '/dev/rac1/asmdisk1'

初始化DSC集群数据库实例

配置 dminit 控制文件(节点 1,dmdba 用户)

vi /home/dmdba/config/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 = 128
dcr_path = /dev/rac1/asmdisk2 #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
charset =1 #字符集为 utf8
page_size =32
[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc1
port_num = 5236
mal_host = 192.168.3.100
mal_port = 9236
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
[DSC2] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /home/dmdba/config/dsc2
port_num = 5236
mal_host = 192.168.3.101
mal_port = 9236
log_path = +DMLOG/log/dsc2_log01.log
log_path = +DMLOG/log/dsc2_log02.log

初始化实例(节点1,dmdba用户)

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

初始化DSC集群数据库实例成功后显示:

write to dir \[+DMDATA/data/DSC\].
create dm database success. 2021-10-18 21:55:12

若初始化失败,出现以下报错:

create ini file /home/dmdba/config/dsc1/dm.ini success.
create ini file /home/dmdba/config/dsc2/dm.ini success.
create rlog file +DMLOG/log/dsc1_log01.log failed, code: -7013.
fail to init db.

可能的原因是:

log_size设置过大,此处需要创建4个log,故log_size必须小于+DMLOG磁盘组总大小的四分之一

初始化完成后会在 init 控制文件配置的目录(config_path参数配置的目录)下生成 2 个实例的配置文件

将节点2的配置文件目录,从节点1复制到节点2

cd /home/dmdba/config
scp -r dsc2 192.168.3.101:/home/dmdba/config/

观察两个节点的 css 窗口日志,db 会被自动启动。

出现 system is ready ep real open,说明数据库实例启动成功。

css窗口日志
SYSTEM IS READY.
check CSS cmd: EP OPEN, cmd_seq: 17
iid page's trxid[5013]
NEXT TRX ID = 6017.
check CSS cmd: EP REAL OPEN, cmd_seq: 20

注册服务

以上启动方式为前台启动,仅用于验证集群配置过程。

配置成功后需要注册为系统服务,方便启动和关闭集群,以及实现开机自动启动。

2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root

  cd /home/dmdba/dmdbms/script/root

节点1执行,root用户

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

节点2执行,root用户

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

关闭前台启动的css,以服务方式启动css

节点1执行,root用户

  systemctl start DmCSSServicecss1.service

节点2执行,root用户

  systemctl start DmCSSServicecss2.service

CSS 服务启动后,会自动拉起 ASM 服务,自动启动数据库实例。

DSC部署检查

成功部署后,执行以下命令输出如下:

disql SYSDBA/SYSDBA
select * from v$dsc_ep_info;

在这里插入图片描述

达梦云适配中心:
https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值