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"
通过虚拟机添加共享磁盘
配置文件后缀为vmx后缀添加
diskLib.dataCacheMaxSize=0
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
scsi1.sharedBus = "virtual"
启动虚拟机检查是否识别磁盘信息
执行
fdisl -l
对共享存储进行分区格式化(只在一个节点执行)
fdisk /dev/sdd
fdisk /dev/sdc
fdisk /dev/sde
fdisk /dev/sdf
全部默认回车
本节使用 UDEV 工具来固定磁盘
1.通过 scsi_id 获取磁盘信息
/usr/lib/udev/scsi_id -g -u /dev/sdd
以此方法获取其他盘信息
2.创建磁盘链接。
编写/etc/udev/rules.d/66-dmdevices.rules 配置信息,创建磁盘链接。书
写时一个 KERNEL 为一行,不能换行,RESULT==后填写上一步查询到的scsi_id
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'"
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'"
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'"
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 下。
[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 监视器中查看集群状态信息。
至此,基于 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
文章
阅读量
获赞