暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

达梦DMDSC集群搭建

IT小Chen 2022-12-09
2084

介绍

DM 共享存储数据库集群的英文全称 DM Data Shared Cluster,简称 DMDSC

DM 共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC 支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。

系统结构图:

前期准备

两台服务器、每台服务器至少2块网卡、内存至少2GB、三块共享存储磁盘、提前安装dm软件。

网络配置

    ###public 
    192.168.31.200 dsc01
    192.168.31.58 dsc02
    ###priv
    192.168.33.200 dsc01-priv
    192.168.33.58 dsc02-priv

    存储配置

      fdisk -l
      Disk /dev/sde: 2147 MB, 2147483648 bytes, 4194304 sectors
      Disk /dev/sdf: 2147 MB, 2147483648 bytes, 4194304 sectors
      Disk /dev/sdg: 2147 MB, 2147483648 bytes, 4194304 sectors
      Disk /dev/sdh: 10.7 GB, 10737418240 bytes, 20971520 sectors

      存储规划

        VOTE 2G dev/sde---/dev/dm/asm-diske 
        DCR 2G dev/sdf---/dev/dm/asm-diskf
        ARCH 2G dev/sdg---/dev/dm/asm-diskg
        DATA 10G dev/sdh---/dev/dm/asm-diskh

        磁盘绑定

        如没有配置多路径,采用 UUID 绑定多个 LUN 存储,可以通过 fdisk -l 命令查看 LUN 设备,这里以共享存储盘为 sdesdfsdgsdh为例。

        绑定设备的 UUID。创建 uuid.sh 文件,使用脚本生成配置文件。

          ls etc/udev/rules.d/88-dm-asmdevices.rules
            for i in e f g h;
            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\"" >> etc/udev/rules.d/88-dm-asmdevices.rules
            done

            ##脚本执行成功后,会生成绑定配置文件 88-dm-asmdevices.rules,可以根据自己的需求进行修改别名 SYMLINK,本文档修改如下:

              cat etc/udev/rules.d/88-dm-asmdevices.rules
              KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB4bbc185c-adebce47", SYMLINK+="dm/asm-diske",OWNER="dmdba", GROUP="dinstall",MODE="0660"
              KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB5286a6b0-e686bf8e", SYMLINK+="dm/asm-diskf",OWNER="dmdba", GROUP="dinstall",MODE="0660"
              KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB45416f69-4a1e1728", SYMLINK+="dm/asm-diskg",OWNER="dmdba", GROUP="dinstall",MODE="0660"
              KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBc8102a7b-c9fec5b3", SYMLINK+="dm/asm-diskh",OWNER="dmdba", GROUP="dinstall",MODE="0660"

              配置部署文件。生成配置文件后,把 88-dm-asmdevices.rules 配置文件 cp DSC 的每个节点上。

              检查生效。

              1)重启服务器,建议使用该方法。

              2)如果无法重启,执行下述命令。

                udevadm control --reload-rules
                systemctl restart systemd-udev-trigger.service
                [root@dsc01 ~]# ls -lrth dev/dm/asm-disk*
                lrwxrwxrwx 1 root root 6 Dec 8 15:01 dev/dm/asm-diske -> ../sde
                lrwxrwxrwx 1 root root 6 Dec 8 15:01 dev/dm/asm-diskh -> ../sdh
                lrwxrwxrwx 1 root root 6 Dec 8 15:01 dev/dm/asm-diskf -> ../sdf
                lrwxrwxrwx 1 root root 6 Dec 8 15:01 dev/dm/asm-diskg -> ../sdg

                3)授权

                  chown dmdba:dinstall dev/dm/asm-* -R

                  4)检查生效

                    blockdev --getsize64 dev/dm/asm-diske
                    blockdev --getsize64 dev/dm/asm-diskh
                    blockdev --getsize64 dev/dm/asm-diskf
                    blockdev --getsize64 dev/dm/asm-diskg

                    结果如下

                      [root@dsc01 ~]# blockdev --getsize64 dev/dm/asm-diske
                      2147483648
                      [root@dsc01 ~]# blockdev --getsize64 dev/dm/asm-diskh
                      10737418240
                      [root@dsc01 ~]# blockdev --getsize64 dev/dm/asm-diskf
                      2147483648
                      [root@dsc01 ~]# blockdev --getsize64 dev/dm/asm-diskg
                      2147483648

                      配置 dmdcr_cfg.ini

                      dsc01 dsc02 机器配置相同。

                        [dmdba@dsc01 ~]$ mkdir dm/dmdbms/dsc_config
                        vi dm/dmdbms/dsc_config/dmdcr_cfg.ini
                          DCR_N_GRP   = 3     ##集群环境有多少个 GROUP,范围:1~16
                          DCR_VTD_PATH = /dev/dm/asm-diske ##规划为 vote 的磁盘
                          DCR_OGUID = 210715 ## 消息标识,一个组里面只有一个。
                          [GRP] #新建一个 GROUP
                          DCR_GRP_TYPE = CSS ##组类型(CSS/ASM/DB)
                          DCR_GRP_NAME = GRP_CSS ##组名
                          DCR_GRP_N_EP = 2 ##组内节点个数
                          DCR_GRP_DSKCHK_CNT = 65 ##磁盘心跳容错时间,单位:秒
                          [GRP_CSS]
                          DCR_EP_NAME = CSS0 ##CSS 节点名
                          DCR_EP_HOST = 192.168.33.200 ##心跳地址
                          DCR_EP_PORT = 11286 ##CSS 端口
                          [GRP_CSS]
                          DCR_EP_NAME = CSS1
                          DCR_EP_HOST = 192.168.33.58
                          DCR_EP_PORT = 11286
                          [GRP]
                          DCR_GRP_TYPE = ASM
                          DCR_GRP_NAME = GRP_ASM
                          DCR_GRP_N_EP = 2
                          DCR_GRP_DSKCHK_CNT = 61
                          [GRP_ASM]
                          DCR_EP_NAME = ASM0 ##ASM 节点名,和 dmasvrmal 的 MAL_INST_NAME 一致
                          DCR_EP_SHM_KEY = 42424 ##共享内存标识
                          DCR_EP_SHM_SIZE = 1024 ##共享内存大小
                          DCR_EP_HOST = 192.168.33.200 ##心跳地址
                          DCR_EP_PORT = 11276 ##ASM 端口
                          DCR_EP_ASM_LOAD_PATH = /dev/dm
                          [GRP_ASM]
                          DCR_EP_NAME = ASM1
                          DCR_EP_SHM_KEY = 42425
                          DCR_EP_SHM_SIZE = 1024
                          DCR_EP_HOST = 192.168.33.58
                          DCR_EP_PORT = 11277
                          DCR_EP_ASM_LOAD_PATH = /dev/dm
                          [GRP]
                          DCR_GRP_TYPE = DB
                          DCR_GRP_NAME = GRP_DSC
                          DCR_GRP_N_EP = 2
                          DCR_GRP_DSKCHK_CNT = 57
                          [GRP_DSC]
                          DCR_EP_NAME = DSC0 ##实例名,和 dm.ini 的 INSTANCE_NAME 一致
                          DCR_EP_SEQNO = 0 ##组内序号,不能重复
                          DCR_EP_PORT = 5237 ##实例端口,和 dm.ini 的 PORT_NUM 一致
                          DCR_CHECK_PORT = 11256 ##DCR 检查端口
                          [GRP_DSC]
                          DCR_EP_NAME = DSC1
                          DCR_EP_SEQNO = 1
                          DCR_EP_PORT = 5237
                          DCR_CHECK_PORT = 11257

                          初始化磁盘组

                          dsc01 机器上进行如下操作。

                            /dm/dmdbms/bin/dmasmcmd
                              ASM>create votedisk '/dev/dm/asm-diske' 'vote'
                              ASM>create dcrdisk '/dev/dm/asm-diskf' 'dcr'
                              ASM>init dcrdisk '/dev/dm/asm-diskf' from '/dm/dmdbms/dsc_config/dmdcr_cfg.ini' identified by 'hust4400'
                              ASM>init votedisk '/dev/dm/asm-diske' from '/dm/dmdbms/dsc_config/dmdcr_cfg.ini'
                              ASM>create asmdisk '/dev/dm/asm-diskh' 'DATA0'
                              ASM>create asmdisk '/dev/dm/asm-diskg' 'ARCH0'

                              配置 dmasvrmal.ini

                                vi /dm/dmdbms/dsc_config/dmasvrmal.ini
                                  [MAL_INST0]
                                  MAL_INST_NAME = ASM0
                                  MAL_HOST = 192.168.33.200 #心跳地址
                                  MAL_PORT = 11266 #MAL 监听端口
                                  [MAL_INST1]
                                  MAL_INST_NAME = ASM1
                                  MAL_HOST = 192.168.33.58
                                  MAL_PORT = 11266

                                  配置 dmdcr.ini 文件

                                  dsc01 机器配置 dmdcr.inidmdcr_seqo 0

                                    vi /dm/dmdbms/dsc_config/dmdcr.ini
                                      DMDCR_PATH = /dev/dm/asm-diskf
                                      DMDCR_MAL_PATH = /dm/dmdbms/dsc_config/dmasvrmal.ini
                                      DMDCR_SEQNO = 0
                                      DMDCR_AUTO_OPEN_CHECK = 111
                                      DMDCR_ASM_TRACE_LEVEL = 2
                                      ##DMDCR_ASM_RESTART_INTERVAL = 60 #CSS 认定 ASM 故障重启的时间
                                      ##DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/dsc_config/DmAsmService_DSC0 start
                                      ##DMDCR_DB_RESTART_INTERVAL = 60 ##CSS 认定 DSC 故障重启的时间,设置为 0 不自动拉起
                                      ##DMDCR_DB_STARTUP_CMD = /dm/dmdbms/dsc_config/DmService_DSC0 start

                                      dsc02 机器配置 dmdcr.inidmdcr_seqo 1

                                        vi /dm/dmdbms/dsc_config/dmdcr.ini
                                          DMDCR_PATH = /dev/dm/asm-diskf
                                          DMDCR_MAL_PATH = /dm/dmdbms/dsc_config/dmasvrmal.ini
                                          DMDCR_SEQNO = 1
                                          DMDCR_AUTO_OPEN_CHECK = 111
                                          DMDCR_ASM_TRACE_LEVEL = 2
                                          ##DMDCR_ASM_RESTART_INTERVAL = 60
                                          ##DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/dsc_config/DmAsmServiceDSC1 start
                                          ##DMDCR_DB_RESTART_INTERVAL = 60
                                          ##DMDCR_DB_STARTUP_CMD = /dm/dmdbms/dsc_config/DmServiceDSC1 start

                                          注意

                                          当前为手动拉起 dsc01 机器和 dsc02 机器的 ASM DMSERVER 服务。待集群配置完成后,再修改为自动拉起(删除 dmdcr.ini 中的“##”号即可)。

                                          启动DMCSSDMASM服务

                                          2 个节点分别启动 dmcss 命令:

                                          前台启动,执行ctrl+c后服务会退出

                                            /dm/dmdbms/bin/dmcss DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini

                                            2 个节点分别启动 dmasmsvr 命令:

                                            前台启动,执行ctrl+c后服务会退出

                                              /dm/dmdbms/bin/dmasmsvr DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini

                                              创建ASM

                                              ##dsc01 节点启动 dmasmtool 工具

                                                /dm/dmdbms/bin/dmasmtool DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini

                                                ##输入下列语句创建 DMASM 磁盘组

                                                ##创建数据磁盘组

                                                  ASM> create diskgroup 'DMDATA' asmdisk '/dev/dm/asm-diskh'

                                                  ##创建归档磁盘组

                                                    ASM> create diskgroup 'DMARCH' asmdisk '/dev/dm/asm-diskg'

                                                    初始化 DB 环境

                                                    dsc01 dsc02 机器配置相同。

                                                    创建 dminit.ini 文件

                                                      [dmdba@~]# vi /dm/dmdbms/dsc_config/dminit.ini
                                                        DB_NAME = DSC
                                                        SYSDBA_PWD = 1
                                                        SYSTEM_PATH = +DMDATA/data
                                                        SYSTEM = +DMDATA/data/SYSTEM.dbf
                                                        SYSTEM_SIZE = 300
                                                        ROLL = +DMDATA/data/ROLL.dbf
                                                        ROLL_SIZE = 300
                                                        MAIN = +DMDATA/data/MAIN.dbf
                                                        MAIN_SIZE = 300
                                                        CTL_PATH = +DMDATA/data/dm.ctl
                                                        CTL_SIZE = 8
                                                        LOG_SIZE = 300
                                                        DCR_PATH = /dev/dm/asm-diskf
                                                        DCR_SEQNO = 0
                                                        AUTO_OVERWRITE = 1
                                                        PAGE_SIZE = 32
                                                        EXTENT_SIZE = 16
                                                        BLANK_PAD_MODE = 1
                                                        [DSC0]
                                                        CONFIG_PATH = /dm/dmdbms/dsc_config/DCS0
                                                        PORT_NUM = 5237
                                                        MAL_HOST = 192.168.33.200
                                                        MAL_PORT = 11246
                                                        LOG_PATH = +DMDATA/DSC0_LOG01.log
                                                        LOG_PATH = +DMDATA/DSC0_LOG02.log
                                                        [DSC1]
                                                        CONFIG_PATH = /dm/dmdbms/dsc_config/DCS1
                                                        PORT_NUM = 5237
                                                        MAL_HOST = 192.168.33.58
                                                        MAL_PORT = 11246
                                                        LOG_PATH = +DMDATA/DSC1_LOG01.log
                                                        LOG_PATH = +DMDATA/DSC1_LOG02.log

                                                        dsc01 节点执行初始化 db 命令

                                                          [dmdba@dsc01 dsc_config]$ /dm/dmdbms/bin/dminit control=/dm/dmdbms/dsc_config/dminit.ini
                                                            initdb V8
                                                            db version: 0x7000c
                                                            file dm.key not found, use default license!
                                                            License will expire on 2023-07-20
                                                            Normal of FAST
                                                            Normal of DEFAULT
                                                            Normal of RECYCLE
                                                            Normal of KEEP
                                                            Normal of ROLL
                                                            log file path: +DMDATA/DSC0_LOG01.log
                                                            log file path: +DMDATA/DSC0_LOG02.log
                                                            log file path: +DMDATA/DSC1_LOG01.log
                                                            log file path: +DMDATA/DSC1_LOG02.log
                                                            FILE "/dm/dmdbms/dsc_config/DCS0/dm.ini" has already existed
                                                            FILE "/dm/dmdbms/dsc_config/DCS0/sqllog.ini" has already existed
                                                            FILE "/dm/dmdbms/dsc_config/DCS1/dm.ini" has already existed
                                                            FILE "/dm/dmdbms/dsc_config/DCS1/sqllog.ini" has already existed
                                                            FILE "+DMDATA/data/SYSTEM.dbf" has already existed
                                                            FILE "+DMDATA/data/dm.ctl" has already existed
                                                            FILE "+DMDATA/DSC0_LOG01.log" has already existed
                                                            FILE "+DMDATA/DSC0_LOG02.log" has already existed
                                                            FILE "+DMDATA/DSC1_LOG01.log" has already existed
                                                            FILE "+DMDATA/DSC1_LOG02.log" has already existed
                                                            write to dir [+DMDATA/data/DSC].
                                                            create dm database success. 2022-12-08 17:52:12

                                                            拷贝文件到 dsc02 节点

                                                              scp -r /dm/dmdbms/dsc_config/DCS1 dmdba@192.168.33.58:/dm/dmdbms/dsc_config/

                                                              启动数据库

                                                              ##dsc01 机器

                                                                /dm/dmdbms/bin/dmserver /dm/dmdbms/dsc_config/DCS0/dm.ini dcr_ini=/dm/dmdbms/dsc_config/dmdcr.ini

                                                                ##dsc02 机器

                                                                  /dm/dmdbms/bin/dmserver /dm/dmdbms/dsc_config/DCS1/dm.ini dcr_ini=/dm/dmdbms/dsc_config/dmdcr.ini

                                                                  检查数据库

                                                                    [dmdba@dsc01 ~]$ disql SYSDBA/Dameng123:5237
                                                                    Server[LOCALHOST:5237]:mode is normal, state is open
                                                                    login used time : 95.307(ms)
                                                                    disql V8

                                                                    检查集群

                                                                      SQL> select * from V$dsc_ep_info;
                                                                      LINEID EP_NAME EP_SEQNO EP_GUID EP_TIMESTAMP EP_MODE EP_STATUS
                                                                      ---------- ------- ----------- -------------------- -------------------- ------------ ---------
                                                                      1 DSC0 0 9684163 9684477 Control Node OK
                                                                      2 DSC1 1 9725549 9725768 Normal Node OK
                                                                      used time: 468.386(ms). Execute id is 55000.

                                                                      检查文件路径

                                                                        SQL> select path from v$datafile;
                                                                        LINEID PATH
                                                                        ---------- --------------------------
                                                                        1 +DMDATA/data/SYSTEM.dbf
                                                                        2 +DMDATA/data/ROLL.dbf
                                                                        3 +DMDATA/data/DSC/TEMP0.DBF
                                                                        4 +DMDATA/data/MAIN.dbf
                                                                        used time: 233.157(ms). Execute id is 55002.
                                                                          SQL> select path from v$rlogfile;


                                                                          LINEID PATH
                                                                          ---------- ----------------------
                                                                          1 +DMDATA/DSC0_LOG01.log
                                                                          2 +DMDATA/DSC0_LOG02.log
                                                                          used time: 272.908(ms). Execute id is 55005.

                                                                          检查实例

                                                                            SQL> select name,instance_name,host_name from v$instance;
                                                                            LINEID NAME INSTANCE_NAME HOST_NAME
                                                                            ---------- ---- ------------- ---------
                                                                            1 DSC0 DSC0 dsc01
                                                                            used time: 822.051(ms). Execute id is 55100.
                                                                              SQL> select name,instance_name,host_name from v$instance;
                                                                              LINEID NAME INSTANCE_NAME HOST_NAME
                                                                              ---------- ---- ------------- ---------
                                                                              1 DSC1 DSC1 dsc02
                                                                              used time: 17.985(ms). Execute id is 7.

                                                                              检查ASM

                                                                                SQL> select group_id,group_name,TOTAL_SIZE from v$asmgroup;
                                                                                LINEID GROUP_ID GROUP_NAME TOTAL_SIZE
                                                                                ---------- ----------- ---------- -----------
                                                                                1 0 DMDATA 10239
                                                                                2 1 DMARCH 2047
                                                                                3 125 VOTE 2048
                                                                                4 126 DCR 2048
                                                                                used time: 907.805(ms). Execute id is 55007.
                                                                                  SQL> select disk_name,disk_path from v$asmdisk;


                                                                                  LINEID DISK_NAME DISK_PATH
                                                                                  ---------- ---------- -----------------
                                                                                  1 DMASMDATA0 /dev/dm/asm-diskh
                                                                                  2 DMASMARCH0 /dev/dm/asm-diskg
                                                                                  3 DMASMvote /dev/dm/asm-diske
                                                                                  4 DMASMdcr /dev/dm/asm-diskf
                                                                                  used time: 433.907(ms). Execute id is 55008.
                                                                                    SQL> select * from V$ASMATTR;


                                                                                    LINEID AU_SIZE EXTENT_SIZE LOCAL_CODE LOCAL_LANG USE_SHM EXTENT_ARR_SIZE
                                                                                    ---------- ----------- ----------- ---------- ---------- ------- ---------------
                                                                                    1 1048576 4 PG_GB18030 EN TRUE 12351936
                                                                                    used time: 77.872(ms). Execute id is 55013.
                                                                                      SQL> select file_id,type,path from v$asmfile;


                                                                                      LINEID FILE_ID TYPE PATH
                                                                                      ---------- -------------------- --------- ------------------------
                                                                                      1 2147483649 DIRECTORY +DMDATA
                                                                                      2 2147483650 DIRECTORY +DMDATA/data
                                                                                      3 2147483651 DIRECTORY +DMDATA/data/DSC
                                                                                      4 2147483652 DIRECTORY +DMDATA/data/DSC/bak
                                                                                      5 2147483653 FILE +DMDATA/data/dm.ctl
                                                                                      6 2147483679 FILE +DMDATA/DSC0_LOG01.log
                                                                                      7 2147483680 FILE +DMDATA/DSC0_LOG02.log
                                                                                      8 2147483681 FILE +DMDATA/DSC1_LOG01.log
                                                                                      9 2147483682 FILE +DMDATA/DSC1_LOG02.log
                                                                                      10 2147483661 FILE +DMDATA/data/SYSTEM.dbf
                                                                                      11 2147483659 DIRECTORY +DMDATA/data/DSC/ctl_bak
                                                                                      12 2147483685 FILE +DMDATA/data/MAIN.dbf
                                                                                      13 2147483662 FILE +DMDATA/data/DSC/dm_service.prikey
                                                                                      14 2147483684 FILE +DMDATA/data/DSC/ctl_bak/dm_20221208175156_758750.ctl
                                                                                      15 2147483686 FILE +DMDATA/data/ROLL.dbf
                                                                                      16 2147483687 DIRECTORY +DMDATA/data/DSC/HMAIN
                                                                                      17 2147483688 FILE +DMDATA/data/DSC/TEMP0.DBF
                                                                                      18 2147483689 FILE +DMDATA/data/DSC/TEMP1.DBF
                                                                                      19 2147483692 FILE +DMDATA/data/DSC/rep_conflict.log
                                                                                      20 2147483691 FILE +DMDATA/data/DSC/ctl_bak/dm_20221208180445_380829.ctl
                                                                                      21 2147483694 FILE +DMDATA/data/DSC/ctl_bak/dm_20221208180608_533426.ctl
                                                                                      22 2164260865 DIRECTORY +DMARCH
                                                                                      23 4244635649 DIRECTORY +VOTE
                                                                                      24 4244635650 FILE +VOTE/VOTE
                                                                                      25 4261412865 DIRECTORY +DCR
                                                                                      26 4261412866 FILE +DCR/DCR
                                                                                      26 rows got
                                                                                      used time: 485.758(ms). Execute id is 55009.

                                                                                      检查DCR

                                                                                        SQL> select * from V$DCR_INFO;
                                                                                        LINEID VERSION N_GROUP VTD_PATH UDP_FLAG UDP_OGUID DCR_PATH
                                                                                        ---------- ----------- ----------- ----------------- ----------- -------------------- -----------------
                                                                                        1 259 3 /dev/dm/asm-diske 0 210715 /dev/dm/asm-diskf
                                                                                        used time: 923.717(ms). Execute id is 55010.
                                                                                          SQL> select * from V$DCR_GROUP;


                                                                                          LINEID GROUP_TYPE GROUP_NAME N_EP DSKCHK_CNT NETCHK_TIME
                                                                                          ---------- ---------- ---------- ----------- ----------- -----------
                                                                                          1 CSS GRP_CSS 2 65 0
                                                                                          2 ASM GRP_ASM 2 61 0
                                                                                          3 DB GRP_DSC 2 57 0
                                                                                          used time: 903.076(ms). Execute id is 55011.
                                                                                            SQL> select * from V$DCR_EP;


                                                                                            LINEID GROUP_NAME EP_NAME EP_SEQNO EP_HOST EP_PORT UDP_PORT SHM_KEY SHM_SIZE ASM_LOAD_PATH
                                                                                            ---------- ---------- ------- ----------- -------------- ----------- ----------- ----------- ----------- -------------
                                                                                            1 GRP_CSS CSS0 0 192.168.33.200 11286 0 0 0 NULL
                                                                                            2 GRP_CSS CSS1 1 192.168.33.58 11286 0 0 0 NULL
                                                                                            3 GRP_ASM ASM0 0 192.168.33.200 11276 0 42424 1024 /dev/dm
                                                                                            4 GRP_ASM ASM1 1 192.168.33.58 11277 0 42425 1024 /dev/dm
                                                                                            5 GRP_DSC DSC0 0 5237 0 0 0 NULL
                                                                                            6 GRP_DSC DSC1 1 5237 0 0 0 NULL
                                                                                            6 rows got

                                                                                            创建测试数据

                                                                                              SQL> create table t1(id int,time datetime);
                                                                                              executed successfully
                                                                                              used time: 535.329(ms). Execute id is 55016.
                                                                                              SQL> insert into t1 values(1,now());
                                                                                              affect rows 1
                                                                                              used time: 0.908(ms). Execute id is 55017.
                                                                                              SQL> commit;
                                                                                              executed successfully
                                                                                              used time: 502.314(ms). Execute id is 55019.
                                                                                              SQL> select * from t1;
                                                                                              LINEID ID TIME
                                                                                              ---------- ----------- --------------------------
                                                                                              1 1 2022-12-08 18:24:26.540339
                                                                                              used time: 00:00:01.008. Execute id is 55018.

                                                                                              登录另一个节点,可以正常查到数据

                                                                                                [dmdba@dsc02 ~]$ disql SYSDBA/Dameng123:5237
                                                                                                SQL> select * from t1;
                                                                                                LINEID ID TIME
                                                                                                ---------- ----------- --------------------------
                                                                                                1 1 2022-12-08 18:24:26.540339
                                                                                                used time: 00:00:03.320. Execute id is 2.

                                                                                                注册服务

                                                                                                注册 CSSASMDMSERVER 后台服务,必须root用户执行

                                                                                                ##dsc01 机器

                                                                                                  /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -p CSS
                                                                                                  /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
                                                                                                  /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dsc_config/DCS0/dm.ini -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -m open -p DSC

                                                                                                  ##dsc02 机器

                                                                                                    /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -p CSS
                                                                                                    /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
                                                                                                    /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dsc_config/DCS1/dm.ini -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -m open -p DSC

                                                                                                    查看服务

                                                                                                      [root@dsc01 ~]# systemctl list-unit-files |grep -E "DmA|DmCSS|DmS"
                                                                                                      DmAPService.service enabled
                                                                                                      DmASMSvrServiceASM.service enabled
                                                                                                      DmCSSServiceCSS.service enabled
                                                                                                      DmServiceDSC.service enabled

                                                                                                      集群启动和关闭

                                                                                                      启动集群

                                                                                                      启动CSS

                                                                                                        [root@dsc01 ~]# systemctl start DmCSSServiceCSS.service
                                                                                                        [root@dsc02 ~]# systemctl start DmCSSServiceCSS.service

                                                                                                        对应进程

                                                                                                          [root@dsc01 ~]# ps -ef|grep -i dmc
                                                                                                          dmdba 25475 1 0 18:51 ? 00:00:00 /dm/dmdbms/bin/dmcss dcr_ini=/dm/dmdbms/dsc_config/dmdcr.ini -noconsole

                                                                                                          启动ASM

                                                                                                            [root@dsc01 ~]# systemctl start DmASMSvrServiceASM.service
                                                                                                            [root@dsc02 ~]# systemctl start DmASMSvrServiceASM.service

                                                                                                            对应进程

                                                                                                              [root@dsc01 ~]# ps -ef|grep -i dmasm
                                                                                                              dmdba 25612 1 2 18:53 ? 00:00:01 /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/dsc_config/dmdcr.ini -noconsole

                                                                                                              启动数据库

                                                                                                                [root@dsc01 ~]# systemctl start DmServiceDSC
                                                                                                                [root@dsc02 ~]# systemctl start DmServiceDSC

                                                                                                                对应进程

                                                                                                                  [root@dsc01 ~]# ps -ef|grep -i dms
                                                                                                                  dmdba 25875 1 1 18:55 ? 00:00:00 /dm/dmdbms/bin/dmserver path=/dm/dmdbms/dsc_config/DCS0/dm.ini dcr_ini=/dm/dmdbms/dsc_config/dmdcr.ini -noconsole

                                                                                                                  关闭集群

                                                                                                                  关闭数据库

                                                                                                                    [root@dsc01 ~]# systemctl stop DmServiceDSC
                                                                                                                    [root@dsc02 ~]# systemctl stop DmServiceDSC

                                                                                                                    关闭ASM

                                                                                                                      [root@dsc01 ~]# systemctl stop DmASMSvrServiceASM.service
                                                                                                                      [root@dsc02 ~]# systemctl stop DmASMSvrServiceASM.service

                                                                                                                      关闭CSS

                                                                                                                        [root@dsc01 ~]# systemctl stop DmCSSServiceCSS.service
                                                                                                                        [root@dsc02 ~]# systemctl stop DmCSSServiceCSS.service

                                                                                                                        其他操作

                                                                                                                        关闭服务自动启动

                                                                                                                          systemctl disable DmCSSServiceCSS.service
                                                                                                                          systemctl disable DmASMSvrServiceASM.service
                                                                                                                          systemctl disable DmServiceDSC
                                                                                                                          systemctl disable DmAPService.service
                                                                                                                            [root@dsc01 ~]# systemctl list-unit-files |grep -E "DmA|DmCSS|DmS"
                                                                                                                            DmAPService.service disabled
                                                                                                                            DmASMSvrServiceASM.service disabled
                                                                                                                            DmCSSServiceCSS.service disabled
                                                                                                                            DmServiceDSC.service disabled

                                                                                                                            删除服务

                                                                                                                              /dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmCSSServiceCSS
                                                                                                                              /dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmASMSvrServiceASM
                                                                                                                              /dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDSC

                                                                                                                              故障处理

                                                                                                                              错误一:启动CSS服务失败

                                                                                                                              报错如下:

                                                                                                                                [dmdba@dsc01 ~]$ /dm/dmdbms/bin/dmcss DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini
                                                                                                                                /dm/dmdbms/bin/dmcss: error while loading shared libraries: libdmcalc.so: cannot open shared object file: No such file or directory

                                                                                                                                需要进到/dm/dmdbms/bin/目录下执行,不能直接使用绝对路径

                                                                                                                                  [dmdba@dsc01 bin]$ ./dmcss DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini
                                                                                                                                  DMCSS V8
                                                                                                                                  DMCSS IS READY
                                                                                                                                  [2022-12-08 16:21:47:027] [CSS]: Set EP CSS0[0] as Control node

                                                                                                                                  错误二:启动ASM服务失败

                                                                                                                                  报错如下:

                                                                                                                                    [dmdba@dsc01 bin]$ /dm/dmdbms/bin/dmasmsvr DCR_INI=/dm/dmdbms/dsc_config/dmdcr.ini
                                                                                                                                    ASM SELF EPNO:0
                                                                                                                                    DMASMSVR V8
                                                                                                                                    dmasmsvr task worker thread startup
                                                                                                                                    shmget: Invalid argument
                                                                                                                                    create share memory failed[code: -9728], please check shm config and try again, errno:[22]

                                                                                                                                    需要调大kernel.shmmax

                                                                                                                                      [root@dsc01 mnt]# vi /etc/sysctl.conf
                                                                                                                                      #kernel.shmmax = 858783744

                                                                                                                                      调大kernel.shmmax

                                                                                                                                        [root@dsc01 mnt]# sysctl -p

                                                                                                                                        错误三:创建数据库失败

                                                                                                                                        报错如下:

                                                                                                                                          [dmdba@dsc01 dsc_config]$ /dm/dmdbms/bin/dminit control=/dm/dmdbms/dsc_config/dminit.ini
                                                                                                                                          ......
                                                                                                                                          write to dir [+DMDATA/data/DSC].
                                                                                                                                          fsm_file_add group_id 4, file_id 0, size_in_pages 32768, path +DMDATA/data/MAIN.dbf failed, code -7004
                                                                                                                                          Please check whether exist file or directory with the same name, code:[-7014]
                                                                                                                                          You may get more details in file ../log/dm_DSC0_202212.log
                                                                                                                                          fail to init db.

                                                                                                                                          查看日志../log/dm_DSC0_202212.log,空间不足了,减小参数文件里配置的数据文件大小,重新执行

                                                                                                                                            2022-12-08 17:48:55.401 [ERROR] dminit P0000020632 T0000000000000020632 os_file_create_ex->os_asm_file_create: [path: +DMDATA/data/MAIN.dbf]: [CODE:-523] Out of space

                                                                                                                                            错误四:达梦官方文档存在部分错误

                                                                                                                                            1.2.8 初始化 DB 环境

                                                                                                                                            ##db0 节点执行初始化 db 命令

                                                                                                                                              [dmdba@~]# vi /dm/dmdbms/bin/dminit control=/dm/dmdbms/dsc_config/init/dminit.ini

                                                                                                                                              没有vi

                                                                                                                                              1.2.11 注册 CSSASMDMSERVER 后台服务

                                                                                                                                                [root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dsc_config/DSC0/dm.ini -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -m -p DSC

                                                                                                                                                这里的-m 后需要接mountopen

                                                                                                                                                参考文档

                                                                                                                                                  https://eco.dameng.com/document/dm/zh-cn/ops/DSC-installation-cluster.html
                                                                                                                                                  https://eco.dameng.com/document/dm/zh-cn/pm/dsc-monitor.html

                                                                                                                                                  ###chenjuchao 20221208 20:25###

                                                                                                                                                  文章转载自IT小Chen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                                                                                                  评论