DSC集群的搭建

DMDSC(DM8)集群的搭建

  1. DMDSC的简介:DMDSC又称为达梦数据库共享集群,类似Oracle RAC。

  2. 搭建的环境准备
    2.1准备一台物理机做共享磁盘

2.2准备中标麒麟7的镜像文件(biao.iso)
安装两台虚拟机DSC1,DSC2
每台机子内外网IP只用一个,对于初搭者,只设置一个IP,不太会容易出错
第一台虚拟机名:DSC1 IP:192.168.1.95 hostname:DSC1
第二台虚拟机名:DSC2 IP:192.168.1.96 hostmane:DSC2



2.3准备安装虚拟机的软件VMware

2.4准备DM8的Linux安装包(dm8_setup_rh7.iso)(可以去达梦官网下载)

  1. 开始安装WMware和中标麒麟虚拟机环境
    3.1安装VMware,没啥技术含量,选择安装路径一键安装就可以了。

3.2在WMware软件中安装中标麒麟7的虚拟机
第一步,打开WMware-----文件-----新建虚拟机
在这里插入图片描述

第二步,默认点击下一步,直到要选择安装镜像文件的路径界面,选择要安装的镜像文件
在这里插入图片描述

第三步,点击下一步,直到要设置虚拟机的名字和安装路径
在这里插入图片描述

第四步,点击下一步,设置下面的虚拟机的内存和硬盘空间的大小,根据你自己的需求,配置相对应的值,然后点击下一步。

第五步,开启虚拟机虚拟机,设置安装GUI界面安装
在这里插入图片描述

第六步,点击开始安装按钮
在这里插入图片描述

第七步:设置root账户的用户密码
在这里插入图片描述
第八步:点击reboot按钮完成虚拟机的安装
在这里插入图片描述
第九步:重启之后就是设置一些许可证接受、时区之类的很简单,没啥技术含量



第十步:用root用户登入虚拟机,改主机名,
改主机名在/etc/hostname, 直接将localhost.localdomain,修改成你所需要的主机名,我这边举例改成DSC1

第十一步:设置IP地址,可以直接在/etc/sysconfig/network-scripts/ ifcfg-ens33配置文件里面修改
这里面我只设置了一个IP
在这里插入图片描述

第十二步:关闭防火墙:可以用命令关闭,重启时生效
以root用户,右击打开终端命令,
关闭防火墙命令:systemctl disable firewalld
查看防火墙状态:systemctl status firewalld


第十三步:把数据库的安装包,拷贝到home路径下,然后重启机器可以安装数据库。

4.安装DM8数据库
TIP: 安装数据库和使用数据库的时候一定要用dmdba用户进行相关操作,直接用root用户安装数据库和之后的一系列操作,有时候会出现不可修复的问题

4.1 创建安装数据库的用户和组(千万不要以root用户安装数据库,有不可控的问题)
用root打开终端,执行创建用户的命令
创建组:groupadd dinstall
创建用户:useradd -g dinstall dmdba
创建密码:passwd dmdba
设置密码的时候会让你输入新的密码, 我这边设置的是:dameng123




4.2 创建安装数据库的路径
用root打开终端,执行创建用户的命令:mkdir – p /dm8
4.3 给dm8文件夹赋予dmdba的权限
用root打开终端,执行创建用户的命令:chown dmdba:dinstall -R /dm8


4.4 dmdba设置环境变量
用root打开终端,执行切换用户的命令:su – dmdba
以dmdba用户配置环境变量:vi .bash_profile
配置内容如下:
在这里插入图片描述



4.5 配置最大文件打开数
用root打开终端,执行切换用户的命令:vi /etc/security/limits.conf
添加两行命令:dmdba soft nofile 4096
dmdba hard nofile 65536


4.6 挂载数据库文件
用root打开终端,执行切换用户的命令:cd /home
执行命令:mount -o loop /home/dm8_setup_rh7.iso /mnt
检查挂载是否成功命令:cd /mnt
ll
执行成功后有两个文件会显示出来
在这里插入图片描述
TIPS:在做完以上的步骤安装数据库之前可以采用虚拟机克隆的模式,安装另一个节点的虚拟机,可以省略上面的步骤,节约时间,步骤很简单。
DSC1虚拟机关机,右击管理-克隆-下一步-下一步-创建完整克隆-下一步(设置你克隆虚拟机名字DSC2和安装路径),完成克隆操作,操作结束之后,打开克隆的虚拟机DSC2,改一下它的主机名和IP以免和被克隆的机子DSC1发生冲突







