测试环境用workstation软件来安装管理虚拟机。
主机名称 | 主机ip | 实例名称 | 操作系统 |
---|---|---|---|
dmsrv01 | 192.168.18.71(内部)、192.168.20.71(业务) | CSS0、ADM0、DSC0 | Kylin Linux Advanced Server release V10 (Sword) |
dmsrv02 | 192.168.18.72(内部)、192.168.20.72(业务) | CSS1、ADM1、DSC1 | Kylin Linux Advanced Server release V10 (Sword) |
测试环境使用starwind软件来管理iscsi共享盘。
裸设备路径 | 用途 | 大小 | ASM盘名称 |
---|---|---|---|
/dev/raw/raw1 | DCR磁盘 | 2GB | dcr |
/dev/raw/raw2 | VOTE磁盘 | 2GB | vote |
/dev/raw/raw3 | 数据文件 | 50GB | data |
/dev/raw/raw4 | 日志文件 | 20GB | log |
安装达梦8数据库软件。
一共在target服务端配置4块磁盘。
主机节点1
yum install -y iscsi-initiator-utils iscsiadm -m discovery -t st -p 192.168.18.1 iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.18.1-dzw -p 192.168.18.1 --login [root@dmsrv01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 2G 0 disk sdb 8:16 0 2G 0 disk sdc 8:32 0 50G 0 disk sdd 8:48 0 20G 0 disk nvme0n1 259:0 0 100G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 99G 0 part ├─klas-root 253:0 0 63.9G 0 lvm / └─klas-swap 253:1 0 4G 0 lvm [SWAP]
主机节点2
yum install -y iscsi-initiator-utils iscsiadm -m discovery -t st -p 192.168.18.1 iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.18.1-dzw -p 192.168.18.1 --login [root@dmsrv02 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 2G 0 disk sdb 8:16 0 2G 0 disk sdc 8:32 0 50G 0 disk sdd 8:48 0 20G 0 disk nvme0n1 259:0 0 100G 0 disk ├─nvme0n1p1 259:1 0 1G 0 part /boot └─nvme0n1p2 259:2 0 99G 0 part ├─klas-root 253:0 0 63.9G 0 lvm / └─klas-swap 253:1 0 4G 0 lvm [SWAP]
节点1使用udev固定盘名称
[root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sda
218f0ca5506ebe813
[root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb
2b680b7f9d8012eaa
[root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
2c75803d44fa76162
[root@dmsrv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd
2c71a274f8a10e7c4
[root@dmsrv01 ~]# cat /etc/udev/rules.d/99-dm-disk.rules
# 规则语法:通过SCSI ID绑定固定名称
SUBSYSTEM=="block", ENV{ID_SERIAL}=="218f0ca5506ebe813", SYMLINK+="raw/raw1", OWNER="dmdba", GROUP="dinstall", MODE="0660"
SUBSYSTEM=="block", ENV{ID_SERIAL}=="2b680b7f9d8012eaa", SYMLINK+="raw/raw2", OWNER="dmdba", GROUP="dinstall", MODE="0660"
SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c75803d44fa76162", SYMLINK+="raw/raw3", OWNER="dmdba", GROUP="dinstall", MODE="0660"
SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c71a274f8a10e7c4", SYMLINK+="raw/raw4", OWNER="dmdba", GROUP="dinstall", MODE="0660"
[root@dmsrv01 ~]# udevadm control --reload-rules
[root@dmsrv01 ~]# udevadm trigger
[root@dmsrv01 ~]# ls -lrt /dev/raw/
总用量 0
crw-rw---- 1 root disk 162, 0 5月 27 22:31 rawctl
lrwxrwxrwx 1 root root 6 5月 27 22:31 raw4 -> ../sdd
lrwxrwxrwx 1 root root 6 5月 27 22:31 raw1 -> ../sda
lrwxrwxrwx 1 root root 6 5月 27 22:31 raw3 -> ../sdc
lrwxrwxrwx 1 root root 6 5月 27 22:31 raw2 -> ../sdb
节点2使用udev固定盘名称
[root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sda 218f0ca5506ebe813 [root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb 2b680b7f9d8012eaa [root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc 2c75803d44fa76162 [root@dmsrv02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd 2c71a274f8a10e7c4 [root@dmsrv02 ~]# cat /etc/udev/rules.d/99-dm-disk.rules SUBSYSTEM=="block", ENV{ID_SERIAL}=="218f0ca5506ebe813", SYMLINK+="raw/raw1", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2b680b7f9d8012eaa", SYMLINK+="raw/raw2", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c75803d44fa76162", SYMLINK+="raw/raw3", OWNER="dmdba", GROUP="dinstall", MODE="0660" SUBSYSTEM=="block", ENV{ID_SERIAL}=="2c71a274f8a10e7c4", SYMLINK+="raw/raw4", OWNER="dmdba", GROUP="dinstall", MODE="0660" [root@dmsrv02 ~]# udevadm control --reload-rules [root@dmsrv02 ~]# udevadm trigger [root@dmsrv02 ~]# ls -lrt /dev/raw/ 总用量 0 crw-rw---- 1 root disk 162, 0 5月 27 22:34 rawctl lrwxrwxrwx 1 root root 6 5月 27 22:34 raw4 -> ../sdd lrwxrwxrwx 1 root root 6 5月 27 22:34 raw1 -> ../sda lrwxrwxrwx 1 root root 6 5月 27 22:34 raw3 -> ../sdc lrwxrwxrwx 1 root root 6 5月 27 22:34 raw2 -> ../sdb
节点1、2配置配置文件
[dmdba@dmsrv02 ~]$ cat /dm8/config/dmdcr_cfg.ini 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 = 192.168.18.71 DCR_EP_PORT = 9341 [GRP_CSS] DCR_EP_NAME = CSS1 DCR_EP_HOST = 192.168.18.72 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 = 192.168.18.71 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 = 192.168.18.72 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
主机1配置asm盘
[dmdba@dmsrv02 bin]$ ./dmasmcmd
dmasmcmd V8
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
[TRACE]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr
Used time: 29.768(ms).
ASM>create votedisk '/dev/raw/raw2' 'vote'
[TRACE]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote
Used time: 30.732(ms).
ASM>create asmdisk '/dev/raw/raw3' 'data'
[TRACE]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMdata
Used time: 40.448(ms).
ASM>create asmdisk '/dev/raw/raw4' 'log'
[TRACE]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMlog
Used time: 17.076(ms).
ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by '123456'
[TRACE]DG 126 alloc extent for inode (0, 0, 1)
[TRACE]DG 126 alloc 4 extents for 0xfe000002 (0, 0, 2)->(0, 0, 5)
init /dev/raw/raw1 from /dm8/config/dmdcr_cfg.ini failed!
[code: -2504], 密码长度不符合要求
ASM>init dcrdisk '/dev/raw/raw1' from '/dm8/config/dmdcr_cfg.ini' identified by 'Aa123456_'
[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: 194.914(ms).
ASM>init votedisk '/dev/raw/raw2' from '/dm8/config/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: 156.644(ms).
[dmdba@dmsrv01 config]$ cat /dm8/config/dmasvrmal.ini [MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 192.168.18.71 MAL_PORT = 7236 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 192.168.18.72 MAL_PORT = 7236
节点1
[dmdba@dmsrv01 config]$ cat /dm8/config/dmdcr.ini DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini DMDCR_SEQNO = 0 DMDCR_ASM_RESTART_INTERVAL = 10 DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini DMDCR_DB_RESTART_INTERVAL = 30 DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/config/dsc1/dm.ini dcr_ini=/dm8/config/dmdcr.ini
节点2
[dmdba@dmsrv02 bin]$ cat /dm8/config/dmdcr.ini DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH =/dm8/config/dmasvrmal.ini DMDCR_SEQNO = 1 DMDCR_ASM_RESTART_INTERVAL = 10 DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini DMDCR_DB_RESTART_INTERVAL = 30 DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/dm8/config/dsc2/dm.ini dcr_ini=/dm8/config/dmdcr.ini
两节点执行
./dmcss DCR_INI=/dm8/config/dmdcr.ini
./dmasmsvr DCR_INI=/dm8/config/dmdcr.ini
dmcss会自动拉起dmasmsvr,以上命令可能会执行失败
[dmdba@dmsrv01 bin]$ ps -ef|grep dmasm dmdba 2430 1 0 23:12 ? 00:00:00 /dm8/bin/dmasmsvr dcr_ini=/dm8/config/dmdcr.ini dmdba 2654 2562 0 23:18 pts/1 00:00:00 grep dmasm [dmdba@dmsrv01 bin]$ ps -ef|grep dmcss dmdba 2405 2271 0 23:12 pts/0 00:00:00 ./dmcss DCR_INI=/dm8/config/dmdcr.ini dmdba 2659 2562 0 23:19 pts/1 00:00:00 grep dmcss
[dmdba@dmsrv01 bin]$ ./dmasmtool DCR_INI=/dm8/config/dmdcr.ini
DMASMTOOL V8
ASM>create diskgroup 'DATA' asmdisk '/dev/raw/raw3'
Used time: 103.367(ms).
ASM>create diskgroup 'LOG' asmdisk '/dev/raw/raw4'
Used time: 114.902(ms).
[dmdba@dmsrv01 ~]$ cat /dm8/config/dminit.ini db_name = dsc system_path = +DATA/data system = +DATA/data/dsc/system.dbf system_size = 128 roll = +DATA/data/dsc/roll.dbf roll_size = 128 main = +DATA/data/dsc/main.dbf main_size = 128 ctl_path = +DATA/data/dsc/dm.ctl ctl_size = 8 log_size = 256 dcr_path = /dev/raw/raw1 dcr_seqno = 0 auto_overwrite = 1 [DSC0] config_path = /dm8/config/dsc1 port_num = 5236 mal_host = 192.168.18.71 mal_port = 9340 log_path = +LOG/log/dsc0_log01.log log_path = +LOG/log/dsc0_log02.log [DSC1] config_path = /dm8/config/dsc2 port_num = 5237 mal_host = 192.168.18.72 mal_port = 9341 log_path = +LOG/log/dsc1_log01.log log_path = +LOG/log/dsc1_log02.log
[dmdba@dmsrv01 ~]$ mkdir -p /dm8/config/dsc1 [dmdba@dmsrv01 ~]$ mkdir -p /dm8/config/dsc2 [dmdba@dmsrv01 ~]$ cd /dm8/bin [dmdba@dmsrv01 bin]$ ./dminit control=/dm8/config/dminit.ini initdb V8 db version: 0x7000d file dm.key not found, use default license! License will expire on 2026-01-17 please set [SYSDBA_PWD] value. Passwords length [8, 48], contain uppercase and lowercase characters combined with numbers. fail to init db. [dmdba@dmsrv01 bin]$ ./dminit control=/dm8/config/dminit.ini SYSDBA_PWD=Aa123456_ initdb V8 db version: 0x7000d file dm.key not found, use default license! License will expire on 2026-01-17 please set [SYSAUDITOR_PWD] value. Passwords length [8, 48], contain uppercase and lowercase characters combined with numbers. fail to init db. [dmdba@dmsrv01 bin]$ ./dminit control=/dm8/config/dminit.ini SYSDBA_PWD=Aa123456_ SYSAUDITOR_PWD=Aa123456_ initdb V8 db version: 0x7000d file dm.key not found, use default license! License will expire on 2026-01-17 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: +LOG/log/dsc0_log01.log log file path: +LOG/log/dsc0_log02.log log file path: +LOG/log/dsc1_log01.log log file path: +LOG/log/dsc1_log02.log write to dir [+DATA/data/dsc]. create dm database success. 2025-05-27 23:31:46
节点1复制配置文件到节点2
[dmdba@dmsrv01 bin]$ scp /dm8/config/dsc /dm8/config/dsc1/ /dm8/config/dsc2/ [dmdba@dmsrv01 bin]$ scp -r /dm8/config/dsc2 192.168.18.72:/dm8/config/ The authenticity of host '192.168.18.72 (192.168.18.72)' can't be established. ECDSA key fingerprint is SHA256:PuKs3FR0ptimBXLYyIfRZSVfjaATJEH44kCF3y5vdwg. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.18.72' (ECDSA) to the list of known hosts. Authorized users only. All activities may be monitored and reported. dmdba@192.168.18.72's password: Permission denied, please try again. dmdba@192.168.18.72's password: dmmal.ini 100% 206 464.0KB/s 00:00 dm.ini 100% 80KB 40.9MB/s 00:00 sqllog.ini 100% 714 1.1MB/s 00:00 [dmdba@dmsrv01 bin]$
节点1 css服务可以查看数据库状态
节点2 css服务可以查看数据库状态
在节点2配置监视器
[dmdba@dmsrv01 bin]$ cat /dm8/config/dmcssm.ini CSSM_OGUID = 63635 CSSM_CSS_IP = 192.168.18.71:9341 CSSM_CSS_IP = 192.168.18.72:9343 CSSM_LOG_PATH = /dm8/cssm_log CSSM_LOG_FILE_SIZE = 32 CSSM_LOG_SPACE_LIMIT = 0 [dmdba@dmsrv01 bin]$ ./dmcssm ini_path=/dm8/config/dmcssm.ini [monitor] [2025-05-27 23:43:26:966] CSS MONITOR V8 [monitor] [2025-05-27 23:43:27:005] CSS MONITOR SYSTEM IS READY. [monitor] [2025-05-27 23:43:27:007] Wait CSS Control Node choosed... [monitor] [2025-05-27 23:43:28:109] Wait CSS Control Node choosed succeed. show monitor current time:2025-05-27 23:43:33, n_group:3 =================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ======================================== [CSS0] auto check = TRUE, global info: [ASM0] auto restart = TRUE [DSC0] auto restart = TRUE [CSS1] auto check = TRUE, global info: [ASM1] auto restart = TRUE [DSC1] auto restart = TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2025-05-27 23:43:33 CSS0 0 9341 Control Node OPEN WORKING OK TRUE 942284 2405 944118 2025-05-27 23:43:33 CSS1 1 9343 Normal Node OPEN WORKING OK TRUE 943838 2500 945670 =================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ======================================== n_ok_ep = 2 ok_ep_arr(index, seqno): (0, 0) (1, 1) sta = OPEN, sub_sta = STARTUP break ep = NULL recover ep = NULL crash process over flag is TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2025-05-27 23:43:33 ASM0 0 9349 Control Node OPEN WORKING OK TRUE 950821 2430 952636 2025-05-27 23:43:33 ASM1 1 9351 Normal Node OPEN WORKING OK TRUE 958575 2617 960374 =================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ======================================== n_ok_ep = 2 ok_ep_arr(index, seqno): (0, 0) (1, 1) sta = OPEN, sub_sta = STARTUP break ep = NULL recover ep = NULL crash process over flag is TRUE ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid pid ts 2025-05-27 23:43:33 DSC0 0 5236 Control Node OPEN WORKING OK TRUE 1779810 2940 1780447 2025-05-27 23:43:33 DSC1 1 5237 Normal Node OPEN WORKING OK TRUE 1957625 2996 1957932 ==================================================================================================================
节点1、2注册css服务
[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmcss -p DSC -dcr_ini /dm8/config/dmdcr.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSServiceDSC.service → /usr/lib/systemd/system/DmCSSServiceDSC.service. 创建服务(DmCSSServiceDSC)完成
[root@dmsrv02 ~]# /dm8/script/root/dm_service_installer.sh -t dmcss -p DSC -dcr_ini /dm8/config/dmdcr.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSServiceDSC.service → /usr/lib/systemd/system/DmCSSServiceDSC.service. 创建服务(DmCSSServiceDSC)完成
节点1、2注册asm服务
[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmasmsvr -p DSC -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceDSC.service → /usr/lib/systemd/system/DmASMSvrServiceDSC.service. 创建服务(DmASMSvrServiceDSC)完成
[root@dmsrv02 ~]# /dm8/script/root/dm_service_installer.sh -t dmasmsvr -p DSC -dcr_ini /dm8/config/dmdcr.ini -y DmCSSServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmASMSvrServiceDSC.service → /usr/lib/systemd/system/DmASMSvrServiceDSC.service. 创建服务(DmASMSvrServiceDSC)完成
节点1、2注册数据库服务
[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p dsc -dm_ini /dm8/config/dsc1/dm.ini -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmServicedsc.service → /usr/lib/systemd/system/DmServicedsc.service. 创建服务(DmServicedsc)完成
[root@dmsrv02 ~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p dsc -dm_ini /dm8/config/dsc2/dm.ini -dcr_ini /dm8/config/dmdcr.ini -y DmASMSvrServiceDSC Created symlink /etc/systemd/system/multi-user.target.wants/DmServicedsc.service → /usr/lib/systemd/system/DmServicedsc.service. 创建服务(DmServicedsc)完成
节点1注册监听器
[root@dmsrv01 ~]# /dm8/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /dm8/config/dmcssm.ini -p Monitor Created symlink /etc/systemd/system/multi-user.target.wants/DmCSSMonitorServiceMonitor.service → /usr/lib/systemd/system/DmCSSMonitorServiceMonitor.service. 创建服务(DmCSSMonitorServiceMonitor)完成
文章
阅读量
获赞