DM8 DSC共享集群环境安装

  1. 环境说明

配置环境说明:

主机名称

IP地址

数据库名

实例名

操作系统

dscdb1

192.168.88.110(外部服务)

10.10.10.110(内部通信)

dscdb

dscdb1

CentOS Linux release 7.7.1908 (Core)

dscdb2

192.168.88.111(外部服务)

10.10.10.111(内部通信)

dscdb

dscdb2

CentOS Linux release 7.7.1908 (Core)

共享磁盘:

在虚拟机上创建5个共享磁盘,规划如下:

Dcr disk: 1G   #生产环境可以设置2G即可,或是分5G或10G。

Voting disk: 1G  #生产环境可以设置2G即可,或是分5G或10G。

Log disk: 2G   #生成环境需要设置大些,如100G。

Data disk1: 3G   #生成环境需要设置大些。如300G或500G一个盘。

Data disk2: 3G

  1. 系统环境准备
    1. 虚拟主机配置

虚拟机软件版本:

提示:由于需要搭建共享集群环境,所以需要配置共享存储。

虚拟机节点一配置信息:

虚拟机节点二配置信息:

    1. 操作系统安装

操作系统版本:CentOS Linux release 7.7.1908 (Core)

操作系统安装步骤:省略….

  1. DSC集群安装
    1. 系统配置

提示:所有节点执行。

安装 gcc 包:

yum install -y gcc

关闭防火墙和Selinux

[root@dmdb ~]# systemctl stop firewalld

[root@dmdb ~]# systemctl disable firewalld

[root@dmdb ~]# vi /etc/selinux/config