4.7 切换成dmdba用户来安装数据库
用root打开终端,执行切换用户的命令:su – dmdba
cd /mnt
./DMInstall.bin
安装数据库图形化界面会打开,选择时区,点击确定按钮 在这里插入图片描述
点击下一步,直到出现,需要选择key路径的界面,可以忽略不选择,点击下一步
在这里插入图片描述





选择典型安装,点击下一步在这里插入图片描述

选择你所需要安装的路径,点击下一步,再点击安装就可以进行数据库安装了
在这里插入图片描述

安装过程中会让以root用户执行脚本完成本次的数据库安装
用root打开终端,执行切换用户的命令:/dm/script/root/root_installer.sh

  1. 开始搭建DSC集群
    5.1 通过WMware创建共享磁盘
    切到你装VMware的vmware-vdiskmanager.exe路径下
    执行命令创建共享磁盘:
    vmware-vdiskmanager.exe -c -s 10G -a lsilogic -t 2 D:\sharedisk\sharedisk.vmdk
    解释:-t 2的意思是预分配磁盘空间,可以用-t 0选项,这样就不会占用空间了,实际用多少就多少
    5.2 挂载共享磁盘(暂时现在DSC1上面进行挂载,DSC2具体何时挂载我下面会说,挂太早容易出现问题,我之前就因为共享磁盘挂载,搭建这个服务卡很久)
    右击虚拟机设置-添加-硬盘-点击下一步
    在这里插入图片描述
    选择使用现有虚拟硬盘,点击下一步在这里插入图片描述
    选择创建好的共享磁盘的路径,点击完成,完成挂载共享磁盘
    在这里插入图片描述










5.3 在共享磁盘上裸设备划分(DSC1上执行)
输入fdisk /dev/sdb
依次输入 n  p  1 回车 +100M 回车,完成第一块磁盘划分
依次输入 n  p  2 回车 +100M 回车,完成第二块磁盘划分
依次输入 n  p  3 回车 +2048M 回车,完成第三块磁盘划分
依次输入 n  p  4 回车回车回车,完成第四块磁盘划分
5.4 编辑/etc/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
5.5 以root用户查看裸设备是否绑定成功:ll /dev/raw/raw*
5.6 配置dmdcc_cfg.ini,只需要在一个节点上配置(TIPS:所有的操作都要用dmdba操作,不要以root用户创建,不然后面执行一些东西,会因为权限的问题出现乱起八糟的事情,经验之谈)
创建dmdcc_cfg.ini文件,文件路径在:/dm8/data/dmdsc/
内容如下:
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.1.95
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.1.96
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 #与DMASM使用的dmmal.ini mal_inst_name相同
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.1.95
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1 #与DMASM使用的dmmal.ini mal_inst_name相同
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.1.96
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 = DMSERVER0 #与数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_DSC]
DCR_EP_NAME = DMSERVER1 #与数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742

































































5.7 初始化共享磁盘
使用DMASMCMD工具初始化共享磁盘:
(只需在配置好dmdcr_cfg.ini的1个节点上执行即可,切记只要在一个节点上执行不然会出问题,都认为自己为控制节点)
用root打开终端,执行切换用户的命令:su – dmdba
cd /dm8/bin
./dmasmcmd
create dcrdisk ‘/dev/raw/raw1’ ‘DCR’
create votedisk ‘/dev/raw/raw2’ ‘VOTE’
create asmdisk ‘/dev/raw/raw3’ ‘LOG01’
create asmdisk ‘/dev/raw/raw4’ ‘DATA01’
init dcrdisk ‘/dev/raw/raw1’ from '/dm8/data/dmdsc/dmdcr_cfg.ini’identified by ‘abcd’
init votedisk ‘/dev/raw/raw2’ from ‘/dm8/data/dmdsc/dmdcr_cfg.ini’










5.8 配置dmasvrmal.ini(两个节点上都要配置)
dmasvrmal.ini文件为DMASM的MAL配置文件,使用DMASM的两个节点配置的内容要完全一样。文件路径:/dm8/data/dmdsc/
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.1.95
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.1.96
MAL_PORT = 7237








5.9 配置dmdcr.ini(两个节点都要配置),文件路径:/dm8/data/dmdsc/
两个节点的dmdcr_seqo分别为0和1
节点一DSC1:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmdsc/dmasvrmal.ini #dmasmsvr使用的MAL配置文件路径
DMDCR_SEQNO = 0
#ASM重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini
#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini










