DM8 DMDSC 共享存储集群安装部署

DM8 DMDSC 共享存储集群安装部署

1.配置环境

主机名

ip地址

实例名

端口

MAL_PORT

dmdsc1

192.168.43.151

192.168.3.151

DSC1

5236

15236

dmdsc2

192.168.43.152

192.168.3.151

DSC2

5236

15236

2.在共享磁盘上裸设备划分

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

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0xe75e1bd7 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

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

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

磁盘标签类型:dos

磁盘标识符:0xe75e1bd7

   设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):n

Partition type:

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

   e   extended

Select (default p): p

分区号 (1-4,默认 1):1

起始 扇区 (2048-41943039,默认为 2048):100M

值超出范围。

起始 扇区 (2048-41943039,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+100M

分区 1 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

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

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

磁盘标签类型:dos

磁盘标识符:0xe75e1bd7

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048      206847      102400   83  Linux

命令(输入 m 获取帮助):n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): p

分区号 (2-4,默认 2):2

起始 扇区 (206848-41943039,默认为 206848):

将使用默认值 206848

Last 扇区, +扇区 or +size{K,M,G} (206848-41943039,默认为 41943039):+100M

分区 2 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):n

Partition type:

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

   e   extended

Select (default p): p

分区号 (3,4,默认 3):3

起始 扇区 (411648-41943039,默认为 411648):

将使用默认值 411648

Last 扇区, +扇区 or +size{K,M,G} (411648-41943039,默认为 41943039):+2048M

分区 3 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):n

Partition type:

   p   primary (3 primary, 0 extended, 1 free)

   e   extended

Select (default e): p

已选择分区 4

起始 扇区 (4605952-41943039,默认为 4605952):

将使用默认值 4605952

Last 扇区, +扇区 or +size{K,M,G} (4605952-41943039,默认为 41943039):

将使用默认值 41943039

分区 4 已设置为 Linux 类型,大小设为 17.8 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

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

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

磁盘标签类型:dos

磁盘标识符:0xe75e1bd7

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048      206847      102400   83  Linux

/dev/sdb2          206848      411647      102400   83  Linux

/dev/sdb3          411648     4605951     2097152   83  Linux

/dev/sdb4         4605952    41943039    18668544   83  Linux

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

编辑/etc/udev/rules.d/60-raw.rules 文件,增加以下语句:

vim 60-vboxadd.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="root", GROUP="root", MODE="660"

-- 启动udev

/sbin/udevadm trigger --type=devices --action=change

udevadm control --reload

partprobe /dev/sdb

raw -qa

-- 两个节点 

[root@desc1 ~]# blockdev --getsize64 /dev/raw/raw1

104857600

[root@desc1 ~]# blockdev --getsize64 /dev/raw/raw2

104857600

[root@desc1 ~]# blockdev --getsize64 /dev/raw/raw3

2147483648

[root@desc1 ~]# blockdev --getsize64 /dev/raw/raw4

19116589056

复制/etc/udev/rules.d/60-raw.rules 到第二节点

scp /etc/udev/rules.d/60-raw.rules 192.168.3.152:/etc/udev/rules.d/

3.DM 软件安装

只安装软件,不进行数据库初始化

dmdesc1

dmdesc2

数据库软件目录

/home/dmdba/dmdbms

/home/dmdba/dmdbms

4.配置dmdcr_cfg.ini 文件放在 /home/dmdba/data目录下

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

DCR_EP_PORT = 9341

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 10.0.2.102

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

DCR_EP_HOST = 10.0.2.101

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

DCR_EP_HOST = 10.0.2.102

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

DCR_CHECK_PORT = 9742

5.使用dmasmcmd工具初始化(任意节点)

su - dmdba

dmasmcmd

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 '/home/dmdba/data/dmdcr_cfg.ini'identified by 'dmdba'

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

or 编写asmcmd.txt

cat asmcmd.txt

create dcrdisk '/dev/raw/raw1' 'dcr'

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 '/home/dmdba/data/dmdcr_cfg.ini'identified by 'dmdba'

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

-- 执行

dmasmcmd script_file=asmcmd.txt,

6.准备 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),使用 DMASM 的所有节点都要配置,内容完全一样.

[MAL_INST1]

MAL_INST_NAME = ASM0

MAL_HOST = 192.168.3.151

MAL_PORT = 7236

[MAL_INST2]

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.3.152

MAL_PORT = 7236

7.准备 dmdcr.ini 配置文件

第一节点

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/data/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/data/dsc0_config/dm.ini  dcr_ini=/home/dmdba/data/dmdcr.ini

第二节点

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/data/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/data/dsc0_config/dm.ini  dcr_ini=/home/dmdba/data/dmdcr.ini

  1. 启动DMCSS ,DMASM服务程序

在 10.0.2.101、10.0.2.102 节点先后分别启动 dmcss、dmasmsvr 程序。手动启动 dmcss 命令:

第一节点:

dmdba@dmdsc1 bin]$ ./dmcss dcr_ini=/home/dmdba/data/dmdcr.ini

