一、确定安装环境
操作系统信息、防火墙关闭、网络正常、是否关闭swap2台服务器之间相互ping通
查看防火墙状态
systemctl status firewalld
检查SELinux是否关闭
cat /etc/selinux/config
检查ip
ip a
检查内存
free
检查参数设置
su - dmdba
ulimit -a
二、环境说明
准备2台机器 DMDSC0、DMDSC1 ,其中 DMDSC0和DMDSC1 配置两块网卡,一块接入内部网络交换模块,一块接入到外部交换机。
机器名 |
IP地址 |
初始状态
扫描二维码关注公众号,回复:
14440781 查看本文章
|
操作系统 |
备注 |
DMDSC0 |
192.168.xxx.20 192.168.99.3 |
实例名DSC0 |
Linux dm_s1 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
外部服务 IP:192.168.xxx.20 内部通信 IP:192.168.99.3 |
DMDSC1 |
192.168.xxx.21 192.168.99.4 |
实例名DSC1 |
Linux dm_s1 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
外部服务 IP:192.168.xxx.21
内部通信 IP:192.168.99.4 |
共享磁盘:30G
在两台服务器上,安装好数据库软件
DM各种工具路径:/home/dmdba/dmdbms/bin
配置文件路径: /home/dmdba/dmdbms/config
安装数据库用户及密码:dmdba/dm123456
注:真实的生产环境中,建议至少配置两块共享磁盘,分别用来存放联机日志文件和数据文件
三、DMDSC搭建步骤
1. 裸设备划分
1.1 挂载磁盘
路径:D:\Program Files (x86)\VMware\VMDisk\CentOS_20G.vmdk
1.2 使用fdisk命令将共享存储划分为四个分区
前面两个分区大小为100M,第三个分区不少于2G(该分区过小可能会出现启动dmserver闪退、创建ASM磁盘组时连接失败等报错)
1).输入 fdisk /dev/sdb
2).依次输入 n p 1 回车 +100M 回车,完成第一块磁盘划分
3).依次输入 n p 2 回车 +100M 回车,完成第二块磁盘划分
4).依次输入 n p 3 回车 +2048M 回车,完成第三块磁盘划分
5).依次输入 n p 4 回车 回车 回车,完成第四块磁盘划分
6).w #保存退出
查看分区情况
fdisk -l
2. 绑定裸设备
【两节点执行绑定裸设备】
vi /usr/lib/udev/rules.d/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"
那么在 linux7 中该如何通过 udev 实现持久化:
如下配置完 udev 后需要执行
udevadm trigger --type=devices --action=change
或
两节点执行,通知系统分区表的变化
partprobe /dev/sdb
查看裸设备挂载情况
ll /dev/raw
查看裸设备大小命令
blockdev --getsize64 /dev/raw/raw1
三、配置共享存储相关配置文件
3.1安装数据库软件,创建配置文件目录[2个节点]
3.1.1软件安装
注:只需安装软件即可,不需要进行初始化实例的操作
3.1.2创建配置文件目录
su - dmdba
mkdir -p /home/dmdba/dmdbms/config
cd /home/dmdba/dmdbms/config
3.2 编辑配置文件dmdcr_cfg.ini[2个节点]
vi dmdcr_cfg.ini
添加内容:
DCR_N_GRP = 3 #集群环境包括多少个 group,取值范围 1~16
DCR_VTD_PATH = /dev/raw/raw2 #Voting Disk 路径
DCR_OGUID = 63635 #消息标识,dmcssm 登录 dmcss 消息校验用
[GRP] #[GRP]表示新建一个 Group
DCR_GRP_TYPE = CSS #组类型(CSS\ASM\DB)
DCR_GRP_NAME = GRP_CSS #组的名字
DCR_GRP_N_EP = 2 #组内节点个数 N,最大 16
DCR_GRP_DSKCHK_CNT = 60 #磁盘心跳机制,容错时间,单位秒,缺省 60S,取值范围 5~600
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.99.3
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.99.4
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 #共享内存标识,数值类型(ASM 有效,初始化共享内存的标识符),应为大于 0 的 4 字节整数
DCR_EP_SHM_SIZE = 20 #共享内存大小,单位 M,(ASM 有效,初始化共享内存大小),取值范围10~1024
DCR_EP_HOST = 192.168.99.3
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw # ASM 磁盘扫描路径,Linux 下一般为/dev/raw,文件模拟情况,必须是全路径,不能是相对路径
[GRP_ASM]
DCR_EP_NAME = ASM1 #组成员2的名字
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 20
DCR_EP_HOST = 192.168.99.4
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 #组成员1的名字
DCR_EP_SEQNO = 0 #组内序号,CSS/ASM 不能配置,自动分配 DB 可配置0到n_ep -1,组内不能重复,不配置则自动分配
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741 # DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236 # 此端口信息决定数据库访问的最终端口信息,此端口指定后dm.ini文件中在指定默认无效
DCR_CHECK_PORT = 9742 # DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突
3.3 创建DMASM磁盘[节点1]
使用 dmdba 用户,到 DM 数据库软件安装目录的 bin 目录执行以下命令(只需在1个节点执行)。
# cd /home/dmdba/dmdbms/bin
./dmasmcmd
3.3.1 格式化裸设备
使用 DMASMCMD 工具,将裸设备格式化为DCR磁盘,Voting Disk,ASM Disk:
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
3.3.2 初始化DCR & Voting Disk
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'
3.4 编辑配置文件dmasvrmal.ini[2个节点]
配置DMASM的MAL系统配置文件
vi /home/dmdba/dmdbms/config/dmasvrmal.ini
添加内容:
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.99.3
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.99.4
MAL_PORT = 7237
3.5 编辑配置文件dmdcr.ini[2个节点]
第1个节点:
vi /home/dmdba/dmdbms/config/dmdcr.ini
添加内容:
DMDCR_PATH =/dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/dmdbms/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =0 #为0,不自动拉起dmasm
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0 #为0,不自动拉起dmserver
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/DSC0/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
第2个节点:
vi /home/dmdba/dmdbms/config/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/dmdba/dmdbms/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL =0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/DSC1/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
3.6 启动DMCSS,DMASM服务
2个节点分别开2个窗口,先后分别启动 dmcss、dmasmsvr 程序。
【2个节点】手动启动dmcss命令:
cd /home/dmdba/dmdbms/bin
./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
【2个节点】手动启动dmasmsvr命令:
cd /home/dmdba/dmdbms/bin
./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
主屏幕打印相关信息:
[/opt/dmdbms/bin]# ./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
dmcss V8
设置 CSS[0]为主 CSS
[ASM]: 设置 EP[0]为控制节点
[ASM]: 设置命令[START NOTIFY], 目标节点[0], 命令序号[2]
[ASM]: 设置命令[EP START], 目标节点[0], 命令序号[3]
[ASM]: 设置命令[NONE], 目标节点[0], 命令序号[0]
[ASM]: 设置命令[EP START], 目标节点[1], 命令序号[9]
[ASM]: 设置命令[NONE], 目标节点[1], 命令序号[0]
[ASM]: 设置命令[EP OPEN], 目标节点[0], 命令序号[12]
[ASM]: 设置命令[EP OPEN], 目标节点[1], 命令序号[13
查看服务是否正常
ps -ef |grep css
3.7 使用dmasmtool工具创建DMASM磁盘组[1个节点]
使用dmasmtool工具创建
$cd /home/dmdba/dmdbms/bin
./dmasmtool DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
输入下列语句创建 DMASM 磁盘组:
#创建日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
#创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
3.8 编辑配置文件dminit.ini【1个节点】
准备dminit.ini配置文件,保存到/home/dmdba/config目录
vi /home/dmdba/dmdbms/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 = 256
dcr_path = /dev/raw/raw1
dcr_seqno = 0
auto_overwrite = 1
[DSC0]
config_path = /home/dmdba/dmdbms/data/DSC0
port_num = 5236
mal_host = 192.168.99.3
mal_port = 9236
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1]
config_path = /home/dmdba/dmdbms/data/DSC1
port_num = 5236
mal_host = 192.168.99.4
mal_port = 9236
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
3.9 初始化实例[1个节点]
节点1:
使用dmdba用户,初始化实例 ,执行以下命令:
./dminit control=/home/dmdba/dmdbms/config/dminit.ini
节点2:
mkdir -p /home/dmdba/dmdbms/data #创建目录
节点1:
将192.168.99.3机器上/home/dmdba/dmdbms/data/dsc1目录拷贝到 192.168.99.4机器相同目录下
[dmdba@dw_p data]$ scp -r /home/dmdba/dmdbms/data/DSC1 192.168.99.4:/home/dmdba/dmdbms/data/DSC1
3.10 前台启动数据库服务
分别启动 dmserver 即可完成 DMDSC集群搭建。如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。
如果需要手动启动,可参考下面的操作步骤:
192.168.99.3机器:(分别在三个窗口按顺序启动服务)
cd /home/dmdba/dmdbms/bin
./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmserver /home/dmdba/dmdbms/data/DSC0/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
192.168.99.4机器:
cd /home/dmdba/dmdbms/bin
./dmcss dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmasmsvr dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
./dmserver /home/dmdba/dmdbms/data/DSC1/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
3.11 配置监视器dmcssm.ini【1个节点】
cd /home/dmdba/dmdbms/config
vi dmcssm.ini
添加:
CSSM_OGUID = 63635 #和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.99.3:9341
CSSM_CSS_IP = 192.168.99.4:9343
CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 64 #每个日志文件最大 32 MB
CSSM_LOG_SPACE_LIMIT = 2048 #不限定日志文件总占用空间
3.12 启动监视器
$cd /home/dmdba/dmdbms/bin/
./dmcssm ini_path=/home/dmdba/dmdbms/config/dmcssm.ini
show命令查看CSS,ASM,DSC 状态
show
3.13 客户端工具查看
select * from SYS."$DSC_EPV_INFO"
3.14 注册DMCSS和监视器服务
注册DMCSS服务分别在两个节点执行
节点1:
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmcss -p DMCSS0 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini
节点2:
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmcss -p DMCSS1 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini
将3.5节的配置时间改一下,方面服务自动拉起CSS,ASM和DB,如图:
使用服务启动节点1:
systemctl restart DmCSSServiceDMCSS0
使用服务启动节点2:
systemctl restart DmCSSServiceDMCSS1
注册DMCSSM监视器服务
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -p DMCSSM -t dmcssm -cssm_ini /home/dmdba/dmdbms/config/dmcssm.ini
启动监视器命令:
systemctl start DmCSSMonitorServiceDMCSSM
3.15 配置dm_svc.conf连接服务名[节点1]
vi /etc/dm_svc.conf
添加:
dmsvc=(192.168.153.20:5236,192.168.153.21:5236)
[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA@dmsvc
服务器[192.168.153.20:5236]:处于普通打开状态
登录使用时间 : 15025.798(ms)
disql V8
更多内容,请访问达梦社区地址:https:eco.dameng.com