DMDSC 搭建

基于 DMASM 的 DMDSC

集群规划

节点机器实例名称IPPORT_NUM
allmart01CSS0192.168.192.1809836
ASM05836
DSC016636
allmart02CSS1192.168.192.1819837
ASM15837
DSC026637

环境准备

用户准备

# 新建组 dmdba
groupadd dmdba
# 在组 dmdba (第一个)中创建一个用户 dmdba (第二个)
useradd -g dmdba dmdba
# 为用户 dmdba 设置密码
passwd dmdba
# 用户输入密码,本例以 ****** 代替
******

目录准备

使用 dmdba 用户创建用于 DSC 环境搭建的目录:/home/dmdba/dmdsc。

DM 执行码和工具存放于目录:/home/dmdba/dmdsc/bin。

配置文件存放于目录:allmart01 机器/home/dmdba/dmdsc/data/DSC01 和 allmart02 机器 /home/dmdba/dmdsc/data/DSC02

mkdir -p /home/dmdba/dmdsc/bin

mkdir -p /home/dmdba/dmdsc/data/DSC01/DSC02

磁盘准备

修改两台虚拟机的vmx文件

scsi1.sharedBus = "virtual" disk.locking = "false"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.dataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize = "4096"

diskLib.maxUnsyncedWrites = "0"

disk.EnableUUID = "TRUE"

重启两台虚拟机

[root@allmart01 ~]# fdisk -l

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0009c6ea

设备 Boot Start End Blocks Id System

/dev/sda1 * 2048 2099199 1048576 83 Linux

/dev/sda2 2099200 6047743 1974272 82 Linux swap /

Solaris /dev/sda3 6047744 79699967 36826112 8e Linux LVM

磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-root:37.7 GB, 37706792960 字节,73646080 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

划存储

用途

空间规划(总共30G)

sdb1用于dcr信息

1024M

sdb2用于存放vote信息

1024M

sdb3用于存放redo log

4096M

sdb4用于存放data

剩下的全部空间

详细步骤如下:

[root@DSC1 ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x68697db2.

Command (m for help): n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-62914559, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): +1G Partition 1 of type Linux and of size 1 GiB is set

........

Command (m for help): n

Partition type: p primary (1 primary, 0 extended, 3 free)

e extended Select (default p): p

Partition number (2-4, default 2): 2

First sector (2099200-62914559, default 2099200): Using default value 2099200 Last sector, +sectors or +size{K,M,G} (2099200-62914559, default 62914559): +1G Partition 2 of type Linux and of size 1 GiB is set

Command (m for help): n

Partition type: p primary (2 primary, 0 extended, 2 free)

e extended

Select (default p): p Partition number (3,4, default 3): 3

First sector (4196352-62914559, default 4196352): Using default value 4196352 Last sector, +sectors or +size{K,M,G} (4196352-62914559, default 62914559): +4G Partition 3 of type Linux and of size 4 GiB is set

Command (m for help): n

Partition type: p primary (3 primary, 0 extended, 1 free)

e extended

Select (default e): p

Selected partition 4

First sector (12584960-62914559, default 12584960): Using default value 12584960 Last sector, +sectors or +size{K,M,G} (12584960-62914559, default 62914559): +20G Partition 4 of type Linux and of size 20 GiB is set

Command (m for help): p

Disk /dev/sdb: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x68697db2

Device Boot Start End Blocks Id System

/dev/sdb1 2048 2099199 1048576 83 Linux

/dev/sdb2 2099200 4196351 1048576 83 Linux

/dev/sdb3 4196352 12584959 4194304 83 Linux

/dev/sdb4 12584960 54527999 20971520 83 Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

挂存储方法:直接挂

  • DSC1机器、dsc机器依次修改

[root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.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"

[root@~]# partprobe /dev/sdb

[root@~]# reboot

搭建两节点 DMDSC

创建dmdcr_cfg.ini (两台机器相同)

vi /home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini

vi /home/dmdba/dmdsc/data/DSC02/dmdcr_cfg.ini

DCR_N_GRP = 3 #集群环境有多少个GROUP,范围:1~16

DCR_VTD_PATH = /dev/raw/raw2

DCR_OGUID = 1071107589

[GRP] #新建一个GROUP

DCR_GRP_TYPE = CSS #组类型(CSS/ASM/DB)

DCR_GRP_NAME = GRP_CSS #组名

DCR_GRP_N_EP = 2 #组内节点个数

DCR_GRP_DSKCHK_CNT = 60 #磁盘心跳容错时间,单位:秒

[GRP_CSS]

DCR_EP_NAME = CSS0 #CSS节点名

DCR_EP_HOST = 192.168.192.180 #心跳地址

DCR_EP_PORT = 9836 #CSS端口

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.192.181

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 #ASM节点名,和dmasvrmal的MAL_INST_NAME一致

DCR_EP_SHM_KEY = 64735 #共享内存标识

DCR_EP_SHM_SIZE = 10 #共享内存大小

DCR_EP_HOST = 192.168.192.180 #心跳地址

DCR_EP_PORT = 5836 #ASM端口

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP_ASM]