DMCSS V8

DMCSS IS READY

[2022-08-08 15:52:56:621] [CSS]: 设置EP CSS0[0]为控制节点

第二节点:

dmdba@desc2 bin]$ ./dmcss DCR_INI=/home/dmdba/data/dmdcr.ini

DMCSS V8

DMCSS IS READY

[2022-08-08 15:54:26:851] [CSS]: 设置EP CSS0[0]为控制节点

手动启动 dmasmsvr 命令:

[/opt/dmdbms/bin]# ./dmasmsvr DCR_INI=/home/dmdba/data/dmdcr.ini

第一节点:

[dmdba@dmdsc1 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/data/dmdcr.ini

ASM SELF EPNO:0

DMASMSVR V8

第二节点:

[dmdba@desc2 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/data/dmdcr.ini

ASM SELF EPNO:1

DMASMSVR V8

如果 DMCSS 配置有自动拉起 dmasmsvr 的功能,可以等待 DMCSS 自动拉起 dmasmsvr程序,不需要手动启动。

更多信息社区地址:https://eco.dameng.com

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

<think>好的,我需要回答用户关于达梦主从集群当前节点角色信息存储位置的问题。首先,我应该确认达梦数据库的版本,因为不同版本可能有不同的配置方式。达梦数据库常见的有DM7和DM8两个主要版本,而用户没有明确说明,所以我需要分别考虑两种情况。 对于DM7版本,主从集群通常指的是数据守护(Data Watch)架构。在这种架构下,每个节点的配置信息,包括角色(主库或备库),通常存储在dmwatcher.ctl控制文件中。这个文件的位置可能在数据库实例的目录下,比如$DM_HOME/data/<实例名>/dmwatcher.ctl。此外,dm.ini配置文件中也会有相关的参数设置,比如INST_NAME和MAL_INST_HOST等,这些参数帮助确定节点的角色和通信配置。 而如果是DM8版本,达梦引入了新的集群架构DMDSC(达梦共享存储集群)和MPP(大规模并行处理),但主从架构依然存在,可能还是使用数据守护。在DM8中,配置文件的存储位置可能与DM7类似,但需要确认具体的安装路径和实例配置。此外,DM8可能有更多的工具,比如dmcssm或dmmonitor,用于管理集群状态,但核心的角色信息可能仍然保存在dmwatcher.ctl和dm.ini中。 另外,用户可能需要通过SQL查询或命令行工具来实时查看当前节点的角色。例如,使用SQL语句查询V$INSTANCE视图中的STATUS字段,或者检查守护进程(dmwatcher)的日志文件,这些日志可能位于$DM_HOME/log目录下,文件名如dmwatcher_<实例名>.log。这些日志会记录状态切换的信息,帮助确认当前角色。 需要注意的是,用户可能没有直接访问这些文件的权限,或者在生产环境中修改这些文件可能导致集群问题,因此建议通过官方提供的工具和命令来查看和管理角色信息。此外,不同部署方式(如使用DMHS或其他复制工具)可能会影响配置的存储位置,但数据守护架构下通常遵循上述结构。 总结起来,回答需要分版本说明,并指出具体的配置文件和可能的查询方法,同时提醒用户谨慎操作配置文件,推荐使用官方工具。</think>达梦主从集群(数据守护架构)中,当前节点的角色(ROLE)信息主要保存在以下两个核心位置: ### 一、控制文件:`dmwatcher.ctl` 1. **文件路径** `$DM_HOME/data/<实例名>/dmwatcher.ctl` (`<实例名>`对应数据库实例名称,如DAMENG) 2. **作用** - 记录守护进程(dmwatcher)的配置信息 - 包含当前节点的角色(Primary主库/Standby备库) - 存储与其他节点的通信配置(如MAL链路信息) --- ### 二、配置文件:`dm.ini` 1. **关键参数** - `INST_NAME`:实例名称(需与守护进程配置匹配) - `MAL_INST_HOST`:本节点MAL通信地址 - `MAL_INST_PORT`:本节点MAL通信端口 2. **验证方法** 通过SQL查询实时角色状态: ```sql SELECT STATUS$ AS ROLE FROM V$INSTANCE; ``` 返回值为 `OPEN` 表示主库,`MOUNT` 表示备库。 --- ### 三、补充说明 1. **动态变化场景** 主备切换时,角色信息会实时更新到`dmwatcher.ctl`,同时守护进程日志(`dmwatcher_<实例名>.log`)会记录状态变更过程。 2. **注意事项** - 禁止直接修改`dmwatcher.ctl`文件,需通过`dmwatcher`配置工具调整 - 主备节点配置需保持对称性(实例名、MAL参数等需严格匹配) --- ### 四、操作建议 ```bash # 查看守护进程状态(需DMDBA用户权限) ./DmWatcherService status # 查看实时角色(通过disql连接数据库执行) SELECT STATUS$ AS CURRENT_ROLE FROM V$INSTANCE; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值