[root@dmdb ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

修改/etc/hosts 文件:

节点一:

[root@dscdb1 ~]# cat /etc/hosts

127.0.0.1   localhost

192.168.88.110  dscdb1

节点二:

[root@dscdb2 ~]# vi /etc/hosts

127.0.0.1   localhost

192.168.88.111  dscdb2

配置系统限制,在/etc/security/limits.conf 文件中添加如下内容:

cat >> /etc/security/limits.conf << EOF

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft stack 65536

dmdba hard stack 65536

EOF

临时生效:

ulimit -n 65536

验证修改:

[root@dmdb ~]# ulimit -a

    1. 创建用户

提示:所有节点执行。

创建DM用户:

groupadd dinstall

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

echo "dmdba" | passwd --stdin dmdba

创建DM数据库目录:

存储dm数据库文件的空间需要提前规划并挂载好,我这里放在/dm目录下:

mkdir -p /dm/{dmdbms,dmarch,dmbak,dmdata}

chown -R dmdba:dinstall /dm/

chmod -R 775 /dm/

配置环境变量:在dmdba用户的~/.bash_profile 里添加如下内容:

su - dmdba

cat >> ~/.bash_profile << EOF

export DM_HOME="/dm/dmdbms"

export LD_LIBRARY_PATH="/dm/dmdbms/bin:$LD_LIBRARY_PATH"

export PATH="/dm/dmdbms/bin:$PATH"

EOF

source ~/.bash_profile

注意,在DM 软件安装时会自动添加DM_HOME 和 LD_LIBRARY_PATH 变量,这里只需要添加PATH即可。

    1. 绑定UDEV

在之前步骤创建好raw设备之后,在操作系统层面可以直接看到这些硬盘:

节点一:

[root@dscdb1 ~]# fdisk -l|grep "Disk /dev/sd*"

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors

Disk /dev/sdc: 1073 MB, 1073741824 bytes, 2097152 sectors

Disk /dev/sdd: 2147 MB, 2147483648 bytes, 4194304 sectors

Disk /dev/sde: 3221 MB, 3221225472 bytes, 6291456 sectors

Disk /dev/sdf: 3221 MB, 3221225472 bytes, 6291456 sectors

节点二:

[root@dscdb2 ~]# fdisk -l|grep "Disk /dev/sd*"

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors

Disk /dev/sdd: 2147 MB, 2147483648 bytes, 4194304 sectors

Disk /dev/sde: 3221 MB, 3221225472 bytes, 6291456 sectors

Disk /dev/sdf: 3221 MB, 3221225472 bytes, 6291456 sectors

Disk /dev/sdc: 1073 MB, 1073741824 bytes, 2097152 sectors

因为划分了多个磁盘,这些盘符在每次系统启动后并不唯一,所以先使用UDEV绑定后,再绑定成raw设备。

查看磁盘的UUID:

for i in b c d e f;

do

echo "sd$i" "`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`";

done

两个节点都需要查到相同的信息。

绑定祼设备

for i in b c d e f;

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-disk$i\",OWNER=\"dmdba\",GROUP=\"dinstall\",MODE=\"0660\"" >> /etc/udev/rules.d/99-dm-devices.rules

done

查看/etc/udev/rules.d/99-dm-devices.rules文件的内容:

cat /etc/udev/rules.d/99-dm-devices.rules

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29110d51f414c830b156d743302",SYMLINK+="dm-diskb",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2958b32c22db7e7658b1dc04a97",SYMLINK+="dm-diskc",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29661778ff80658771d89dd8f30",SYMLINK+="dm-diskd",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2982270616b69e9b725e3aee7ae",SYMLINK+="dm-diske",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c291d7f28b2870903839ec05987f",SYMLINK+="dm-diskf",OWNER="dmdba",GROUP="dinstall",MODE="0660"

为了以后方便清楚各个磁盘的用途,可以把相关的磁盘名称修改一下。

SYMLINK+="dm-diskb" 修改为:SYMLINK+="dm-dcr"

SYMLINK+="dm-diskc" 修改为:SYMLINK+="dm-votingdisk"

SYMLINK+="dm-diskd" 修改为:SYMLINK+="dm-log1"

SYMLINK+="dm-diske" 修改为:SYMLINK+="dm-data1"

SYMLINK+="dm-diskf" 修改为:SYMLINK+="dm-data2"

修改后如下:

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29110d51f414c830b156d743302",SYMLINK+="dm-dcr",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2958b32c22db7e7658b1dc04a97",SYMLINK+="dm-votingdisk",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29661778ff80658771d89dd8f30",SYMLINK+="dm-log1",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2982270616b69e9b725e3aee7ae",SYMLINK+="dm-data1",OWNER="dmdba",GROUP="dinstall",MODE="0660"

KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c291d7f28b2870903839ec05987f",SYMLINK+="dm-data2",OWNER="dmdba",GROUP="dinstall",MODE="0660"

然后将/etc/udev/rules.d/99-dm-devices.rules文件直接复制到另一个节点,因为同一硬件设备UUID相同。

两个节点都配置好后,重新加载UDEV设备规则:(两个节点都需要执行)

/sbin/udevadm control --reload-rules

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

查看信息:

ll /dev/dm*

ll /dev/sd*

    1. 配置裸设备

在官方文档raw的配置是写入到/etc/udev/rules.d/60-raw.rules文件(如果不绑定UUID,会容易乱盘),但因为之前的UDEV规则顺序比60-raw低,所以这里把raw配置直接写入到/etc/rc.local中,以防映射失败。

在/etc/rc.local中添加如下内容:

#DCR

raw /dev/raw/raw1 /dev/dm-dcr

sleep 2

chown dmdba:dinstall /dev/raw/raw1

chmod 660 /dev/raw/raw1

#Votingdisk

raw /dev/raw/raw2 /dev/dm-votingdisk

sleep 2

chown dmdba:dinstall /dev/raw/raw2

chmod 660 /dev/raw/raw2

#LOG

raw /dev/raw/raw3 /dev/dm-log1

sleep 2

chown dmdba:dinstall /dev/raw/raw3

chmod 660 /dev/raw/raw3

#Data

raw /dev/raw/raw4 /dev/dm-data1

sleep 2

chown dmdba:dinstall /dev/raw/raw4

chmod 660 /dev/raw/raw4

raw /dev/raw/raw5 /dev/dm-data2

sleep 2

chown dmdba:dinstall /dev/raw/raw5

chmod 660 /dev/raw/raw5

touch /var/lock/subsys/local

#注意这里必须放在最后一行,否则开机不会自动映射raw设备。

chmod +x /etc/rc.d/rc.local   #修改文件权限(必须修改文件的权限,否则系统重启后,无法正常绑定祼设备

重启操作系统:

source /etc/rc.local   #如果不重启操作系统,可以运行此命令,但生产环境中建议可以重启一下系统,看系统重启后能不能识别到祼设备。

reboot

查看裸设备:

ll /dev/raw/raw*

raw -qa

查看裸设备大小:

blockdev --getsize64 /dev/raw/raw1

    1. DM数据库软件安装

安装规则:

DM_HOME目录:/dm/dmdbms/

数据库SID:dscdb1,dscdb2

数据库名称:dscdb

数据库字符集:GB18030

数据库端口:5236

页大小:16K

日志组:3个256M

将DM的ISO上传到Linux系统,并挂载:

[root@dscdb1 ~]# mount -o loop /root/dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt

[root@dscdb1 ~]# su - dmdba

[dmdba@dscdb1 ~]$ /mnt/DMInstall.bin -i     #-i表示使方式进行安装

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c    #选择中文语言安装

解压安装程序.........

欢迎使用达梦数据库安装程序     

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n    #如果没有Key文件,可以输入n

否设置时区? (Y/y:是 N/n:否) [Y/y]:y   #输入y,设置时区 

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:    #默认选择21区,直接回车

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:  #直接按回车

所需空间: 1075M

请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms   #DM数据库的安装目录,输入前面定义好的目录

可用空间: 13G

是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]: y   #输入y

