注册
DSC两节点集群部署 国产操作系统麒麟3.3 X86架构
培训园地/ 文章详情 /

DSC两节点集群部署 国产操作系统麒麟3.3 X86架构

Cccc 2025/06/26 167 1 0

DM8:DMDSC共享存储集群搭建(2节点)
环境准备
本地环境信息
操作系统版本:虚拟机-麒麟3.3 x86架构
数据库版本dm8
规划机器名称DMDSC01、DMDSC02
规划ip地址外部:192.168.133.21、192.168.133.22
内部地址:10.10.10.1、10.10.10.2
需提前在两台虚拟机上安装数据库软件目录,不需要部署实例
提前配置两个网卡确保网络能ping通
部署前提前创建好dmdba用户及dinstall组
一、绑定共享存储
使用工具在自己电脑上创建4个虚拟磁盘作为共享磁盘,cmd命令进入到虚拟机软件目录下执行
"D:\Program Files (x86)\vmware\vmware-vdiskmanager.exe" -c -s 5G -a lslogic -t 2 "F:\iso\Sharedisk\sdb.vmdk"
"D:\Program Files (x86)\vmware\vmware-vdiskmanager.exe" -c -s 5G -a lslogic -t 2 "F:\iso\Sharedisk\sdc.vmdk"
"D:\Program Files (x86)\vmware\vmware-vdiskmanager.exe" -c -s 10G -a lslogic -t 2 "F:\iso\Sharedisk\sdd.vmdk"
"D:\Program Files (x86)\vmware\vmware-vdiskmanager.exe" -c -s 10G -a lslogic -t 2 "F:\iso\Sharedisk\sde.vmdk"
image.png

通过虚拟机添加共享磁盘

image.png
image.png
image.png
配置文件后缀为vmx后缀添加
diskLib.dataCacheMaxSize=0
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"
scsi1.sharedBus = "virtual"
启动虚拟机检查是否识别磁盘信息
执行
fdisl -l
image.png
对共享存储进行分区格式化(只在一个节点执行)
fdisk /dev/sdd
fdisk /dev/sdc
fdisk /dev/sde
fdisk /dev/sdf
image.png

全部默认回车
本节使用 UDEV 工具来固定磁盘
1.通过 scsi_id 获取磁盘信息
/usr/lib/udev/scsi_id -g -u /dev/sdd
image.png
以此方法获取其他盘信息
2.创建磁盘链接。
编写/etc/udev/rules.d/66-dmdevices.rules 配置信息,创建磁盘链接。书
写时一个 KERNEL 为一行,不能换行,RESULT==后填写上一步查询到的scsi_id

DCR 磁盘配置,且在软链接之前创建文件夹 /dev_DSC2

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id
--whitelisted --replace-whitespace
--device=/dev/$name",RESULT=="234074fa79680f431",SYMLINK+="DCR",
OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba
/dev/$name;mkdir -p /dev_DSC2; ln -s /dev/DCR /dev_DSC2/DCR'"

VOTE 磁盘配置

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id
--whitelisted --replace-whitespace
--device=/dev/$name",RESULT=="234074fa746a006ac",SYMLINK+="VOTE",
OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba
/dev/$name; ln -s /dev/VOTE /dev_DSC2/VOTE'"

DMDATA 磁盘配置

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id
--whitelisted --replace-whitespace
--device=/dev/$name",RESULT=="234074fa7f643c18b",SYMLINK+="DMDATA",
OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba
/dev/$name; ln -s /dev/DMDATA /dev_DSC2/DMDATA'"

DMLOG 磁盘配置,且在搭建完成之后,将权限直接赋予 dmdba 组的 dmdba 用户

KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id
--whitelisted --replace-whitespace
--device=/dev/$name",RESULT=="234074fa795eb6057",SYMLINK+="DMLOG",
OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba
/dev/$name; ln -s /dev/DMLOG /dev_DSC2/DMLOG ; chown -R dmdba:dmdba /dev_DSC2
'"
从配置信息可以看出,通过 scsi id 找到磁盘后,在 /dev/下命名了磁盘信息,然
后再做软链接到 /dev_DSC2 下。
以上配置在 107 和 110 机器完全相同,2 台机器均完成之后,进行下一步。
3. 重启 systemd-udev-trigger 服务。
[root@DSC01 ~]# systemctl restart systemd-udev-trigger
[root@DSC02 ~]# systemctl restart systemd-udev-trigger
搭建之前磁盘权限信息如下:
[dmdba@test107 ~]# ls -lth /dev_DSC2/
总用量 0
lrwxrwxrwx 1 dmdba dmdba 32 10 月 31 14:06 DMDATA -> /dev/DMDATA
lrwxrwxrwx 1 dmdba dmdba 32 10 月 31 14:06 DMLOG -> /dev/DMLOG
lrwxrwxrwx 1 dmdba dmdba 27 10 月 31 14:05 VOTE -> /dev/VOTE
lrwxrwxrwx 1 dmdba dmdba 27 10 月 31 14:05 DCR -> /dev/DCR
[dmdba@test110 ~]# ls -lth /dev_DSC2/
总用量 0
lrwxrwxrwx 1 dmdba dmdba 32 10 月 31 14:06 DMDATA -> /dev/DMDATA
lrwxrwxrwx 1 dmdba dmdba 32 10 月 31 14:06 DMLOG -> /dev/DMLOG
lrwxrwxrwx 1 dmdba dmdba 27 10 月 31 14:05 VOTE -> /dev/VOTE
lrwxrwxrwx 1 dmdba dmdba 27 10 月 31 14:05 DCR -> /dev/DCR
搭建两节点 DMDSC
搭建的配置文件分别存放于 107 机器的/home/dmdba/data/DSC01 和 110 机器的
/home/dmdba/data/DSC02 下。

  1. 准 备 配 置 文 件 DMDCR_CFG.INI 文 件 , 保 存 到 107 机 器 的
    /home/dmdba/dmdsc/data/DSC01 下。
    DCR_N_GRP= 3
    DCR_VTD_PATH=/dev_DSC2/VOTE
    DCR_OGUID= 1071107589
    [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.102.107
    DCR_EP_PORT = 9836
    [GRP_CSS]
    DCR_EP_NAME = CSS1
    DCR_EP_HOST = 192.168.102.110
    DCR_EP_PORT = 9837
    [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= 64735
    DCR_EP_SHM_SIZE= 512
    DCR_EP_HOST= 192.168.102.107
    DCR_EP_PORT= 5836
    DCR_EP_ASM_LOAD_PATH= /dev_DSC2
    [GRP_ASM]
    DCR_EP_NAME= ASM1
    DCR_EP_SHM_KEY= 54736
    DCR_EP_SHM_SIZE= 512
    DCR_EP_HOST= 192.168.102.110
    DCR_EP_PORT= 5837
    DCR_EP_ASM_LOAD_PATH= /dev_DSC2
    [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= DSC01
    DCR_EP_SEQNO= 0
    DCR_EP_PORT= 6636
    DCR_CHECK_PORT= 7436
    [GRP_DSC]
    DCR_EP_NAME= DSC02
    DCR_EP_SEQNO= 1
    DCR_EP_PORT= 6637
    DCR_CHECK_PORT= 7437
  2. 在 DSC01 机器使用 DMASMCMD 工具初始化所有磁盘。
    create dcrdisk '/dev_DSC2/DCR' 'DCR'
    create votedisk '/dev_DSC2/VOTE' 'VOTE'
    create asmdisk '/dev_DSC2/DMDATA' 'DMDATA'
    create asmdisk '/dev_DSC2/DMLOG' 'DMLOG'
    init dcrdisk '/dev_DSC2/DCR' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini'
    identified by 'SYSDBA'
    init votedisk '/dev_DSC2/VOTE' from
    '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini'
  3. 准 备 DMASM 的 MAL 配 置 文 件 DMASVRMAL.INI , 保 存 到 DSC01 的
    /home/dmdba/dmdsc/data/DSC01 下。

[MAL_INST1]
MAL_INST_NAME= ASM0
MAL_HOST= 192.168.102.107
MAL_PORT= 4836
[MAL_INST2]
MAL_INST_NAME= ASM1
MAL_HOST= 192.168.102.110
MAL_PORT= 4837
4. 为 DSC02 配置 DMASVRMAL.INI,和 DSC01 的 DMASVRMAL.INI 内容完全一样。
保存到 110 的/home/dmdba/dmdsc/data/DSC02 下。
5. 准备DMDCR.INI文件,保存到107 的/home/dmdba/dmdsc/data/DSC01下。
DMDCR_PATH = /dev_DSC2/DCR
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/bin/dmasmsvrm
dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/bin/dmserver
path=/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini
dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
6. 为DSC02配置DMDCR.INI,保存到110 的/home/dmdba/dmdsc/data/DSC02
下。
DMDCR_PATH = /dev_DSC2/DCR
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/bin/dmasmsvrm
dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/bin/dmserver
path=/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini
dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
7. 启动 DMCSS、DMASM 服务程序。
主节点 DSC01启动 DMCSS:
./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
另一节点 DSC02 启动 DMCSS:
./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
主节点 DSC01 启动 DMASMSVR:
./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
另一节点 DSC02 启动 DMASMSVR:
./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
8. 使用 DMASMTOOL 工具创建 ASM 磁盘组,在 DSC01 上登录创建:
./dmasmtool dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
创建一个 DATA 磁盘组和一个 LOG 磁盘组。
#创建 DATA 磁盘组
CREATE DISKGROUP DMDATA asmdisk '/dev_DSC2/DMDATA'
#创建 LOG 磁盘组
CREATE DISKGROUP DMLOG asmdisk '/dev_DSC2/DMLOG'
在 107 机 器 上 准 备 DMINIT.INI 配 置 文 件 , 保 存 到 /home/dmdba/data/DSC01 目录下。
DB_NAME= dsc2
SYSTEM_PATH= +DMDATA/data
SYSTEM= +DMDATA/data/dsc2/system.dbf
SYSTEM_SIZE= 128
ROLL= +DMDATA/data/dsc2/roll.dbf
ROLL_SIZE= 128
MAIN= +DMDATA/data/dsc2/main.dbf
MAIN_SIZE= 128
CTL_PATH= +DMDATA/data/dsc2/dm.ctl
LOG_SIZE= 2048
DCR_PATH= /dev_CY_DISK_2/DISK2_FC1_1G
DCR_SEQNO= 0
AUTO_OVERWRITE= 2
PAGE_SIZE = 16
EXTENT_SIZE = 16
[DSC01]
CONFIG_PATH= /home/dmdba/dmdsc/data/DSC01/DSC01_conf
PORT_NUM = 6636
MAL_HOST= 192.168.102.107
MAL_PORT= 6536
LOG_PATH= +DMLOG/log/DSC01_log1.log
LOG_PATH= +DMLOG/log/DSC01_log2.log
[DSC02]
CONFIG_PATH= /home/dmdba/dmdsc/data/DSC02/DSC02_conf
PORT_NUM = 6636
MAL_HOST= 192.168.102.110
MAL_PORT= 6536
LOG_PATH= +DMLOG/log/DSC02_log1.log
LOG_PATH= +DMLOG/log/DSC02_log2.log

10.使用 DMINIT 初始化一个节点的数据库环境。
选择一个节点,启动 DMINIT 初始化数据库,这里以 DSC01 为例。DMINIT 执行完成后,
会在 config_path 目录(/home/dmdba/dmdsc/data/DSC01/DSC01_conf 和
/home/dmdba/dmdsc/data/DSC02/DSC02_conf)下生成配置文件 DM.INI 和
DMMAL.INI。
./dminit control=/home/dmdba/dmdsc/data/DSC01/dminit.ini
打印如下:
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-10-21
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: +DMLOG/log/DSC01_log1.log
log file path: +DMLOG/log/DSC01_log2.log
log file path: +DMLOG/log/DSC02_log1.log
log file path: +DMLOG/log/DSC02_log2.log
write to dir [+DMDATA/data/dsc2].
create dm database success. 2022-10-31 15:36:48
11.使用拷贝的方式配置另外一个节点的数据库环境。
将 DSC01 上 初 始 化 库 时 产 生 的 DSC02 节 点 的 配 置 文 件 ( 整 个DM8
/home/dmdba/dmdsc/data/DSC02 文 件 夹 ) 复 制 到
DSC02 机 器 的 /home/dmdba/dmdsc/data/DSC02/目录下。之后就可以启动数据库服务器了。
scp -r /home/dmdba/dmdsc/data/DSC02/* dmdba@192.168.100.110:/home/dmdba/dmdsc/data/DSC02/
12.启动数据库服务器
分别启动两个节点的服务器。
107 节点服务器启动:
cd /home/dmdba/dmdsc/bin
./dmserver dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini
/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini
110 节点服务器启动:
cd /home/dmdba/dmdsc/bin
./dmserver dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini
/home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini
13.配置并启动 DMCSSM 监视器。
现在我们搭建监视器,配置 DMCSSM.INI 文件。
DMCSSM 在任何机器上均可以启动,只要该台机器和 DMDSC 的真实机器网络是相通的,
就可以监控 DMDSC 集群信息。
这里我们选择在 DSC01 机器上搭建监视器。/home/dmdba/dmdsc/data 目录中
DMCSSM.INI 详细内容如下:
#和 DMDCR_CFG.INI 中的 DCR_OGUID 保持一致
CSSM_OGUID = 1071107589
#配置所有 CSS 的连接信息,
#与 DMDCR_CFG.INI 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 192.168.102.107:9836
CSSM_CSS_IP = 192.168.102.110:9837
CSSM_LOG_PATH = /home/dmdba/dmdsc/data/cssm_log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
创建 DMCSSM 的日志存放路径。
mkdir /home/dmdba/dmdsc/data/cssm_log
启动 DMCSSM 集群监视器
./dmcssm ini_path=/home/dmdba/dmdsc/data/dmcssm.ini
DMCSSM 启动之后,可使用 show 命令在 DMCSSM 监视器中查看集群状态信息。
image.png
至此,基于 DMASM 的 DMDSC 已经搭建完成。
注册服务
2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root 目录。
su - root
cd /home/dmdba/dmdbms/script/root
节点 一执行以下命令:
./dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdsc/data/DSC01dmdcr.ini -p DSC
./dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -p DSC -y DmCSSServiceDSC.service
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini -dcr_ini /home/dmdba/dmdsc/data/DSC01/dmdcr.ini -p DSC -y DmASMSvrServiceDSC.service
重启集群
停止: A/B 机器 DMSERVER→A/B 机器 ASM→A/B 机器 CSS
/home/dmdba/dmdbms/bin/DmServiceDSC stop
/home/dmdba/dmdbms/bin/DmASMSvrServiceDSC stop
/home/dmdba/dmdbms/bin/DmCSSServiceDSC stop
启动:A/B 机器 CSS (CSS 启动后 30 秒自动拉起 ASM,60 秒自动拉起 DMSERVER。)
/home/dmdba/dmdbms/bin/DmCSSServiceDSC start
关闭顺序:dmserver—>dmasmsvr—>dmcss

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服