DCR_EP_NAME = ASM1

DCR_EP_SHM_KEY = 54736

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 192.168.192.181

DCR_EP_PORT = 5837

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 = DSC01 #实例名,和dm.ini的INSTANCE_NAME一致

DCR_EP_SEQNO = 0 #组内序号,不能重复

DCR_EP_PORT = 6636 #实例端口,和dm.ini的PORT_NUM一致

DCR_CHECK_PORT = 5536 #DCR检查端口

[GRP_DSC]

DCR_EP_NAME = DSC02

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 6637

初始化磁盘组

/home/dmdba/dmdbms/bin/dmasmcmd

create dcrdisk '/dev/raw/raw1' 'DCR'

create votedisk '/dev/raw/raw2' 'VOTE'

create asmdisk '/dev/raw/raw3' 'DMLOG'

create asmdisk '/dev/raw/raw4' 'DMDATA' init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini' identified by 'admin1234'

init votedisk '/dev/raw/raw2' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini'

listdisks /dev/raw 是一个与达梦数据库(DMDB)有关的命令,用于列出指定目录下的原始设备信息,尤其是在配置ASM(Automatic Storage Management)时使用。

[dmdba@DSC1 ~]$ /home/dmdba/dmdbms/bin/dmasmcmd

dmasmcmd V8

ASM>create dcrdisk '/dev/raw/raw1' 'DCR' [TRACE]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMDCR

Used time: 12.718(ms).

ASM>create votedisk '/dev/raw/raw2' 'VOTE' [TRACE]The ASM initialize votedisk /dev/raw/raw2 to name DMASMVOTE

Used time: 1.437(ms).

ASM>create asmdisk '/dev/raw/raw3' 'DMLOG' [TRACE]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMDMLOG

Used time: 1.634(ms). ASM>create asmdisk '/dev/raw/raw4' 'DMDATA' [TRACE]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMDMDATA

Used time: 1.857(ms).

ASM>init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini' identified by 'admin1234' [TRACE]DG 126 alloc extent for inode (0, 0, 1) [TRACE]DG 126 alloc 4 extents for 0xfe000002 (0, 0, 2)->(0, 0, 5)

Used time: 15.110(ms).

ASM>init votedisk '/dev/raw/raw2' from '/home/dmdba/dmdsc/data/DSC01/dmdcr_cfg.ini' [TRACE]DG 125 alloc extent for inode (0, 0, 1) [TRACE]DG 125 alloc 4 extents for 0xfd000002 (0, 0, 2)->(0, 0, 5)

Used time: 7.009(ms).

ASM>

配置 dmasvrmal.ini(相同)

vi /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini

[MAL_INST1]

MAL_INST_NAME= ASM0

MAL_HOST= 192.168.192.180

MAL_PORT= 4836

[MAL_INST2]

MAL_INST_NAME= ASM1

MAL_HOST= 192.168.192.181

MAL_PORT= 4837

配置dmdcr.ini

vi /home/dmdba/dmdsc/data/DSC01/dmdcr.ini

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC01/dmasvrmal.ini

DMDCR_SEQNO = 0 #

DMDCR_ASM_RESTART_INTERVAL = 0 #

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdsc/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini #

DMDCR_DB_RESTART_INTERVAL = 0 #

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdsc/bin/dmserver path=/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini

vi /home/dmdba/dmdsc/data/DSC02/dmdcr.ini

DMDCR_PATH = /dev/raw/raw1 
DMDCR_MAL_PATH = /home/dmdba/dmdsc/data/DSC02/dmasvrmal.ini 
DMDCR_SEQNO = 1 # 
DMDCR_ASM_RESTART_INTERVAL = 0 # 
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdsc/bin/dmasmsvr 
dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini # 
DMDCR_DB_RESTART_INTERVAL = 0 # 
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdsc/bin/dmserver 
path=/home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini 
dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini

ROOT用户执行:

sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdbms/bin/dmasmsvr

sudo setcap cap_net_raw,cap_net_admin=eip /home/dmdba/dmdbms/bin/dmserver

启动DMCSS:

主节点(180)

nohup /home/dmdba/dmdbms/bin/dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini &

备节点(181)

nohup /home/dmdba/dmdbms/bin/dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini &

启动DMASMSVR

主节点(180)

nohup /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini &

备节点(181)

nohup /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini &

创建DMASM磁盘组

/home/dmdba/dmdbms/bin/dmasmtool dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.in

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