安装前小结

安装位置: /dm/dmdbms

所需空间: 1075M

可用空间: 13G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否): y   #输入y,确认安装

2021-10-11 05:31:32

[INFO] 安装达梦数据库...

2021-10-11 05:31:32

[INFO] 安装 基础 模块...

2021-10-11 05:31:36

[INFO] 安装 服务器 模块...

2021-10-11 05:31:36

[INFO] 安装 客户端 模块...

2021-10-11 05:31:39

[INFO] 安装 驱动 模块...

2021-10-11 05:31:39

[INFO] 安装 手册 模块...

2021-10-11 05:31:39

[INFO] 安装 服务 模块...

2021-10-11 05:31:40

[INFO] 移动ant日志文件。

2021-10-11 05:31:41

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/dm/dmdbms/script/root/root_installer.sh

安装结束

[dmdba@dscdb1 mnt]$

根据提示,使用root用户执行/dm/dmdbms/script/root/root_installer.sh脚本。如下:

[root@dscdb1 ~]# /dm/dmdbms/script/root/root_installer.sh

移动 /dm/dmdbms/bin/dm_svc.conf 到/etc目录

修改服务器权限

创建DmAPService服务

Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.

创建服务(DmAPService)完成

启动DmAPService服务

至此,DM数据库软件安装完成。

提示:确认两台主机的DM数据库软件都安装完成。

    1. DSC集群文件配置及搭建

创建存放DSC集群配置文件目录:

su - dmdba

mkdir -p /dm/dmdbms/data

      1. dmdcr_cfg.ini

提示:2个节点的/dm/dmdbms/data目录下创建配置文件dmdcr_cfg.ini。

文件路径 :/dm/dmdbms/data/dmdcr_cfg.ini

内容如下:

DCR_N_GRP = 3

DCR_VTD_PATH = /dev/raw/raw2    #指定Votingdisk对应的裸设备

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

DCR_EP_HOST = 10.10.10.110   #指定的是内部网络的IP

DCR_EP_PORT = 9541

