麒麟V10部署达梦DSC
目录
Oracle VirtualBox 虚拟机,麒麟操作系统搭建 DSC 集群
一、准备阶段
准备两台装好了麒麟操作系统以及达梦数据库的虚拟机。以下简称机器一和机器二。
以上操作可以见之前的文档。
1.1 磁盘准备

创建了三块磁盘,容量规定在 10G。容量稍微大一点的目的是为了保障程序的正常运行。
同时,磁盘的型号必须设置为可共享磁盘。

盘的作用如下:

1.2 UUID 绑定
先来讲解一下为什么要进行 UUID 绑定。确保集群中所有节点能够准确、一致地识别共享存储设备,从而保障集群的稳定运行。也就是要将虚拟的设备名字通过 UUID 绑定和实际的硬盘进行匹配。
运行指令,进行绑定。生成配置文件。
for i in b c d;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"dm/asm-disk$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\""
done
最终生成的文件如下:

重启后生效。

1.3 授权磁盘操作权限
授权磁盘操作权限给 dmdba(后续的读写必须在 dmdba 下进行)。

二、集群搭建
2.1 配置共享集群(DCR 磁盘)
配置共享集群,DCR 磁盘配置如图所示。重点需要修改注意的是参数磁盘名,心跳地址。

2.2 初始化共享存储(ASM 磁盘)
使用 dmasmcmd 工具对共享存储(ASM 磁盘)进行初始化。

对底层的共享存储(虚拟硬盘)进行“格式化”和“注册”,使其能被集群的 ASM(自动存储管理)系统识别和管理,为后续创建数据库数据文件、日志文件做准备。
2.3 配置 MAL 通讯
2.4 配置 DCR 盘

两台机子基本一致。DMDCR_SEQNO 为集群中唯一标识节点序号的参数。不同机子的要不同。
2.5 启动 dmcss 和 dmasm 服务
2.6 创建磁盘组
2.7 初始化实例
经过这一步,我们得到了 DSC1 和 DSC2 两台机器的配置文件。下一步我们将 DSC2 的传到另外一台机器。

在这里笔者遇到了忘记密码的问题。可以在第二台机子用 root 权限使用 passwd dmdba 重置密码。
2.8 启动 dmserver 服务(含故障排查)
在这步其实就是启动实例。运行的指令就是 dmserver dm.ini。重点是,笔者最开始遇到了一些问题。
在我第一次启动时,两台机子均没有办法启动。第一台机子输出为:
第二台机子输出为:

分析原因:
经过对比可以启动的实例和这个出现故障的实例,发现是因为我的 available 为 0,导致没有办法分配 buffer。
根本原因在于在 /etc/sysctl.conf 中设置的 vm.min_free_kbytes = 2097152(约 2GB)超出了物理内存总量(1.9Gi),导致内核强制保留了全部内存,使得 MemAvailable 永远为 0,任何新的共享内存分配都会失败。因为他这是一个虚拟机,但我却用了文档里面的分配内存方案,导致了这个结果。
解决办法就是修改了内核分配内存的参数。最终成功启动。
到这里,代表两个节点之间已经建立了连接。其实到这里已经基本完成了。
三、监视器配置
监视器在的节点叫主控节点。
配置为:

然后启动,它可以控制节点的 CSS,实例的启动等等功能。
最后到这里就全部安装完成了,下面附上一张结构图。可以边安装边理解这个图。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)