搭建达梦数据库DSC
目录
4.6使用 dmasmtool 工具创建 DMASM 磁盘组
4.7准备 dminit.ini 配置文件,保存到/dm8/data 目录
1.
环境说明
|
IP地址 |
操作系统 |
EP1节点 |
192.168.96.171(内网) 192.168.244.142(外网) |
中标麒麟7.6 |
EP2节点 |
192.168.96.172(内网) 192.168.244.143(外网) |
中标麒麟7.6 |
监视器 |
192.168.96.171 |
中标麒麟7.6 |
共享存储(openfiler) |
192.168.96.170 |
|
2.openfiler安装
直接下一步
默认选择English
此处默认下一步,等装完后,再加一块磁盘用于分配共享存储。
此处分配一下共享存储的ip。
此处选择上海。
添加root的密码。
安装完成后,进行重启。
重启后,发现虚拟机界面变成这样,注意红框的内容,在浏览器中访问时一点要加https,否则无法访问。
默认的账号密码为:openfiler/password
登录进来后,首先点击system,把我们2个DSC集群节点的ip添加进来。
然后点击volumes,点击我们新加的一块磁盘sdc。
此处我们直接点击右下角create。
然后再点击volumes,新建一个VG的卷组
此处我们依次划分4块磁盘
然后从service中把iscsi target的boot status和current status设置成启动状态。
然后进入volumes的iscsi target中,点击add。
再进入lun mapping中,将4块磁盘全部map。
最后在network ACL中将access全部设置成allow。
3.共享存储节点配置
首先确认操作系统里是否安装有iscsi,没有的话需要安装:
[root@localhost ~]# yum install -y *iscsi*
查找磁盘阵列:
[root@EP1 ~]# iscsiadm -m discovery -t sendtargets -p
192.168.96.170:3260
登入节点(2个节点都要登入)
[root@EP1 ~]# iscsiadm -m node -T
iqn.2006-01.com.openfiler:tsn.035292f687e3 -p 192.168.96.170:3260 –l
可以看到,节点服务器中已经能够获取共享磁盘了。
设置系统启动时自动登入:
[root@EP1 ~]# iscsiadm -m node -T
iqn.2006-01.com.openfiler:tsn.035292f687e3 -p 192.168.96.170:3260 --op update
-n node.startup -v automatic
完成裸设备绑定(2个节点都要执行):
[root@EP1
rules.d]# more 60-raw.rules
ACTION=="add",
KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",
KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",
KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",
KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",
KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall",
MODE="660”
让udev rules生效:
[root@EP1 rules.d]# udevadm trigger
--action=add
查看设备:
在2个节点服务器上完成达梦数据库软件安装,不用初始化实例(此步略过)。
4.部署DMDSC集群
4.1配置dmdcr_cfg.ini文件
准备 dmdcr_cfg.ini 配置文件,保存到/dm8/data/目录下面。
后续 DMASMCMD工具执行 init 语句会使用到。
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.224.142
DCR_EP_PORT
= 9341
[GRP_CSS]
DCR_EP_NAME
= CSS1
DCR_EP_HOST
= 192.168.224.143
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.96.171
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.96.172
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
4.2使用
DMASMCMD 工具初始化
只需在配置好dmdcr_cfg.ini的1个节点上执行即可:
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 '/dm8/data/dmdcr_cfg.ini'identified by 'abcd'
init
votedisk '/dev/raw/raw2' from '/dm8/data/dmdcr_cfg.ini'
可以启动
dmasmcmd 工具,依次输入以上命令,或者将命令写入 asmcmd.txt 文件,执行 dmasmcmd script_file=asmcmd.txt,只需在一台机器执行即可。
用户没有指定脚本文件,则 dmasmcmd 进入交互模式运行,逐条解析、运行命令;
用户指定脚本文件(比如 asmcmd.txt),则以行为单位读取文件内容,并依次执行,执行完成以后,自动退出
dmasmcmd 工具。脚本文件必须以“#asm script file”开头,否则认为是无效脚本文件;脚本中其它行以“#”表示注释;脚本文件大小不超过 1M。
4.3配置dmasvrmal.ini(所有节点)
准备 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),使用 DMASM 的所有节点都要配置,内容完全一样,保存到/dm8/data 目录下:
[dmdba@EP1 data]$ vi dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME
= ASM0
MAL_HOST
= 192.168.96.171
MAL_PORT
= 7236
[MAL_INST2]
MAL_INST_NAME
= ASM1
MAL_HOST
= 192.168.96.172
MAL_PORT
= 7237
4.4配置dmdcr.ini
准备
dmdcr.ini 配置文件,保存到/dm8/data 目录下面;
DMASM 的两个节点分别配置 dmdcr.ini, dmdcr_path 相同, dmasvrmal.ini 文件内容也相同, dmdcr_seqo 分别为 0 和
1。
节点EP1:
DMDCR_PATH
= /dev/raw/raw1
DMDCR_MAL_PATH
=/dm8/data/dmasvrmal.ini
DMDCR_SEQNO
= 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL
= 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr
dcr_ini=/dm8/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL
= 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver
path=/dm8/data/dm.ini dcr_ini=/dm8/data/dmdcr.ini
节点EP2:
DMDCR_PATH
= /dev/raw/raw1
DMDCR_MAL_PATH
=/dm8/data/dmasvrmal.ini
DMDCR_SEQNO
= 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL
= 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr
dcr_ini=/dm8/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL
= 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver
path=/dm8/data/dm.ini dcr_ini=/dm8/data/dmdcr.ini
4.5启动 DMCSS、 DMASM 服务程序
在 EP1、EP2 节点先后分别启动 dmcss、 dmasmsvr 程序。
手动启动 dmcss 命令:
[dmdba@EP1 bin]$ ./dmcss DCR_INI=/dm8/data/dmdcr.ini
手动启动 dmasmsvr 命令:
[dmdba@EP1 bin]$ ./dmasmsvr DCR_INI=/home/data/dmdcr.ini
如果 DMCSS 配置有自动拉起 dmasmsvr 的功能,可以等待 DMCSS 自动拉起 dmasmsvr程序,不需要手动启动。
主 DMCSS 启动后屏幕打印如下:
4.6使用
dmasmtool 工具创建 DMASM 磁盘组
选择一个节点(EP1),启动 dmasmtool 工具。
[dmdba@EP1 bin]$./dmasmtool DCR_INI=/dm8/data/dmdcr.ini
输入下列语句创建 DMASM 磁盘组:
#创建日志磁盘组
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
#创建数据磁盘组
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
4.7准备
dminit.ini 配置文件,保存到/dm8/data 目录
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]
#inst_name 跟 dmdcr_cfg.ini 中 DB
类型 group 中 DCR_EP_NAME 对应
config_path
= /dm8/data/dsc0_config
port_num
= 5236
mal_host
= 192.168.96.171
mal_port
= 9340
log_path
= +DMLOG/log/dsc0_log01.log
log_path
= +DMLOG/log/dsc0_log02.log
[DSC1]
#inst_name 跟 dmdcr_cfg.ini 中 DB
类型 group 中 DCR_EP_NAME 对应
config_path
= /dm8/data/dsc1_config
port_num
= 5237
mal_host
= 192.168.96.172
mal_port
= 9341
log_path
= +DMLOG/log/dsc1_log01.log
log_path
= +DMLOG/log/dsc1_log02.log
4.8使用
dminit 初始化 DB 环境
选择一个节点EP1,启动 dminit 工具初始化数据库。 dminit 执行完成后,会在config_path 目录(/dm8/data/dsc0_config 和/dm8/data/dsc1_config)下生成配置文件 dm.ini 和 dmmal.ini。
[dmdba@EP1 bin]$ ./dminit control=/dm8/data/dminit.ini
屏幕打印如下:
4.9启动数据库服务器
将 EP1 机器/dm8/data/dsc1_config 目录拷贝到 EP2 机器相同目录下,再分别启动 dmserver 即可完成 DMDSC 集群搭建。
如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。
如果需要手动启动,可参考下面的操作步骤:
EP1 机器:
./dmserver
/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdcr.ini
EP2 机器:
./dmserver
/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdcr.ini
4.10注册dmcss系统服务
[root@EP1 root]# ./dm_service_installer.sh -t dmcss -dcr_ini
/dm8/data/dmdcr.ini -p DSC0
[root@EP1 root]# systemctl enable DmCSSServiceDSC0
[root@EP2 root]# ./dm_service_installer.sh -t dmcss -dcr_ini
/dm8/data/dmdcr.ini -p DSC1
[root@EP2 root]# systemctl enable DmCSSServiceDSC1
4.11配置ASM和数据库实例随dmcss启动
所有节点修改dmdcr.ini中DMDCR_ASM_RESTART_INTERVAL
和DMDCR_DB_RESTART_INTERVAL 配置项,可以都设置为60(默认60s)。
EP1:
[dmdba@EP1
bin]$ more /dm8/data/dmdcr.ini
DMDCR_PATH
= /dev/raw/raw1
DMDCR_MAL_PATH
=/dm8/data/dmasvrmal.ini
DMDCR_SEQNO
= 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL
= 60
DMDCR_ASM_STARTUP_CMD
= /dm8/bin/dmasmsvr dcr_ini=/dm8/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL
= 60
DMDCR_DB_STARTUP_CMD
= /dm8/bin/dmserver path=/dm8/data/ dsc0_config/dm.ini
dcr_ini=/dm8/data/dmdcr.ini
EP2:
[dmdba@EP1
bin]$ more /dm8/data/dmdcr.ini
DMDCR_PATH
= /dev/raw/raw1
DMDCR_MAL_PATH
=/dm8/data/dmasvrmal.ini
DMDCR_SEQNO
= 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL
= 60
DMDCR_ASM_STARTUP_CMD
= /dm8/bin/dmasmsvr dcr_ini=/dm8/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL
= 60
DMDCR_DB_STARTUP_CMD
= /dm8/bin/dmserver path=/dm8/data/ dsc1_config/dm.ini
dcr_ini=/dm8/data/dmdcr.ini
4.12配置dmcssm监视器
在监视器服务器上配置dmcssm.ini,配置文件路径:/dm8/monitor
[dmdba@EP1 monitor]$ more dmcssm.ini
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID
= 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP
= 192.168.96.171:9341
CSSM_CSS_IP
= 192.168.96.172:9343
CSSM_LOG_PATH
=/dm8/monitor/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE
= 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT
= 0 #不限定日志文件总占用空间
启动dmcssm监视器:
[dmdba@EP1
bin]$ ./dmcssm ini_path=/dm8/monitor/dmcssm.ini
4.13配置dm_svc.conf
[dmdba@dm8dw01
bin]$ vi /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
dmdsc_svc=(192.168.96.171:5236,192.168.96.172:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(1000)