主机配置文件

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

LOG_SIZE= 512 DCR_

PATH= /dev/raw/raw1

DCR_SEQNO= 0

AUTO_OVERWRITE= 1

PAGE_SIZE = 32

EXTENT_SIZE = 16

[DSC01]

CONFIG_PATH= /home/dmdba/dmdsc/data/DSC01/DSC01_conf

PORT_NUM = 6636

MAL_HOST= 192.168.192.180

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 = 6637

MAL_HOST= 192.168.192.181

MAL_PORT= 6537

LOG_PATH= +DMLOG/log/DSC02_log1.log

LOG_PATH= +DMLOG/log/DSC02_log2.log

使用 DMINIT 初始化一个节点的数据库环境(DSC1)。

/home/dmdba/dmdbms/bin/dminit control=/home/dmdba/dmdsc/data/DSC01/dminit.ini

[dmdba@DSC1 bin]$ /home/dmdba/dmdbms/bin/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 2025-03-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 FILE "/home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini" has already existed

FILE "/home/dmdba/dmdsc/data/DSC01/DSC01_conf/sqllog.ini" has already existed FILE "/home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini" has already existed

FILE "/home/dmdba/dmdsc/data/DSC02/DSC02_conf/sqllog.ini" has already existed FILE "+DMDATA/data/dsc/dm.ctl" has already existed

FILE "+DMLOG/log/DSC01_log1.log" has already existed write to dir [+DMDATA/data/dsc]. create dm database success. 2024-06-13 16:48:38

使用拷贝的方式配置另外一个节点的数据库环境。

scp -r /home/dmdba/dmdsc/data/DSC02/* dmdba@192.168.192.181:/home/dmdba/dmdsc/data/DSC02/

[dmdba@DSC1 DSC02_conf]$ scp -r /home/dmdba/dmdsc/data/DSC02/* dmdba@192.168.192.181:/home/dmdba/dmdsc/data/DSC02/

The authenticity of host '192.168.192.181 (192.168.192.181)' can't be established. ECDSA key fingerprint is SHA256:UI//v9tDnoTWMVcLhuW1Mp/xqRAMdMdmb2+AN4fEEUs.

ECDSA key fingerprint is MD5:b2:dd:2d:49:03:5a:90:89:3c:07:9a:d1:14:71:14:65. Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.192.181' (ECDSA) to the list of known hosts. dmdba@192.168.192.181's password: dm.ini 100% 76KB 47.2MB/s 00:00 sqllog.ini 100% 714 1.9MB/s 00:00 dmmal.ini 100% 212 681.7KB/s 00:00

[dmdba@DSC1 DSC02_conf]$

分别启动两个节点的服务器

180节点服务器启动:

/home/dmdba/dmdbms/bin/dmserver dcr_ini=/home/dmdba/dmdsc/data/DSC01/dmdcr.ini /home/dmdba/dmdsc/data/DSC01/DSC01_conf/dm.ini

181节点服务器启动:

/home/dmdba/dmdbms/bin/dmserver dcr_ini=/home/dmdba/dmdsc/data/DSC02/dmdcr.ini /home/dmdba/dmdsc/data/DSC02/DSC02_conf/dm.ini

配置并启动 DMCSSM 监视器

#和DMDCR_CFG.INI中的DCR_OGUID保持一致

CSSM_OGUID = 1071107589

#配置所有CSS的连接信息,

#与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致

CSSM_CSS_IP = 192.168.198.180:9836

CSSM_CSS_IP = 192.168.198.181:9837

CSSM_LOG_PATH = /home/dmdba/dmdsc/data/cssm_log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大32M

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

#和DMDCR_CFG.INI中的DCR_OGUID保持一致

CSSM_OGUID = 509317566 #配置所有CSS的连接信息, #与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致

CSSM_CSS_IP = 192.168.192.180:9836

CSSM_CSS_IP = 192.168.192.181:9837

CSSM_LOG_PATH = /home/dmdba/dmdsc/data/cssm_log #监视器日志文件存放路径,没有的话需要创建

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大32M

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

  • 创建MCSSM 的日志存放路径

mkdir /home/dmdba/dmdsc/data/cssm_log

  • 启动 DMCSSM 集群监视器

[dmdba@DSC1 data]$ /home/dmdba/dmdbms/bin/dmcssm ini_path=/home/dmdba/dmdsc/data/dmcssm.ini [monitor] 2024-06-13 17:41:04: CSS MONITOR V8 [monitor] 2024-06-13 17:41:04: CSS MONITOR SYSTEM IS READY. [monitor] 2024-06-13 17:41:04: Wait CSS Control Node choosed... [monitor] 2024-06-13 17:41:05: Wait CSS Control Node choosed succeed.

show 

达梦社区地址:https://eco.dameng.com

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值