[GRP_CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 10.10.10.111

DCR_EP_PORT = 9542

[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 = ASM1

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.110

DCR_EP_PORT = 9641

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP_ASM]

DCR_EP_NAME = ASM2

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.111

DCR_EP_PORT = 9642

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = DSCDB    #指定数据库的名称

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[DSCDB]

DCR_EP_NAME = DSCDB1   #指定第一个节点的实例名

DCR_EP_SEQNO = 0    #第一个节点的编号为0

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9741

[DSCDB]

DCR_EP_NAME = DSCDB2  #指定第二个节点的实例名

DCR_EP_SEQNO = 1   #第二个节点的编号为2

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9742

提示:两个节点的内容一样。

      1. 使用DMASMCMD工具初始化

在任意一台节点上用dmasmcmd工具执行如下命令(提示:只需要在一个节点执行即可):

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

create votedisk '/dev/raw/raw2' 'vote'

create asmdisk '/dev/raw/raw3' 'log1'

create asmdisk '/dev/raw/raw4' 'data1'

create asmdisk '/dev/raw/raw5' 'data2'

init dcrdisk '/dev/raw/raw1' from '/dm/dmdbms/data/dmdcr_cfg.ini' identified by 'dmdba'  #使用配置文件初始化dcr磁盘

init votedisk '/dev/raw/raw2' from '/dm/dmdbms/data/dmdcr_cfg.ini'   #使用配置文件初始化votingdisk盘

操作输出日志如下:

[dmdba@dscdb1 ~]$

[dmdba@dscdb1 ~]$ dmasmcmd

DMASMCMD V8

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

[Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr

Used time: 5.112(ms).

ASM>create votedisk '/dev/raw/raw2' 'vote'

[Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote

Used time: 4.484(ms).

ASM>create asmdisk '/dev/raw/raw3' 'log1'

[Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMlog1

Used time: 6.866(ms).

ASM>create asmdisk '/dev/raw/raw4' 'data1'

[Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMdata1

Used time: 4.952(ms).

ASM>create asmdisk '/dev/raw/raw5' 'data2'

[Trace]The ASM initialize asmdisk /dev/raw/raw5 to name DMASMdata2

Used time: 6.789(ms).

ASM>init dcrdisk '/dev/raw/raw1' from '/dm/dmdbms/data/dmdcr_cfg.ini' identified by 'dmdba'

[Trace]DG 126 allocate 4 extents for file 0xfe000002.

Used time: 44.725(ms).

ASM>init votedisk '/dev/raw/raw2' from '/dm/dmdbms/data/dmdcr_cfg.ini'

[Trace]DG 125 allocate 4 extents for file 0xfd000002.

Used time: 11.939(ms).

ASM>exit

[dmdba@dscdb1 ~]$

      1. 准备DMASM 的 MAL 配置文件(dmasvrmal.ini)

提示:所有节点都需要配置该文件。

文件路径 :/dm/dmdbms/data/dmasvrmal.ini

vi /dm/dmdbms/data/dmasvrmal.ini

[MAL_INST1]

MAL_INST_NAME = ASM1

MAL_HOST = 10.10.10.110

MAL_PORT = 7236

[MAL_INST2]

MAL_INST_NAME = ASM2

MAL_HOST = 10.10.10.111

MAL_PORT = 7237

      1. 准备dmdcr.ini 配置文件

dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的输入参数。记录了当前节点序列号以及 DCR 磁盘路径。

在2个节点的/dm/dmdbms/data目录下创建dmdcr.ini 配置文件,dmdcr_path 相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为 0 和 1。

节点一(192.168.88.110):

文件路径:/dm/dmdbms/data/dmdcr.ini

vi /dm/dmdbms/data/dmdcr.ini

DMDCR_PATH = /dev/raw/raw1    

DMDCR_MAL_PATH =/dm/dmdbms/data/dmasvrmal.ini 

DMDCR_SEQNO = 0  

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

DMDCR_ASM_RESTART_INTERVAL = 0 

DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/data/dmdcr.ini

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

DMDCR_DB_RESTART_INTERVAL = 0  

DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver path=/dm/dmdbms/data/dscdb1_config/dm.ini dcr_ini=/dm/dmdbms/data/dmdcr.ini

节点二(192.168.88.111):

文件路径:/dm/dmdbms/data/dmdcr.ini

vi /dm/dmdbms/data/dmdcr.ini

DMDCR_PATH = /dev/raw/raw1  

DMDCR_MAL_PATH =/dm/dmdbms/data/dmasvrmal.ini

DMDCR_SEQNO = 1 

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

DMDCR_ASM_RESTART_INTERVAL = 0 

DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/data/dmdcr.ini

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

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver path=/dm/dmdbms/data/dscdb2_config/dm.ini dcr_ini=/dm/dmdbms/data/dmdcr.ini

      1. 启动DMCSS、DMASM 服务程序
        1. 分别在2个节点注册DMCSS和DMASM服务

节点一:(以root用户执行)

#DMCSS:

/dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1

执行输出:

[root@dscdb1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1

Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServicedscdb1.service to /usr/lib/systemd/system/DmCSSServicedscdb1.service.

创建服务(DmCSSServicedscdb1)完成

#DMASM

/dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1 -y DmCSSServicedscdb1

执行输出:

[root@dscdb1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1 -y DmCSSServicedscdb1

依赖的服务文件(/usr/lib/systemd/system/DmCSSServicedscdb1)不存在!

[root@dscdb1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1 -y DmCSSServicedscdb1.service  #加上最缀名(.service,注册成功。

Created symlink from /etc/systemd/system/multi-user.target.wants/DmASMSvrServicedscdb1.service to /usr/lib/systemd/system/DmASMSvrServicedscdb1.service.

创建服务(DmASMSvrServicedscdb1)完成

节点二:(以root用户执行)

#DMCSS:

/dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2

执行输出:

[root@dscdb2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2

Created symlink from /etc/systemd/system/multi-user.target.wants/DmCSSServicedscdb2.service to /usr/lib/systemd/system/DmCSSServicedscdb2.service.

创建服务(DmCSSServicedscdb2)完成

#DMASM

/dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2 -y DmCSSServicedscdb2

执行输出:

[root@dscdb2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2 -y DmCSSServicedscdb2

依赖的服务文件(/usr/lib/systemd/system/DmCSSServicedscdb2)不存在!

[root@dscdb2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2 -y DmCSSServicedscdb2.service  #加上最缀名(.service,注册成功。

Created symlink from /etc/systemd/system/multi-user.target.wants/DmASMSvrServicedscdb2.service to /usr/lib/systemd/system/DmASMSvrServicedscdb2.service.

创建服务(DmASMSvrServicedscdb2)完成

        1. 启动DMCSS和DMASM 服务

节点1:(以dmdba用户执行)

systemctl start DmCSSServicedscdb1    #先启动CSS

systemctl start DmASMSvrServicedscdb1  #再启动ASM

su - dmdba

DmCSSServicedscdb1 start

DmASMSvrServicedscdb1 start

查看启动状态:

节点2:(以dmdba用户执行)

systemctl start DmCSSServicedscdb2

systemctl start DmASMSvrServicedscdb2

su - dmdba

DmCSSServicedscdb2 start

DmASMSvrServicedscdb2 start

查看启动状态:

      1. 创建DMASM磁盘组

在任意节点使用 dmasmtool 工具创建 DMASM 磁盘组。

提示:只需要在一个节点上执行即可,使用dmdba用户执行。

su - dmdba

dmasmtool DCR_INI=/dm/dmdbms/data/dmdcr.ini

ASM>create diskgroup 'LOGDG' asmdisk '/dev/raw/raw3'

ASM>create diskgroup 'DATADG' asmdisk '/dev/raw/raw4'

ASM> alter diskgroup 'DATADG' add asmdisk '/dev/raw/raw5'

执行输出:

[root@dscdb1 ~]# su - dmdba

Last login: Tue Oct 26 04:19:11 CST 2021 on pts/0

dmasmtool DCR_INI=/dm/dmdbms/data/dmdcr.ini

[dmdba@dscdb1 ~]$ dmasmtool DCR_INI=/dm/dmdbms/data/dmdcr.ini

DMASMTOOL V8

ASM>df

group VOTE include 1 disks......

         NO.1 disk :

                 name: DMASMvote

                 path: /dev/raw/raw2

                 size: 1.00 GB

                 create_time: 2021-10-26 04:25:03

                 modify_time: 2021-10-26 04:25:03

                 belong group: VOTE

group DCR include 1 disks......

         NO.1 disk :

                 name: DMASMdcr

                 path: /dev/raw/raw1

                 size: 1.00 GB

                 create_time: 2021-10-26 04:24:55

                 modify_time: 2021-10-26 04:24:55

                 belong group: DCR

total 3 disks unused......

        NO.1 :  name: DMASMdata2, path: /dev/raw/raw5, size: 3.00 GB

        NO.2 :  name: DMASMdata1, path: /dev/raw/raw4, size: 3.00 GB

        NO.3 :  name: DMASMlog1, path: /dev/raw/raw3, size: 2.00 GB

ASM>create diskgroup 'LOGDG' asmdisk '/dev/raw/raw3' 

Used time: 13.115(ms).

ASM>create diskgroup 'DATADG' asmdisk '/dev/raw/raw4'

Used time: 9.211(ms).

ASM>alter diskgroup 'DATADG' add asmdisk '/dev/raw/raw5'

Used time: 10.553(ms).

ASM>ls

+

disk groups total [4]......

NO.1     name: LOGDG

NO.2     name: DATADG

NO.3     name: VOTE

NO.4     name: DCR

Used time: 1.006(ms).

      1. 准备dminit.ini 配置文件

准备数据库初始化配置文件。

在2个节点的/dm/dmdbms/data目录下创建 dminit.ini 配置文件,添加如下内容。 在2个节点都创建,且两个节点的内容一样。

vi /dm/dmdbms/data/dminit.ini

db_name = dscdb

system_path = +DATADG/data

system = +DATADG/data/dscdb/system.dbf

system_size = 128

roll = +DATADG/data/dscdb/roll.dbf

roll_size = 128

main = +DATADG/data/dscdb/main.dbf

main_size = 128

ctl_path = +DATADG/data/dscdb/dm.ctl

ctl_size = 8

log_size = 256

dcr_path = /dev/raw/raw1

dcr_seqno = 0

auto_overwrite = 1

[DSCDB1]

config_path = /dm/dmdbms/data/dscdb1_config

port_num = 5236

mal_host = 10.10.10.110

mal_port = 9340

log_path = +LOGDG/log/dscdb1_log01.log

log_path = +LOGDG/log/dscdb1_log02.log

[DSCDB2]

config_path = /dm/dmdbms/data/dscdb2_config

port_num = 5236

mal_host = 10.10.10.111

mal_port = 9341

log_path = +LOGDG/log/dscdb2_log01.log

log_path = +LOGDG/log/dscdb2_log02.log

提示:两个节点都需要创建该文件,且两个节点该文件的内容一样。

      1. 使用dminit 初始化 DB 环境

在任意节点启动dminit工具初始化数据库

dminit执行完成后,会在config_path目录(/dm/dmdbms/data/dscdb1_config 和/dm/dmdbms/data/dscdb2_config)下生成配置文件 dm.ini 和 dmmal.ini。

在第一个节点执行(以dmdba用户执行):

dminit control=/dm/dmdbms/data/dminit.ini

执行输出:

[dmdba@dscdb1 ~]$ dminit control=/dm/dmdbms/data/dminit.ini

initdb V8

db version: 0x7000b

file dm.key not found, use default license!

License will expire on 2021-11-09

 log file path: +LOGDG/log/dscdb1_log01.log

 log file path: +LOGDG/log/dscdb1_log02.log

 log file path: +LOGDG/log/dscdb2_log01.log

 log file path: +LOGDG/log/dscdb2_log02.log

write to dir [+DATADG/data/dscdb].

create dm database success. 2021-10-26 05:18:31

初始化完成后,把另第二个节点相关的目录及文件远程复制到第二个节点:

把dscdb2_config目录远程复制到第二个节点的相同目录下:

scp -r /dm/dmdbms/data/dscdb2_config 192.168.88.111:/dm/dmdbms/data/

 

      1. 启动数据库服务器
        1. 注册服务

在2个节点分别注册DM 数据库服务。

节点一(以root用户执行):

/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/dscdb1_config/dm.ini -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1 -y DmASMSvrServicedscdb1.service

执行输出:

[root@dscdb1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/dscdb1_config/dm.ini -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb1 -y DmASMSvrServicedscdb1.service

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedscdb1.service to /usr/lib/systemd/system/DmServicedscdb1.service.

创建服务(DmServicedscdb1)完成

节点二(以root用户执行):

/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/dscdb2_config/dm.ini -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2 -y DmASMSvrServicedscdb2.service

执行输出:

[root@dscdb2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/dscdb2_config/dm.ini -dcr_ini /dm/dmdbms/data/dmdcr.ini -p dscdb2 -y DmASMSvrServicedscdb2.service

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedscdb2.service to /usr/lib/systemd/system/DmServicedscdb2.service.

创建服务(DmServicedscdb2)完成

        1. 启动数据库

节点一:

systemctl start DmServicedscdb1

查看启动状态:

systemctl status DmServicedscdb1

节点二:

systemctl start DmServicedscdb2

查看启动状态:

systemctl status DmServicedscdb2

提示:如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。

      1. 连接数据库验证
        1. 登录测试

刚初始的数据库没有指定密码,所以当前数据库不需要指定用户名和密码就可以直接登录。

[dmdba@dscdb1 ~]$ disql

disql V8

用户名:   #直接回车

密码:     #直接回车

服务器[LOCALHOST:5236]:处于普通打开状态

登录使用时间 : 6.991(ms)

SQL>

设置数据库用户密码:

SQL> alter user sysdba identified by dameng123;

操作已执行

已用时间: 23.739(毫秒). 执行号:497.

SQL>select * from v$dsc_ep_info;   #查看集群的相关信息

        1. 配置服务名文件

[dmdba@dscdb1 ~]$ vi /etc/dm_svc.conf

dscdb=(192.168.88.110:5236,192.168.88.111:5236)

SWITCH_TIME=(10000)

SWITCH_INTERVAL=(10)

TIME_ZONE=(480)

LANGUAGE=(cn)

        1. 连接RAC集群

[dmdba@dscdb1 ~]$ disql sysdba/dameng123@dscdb

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心icon-default.png?t=LA92https://eco.dameng.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值