节点二DSC2:
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/data/dmdsc/dmasvrmal.ini #dmasmsvr使用的MAL配置文件路径
DMDCR_SEQNO = 1
#ASM重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini
#DB重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini








5.10 挂载节点二DSC2的共享磁盘,步骤见5.2

5.11 启动DMCSS、DMASM服务程序
在节点1和2先后分别启动dmcss、dmasmsvr程序
切换成dmdba用户到/dm8/bin路径下,启动dmcss命令:
./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini
切换成dmdba用户到/dm8/bin路径下, 启动dmasmsvr命令:
./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini
执行成功后,主节点,dmcss启动后会打印信息:
也可以次节点上dmcss窗口打印show命令,来看执行结果在这里插入图片描述






5.12 创建DMASM共享磁盘组
选择一个节点创建共享磁盘组,我是主节点启动dmasmtool,创建共享磁盘
[dmdba@DSC1 ~]$ cd /dm8/bin
[dmdba@DSC1 bin]$ ./dmasmtool DCR_INI=/dm8/data/dmdsc/dmdcr.ini
DMASMTOOL V8
ASM>create diskgroup ‘DMLOG’ asmdisk ‘/dev/raw/raw3’
Used time: 29.449(ms).
ASM>create diskgroup ‘DMDATA’ asmdisk ‘/dev/raw/raw4’
Used time: 16.125(ms)







5.13 初始化数据库实例
A. 配置dminit.ini,文件路径/dm8/data/dmdsc,配置文件内容
可以在任意节点配置该内容,并使用dminit初始化数据库
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 #注意磁盘空间大小128*4
dcr_path = /dev/raw/raw1 #dcr磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[RAC0] #inst_name跟 dmdcr_cfg.ini 中DB类型group中DCR_EP_NAME对应
config_path = /dm8/data/dsc0_config
port_num = 5236
mal_host = 192.168.1.95
mal_port = 9340
log_path = +DMLOG/log/RAC0_log01.log
log_path = +DMLOG/log/RAC0_log02.log
[RAC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm8/data/dsc1_config
port_num = 5236
mal_host = 192.168.1.96
mal_port = 9341
log_path = +DMLOG/log/RAC1_log01.log
log_path = +DMLOG/log/RAC1_log02.log





























B. 使用dminit初始化实例,初始化成功后会在/dm8/data/dsc0_config和/dm8/data/dsc1_config生成配置文件dm.ini和dmmal.ini。然后拷贝/dm8/data//dsc1_config 到节点2上/dm8/data
[dmdba@DSC1 bin]$ ./dminit control=/dm8/data/dmdsc/dminit.ini
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2021-06-24
log file path: +DMLOG/log/RAC0_log01.log
log file path: +DMLOG/log/RAC0_log02.log
log file path: +DMLOG/log/RAC1_log01.log
log file path: +DMLOG/log/RAC1_log02.log
write to dir [+DMDATA/data/dsc].
create dm database success. 2020-12-17 14:29:14










5.14 启动数据库服务,在dm8/bin路径下执行
./dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini
./dmserver path=/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini
在这里插入图片描述


5.15 配置服务器自启动
A. 修改ASM和数据库实例随dmcss启动,两个节点的dmdcr.ini的配置文件修改两个参数(DMDCR_ASM_RESTART_INTERVAL、DMDCR_DB_RESTART_INTERVAL)值为60

B. 将数据库注册成服务(root 用户执行命令),两个节点都要执行
/dm8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC0
/dm8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC1
在这里插入图片描述


5.16 配置监听服务器
监听器配置文件dmcssm.ini,配置文件路径:/dm8/monitor,可以在任意节点上配置或者第三台机子都可以,我是配置在次节点上的,配置文件内容
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.1.95:9341
CSSM_CSS_IP = 192.168.1.96:9343
CSSM_LOG_PATH =/dm8/monitor/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
启动dmcssm监视器命令,也是在dm8/bin路径下dmdba用户启动:
./dmcssm ini_path=/dm8/monitor/dmcssm.ini











5.17 配置dm_svc.conf,在dmdba用户下编辑etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
rac=(192.168.1.95:5236,192.168.1.96:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(1000)




连接数据库服务:./disql sysdba/SYSDBA@rac
select * from v$instance;

控制节点结果显示如下:
在这里插入图片描述
普通节点执行结果显示如下:
在这里插入图片描述


至此DSC集群环境就搭建成功了!!!
最后一些注意:虚拟机有快照功能,挂载共享磁盘之后不要轻易快照,会有问题。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章