基於X-86平臺的達夢8守護叢集搭建

tangwuqiao發表於2022-07-07

基於X-86平臺的達夢8守護叢集搭建操作步驟:

一、環境配置資訊:

主機IP              例項名  MAL監聽TCP埠 對外服務IP地址 例項的對外服務埠 例對應的守護程式監聽TCP連線的埠 例項監聽守護程式TCP連線的埠

MAL_HOST         MAL_INST_NAME  MAL_PORT   MAL_INST_HOST    MAL_INST_PORT       MAL_DW_PORT                         MAL_INST_DW_PORT

192.168.1.110   GRP1_RW_01      61141    192.168.1.110         5236             52141                                 33141

192.168.1.111   GRP1_RW_02      61142    192.168.1.111         5236             52142                                 33142


二、配置步驟

1.主備庫初始化資料庫:

主庫:

[dmdba@localhost dm8]$ dminit path='/dm8/data/' instance_name=GRP1_RW_01 db_name=DM CASE_SENSITIVE=Y EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=256 PORT_NUM=5236

[root@localhost ~]# cd /dm8/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DM/dm.ini -p DM 

[root@localhost root]# systemctl start DmServiceDM.service

[root@localhost root]# systemctl enable DmServiceDM.service

備庫:

[dmdba@localhost dm8]$ dminit path='/dm8/data/' instance_name=GRP1_RW_02 db_name=DM CASE_SENSITIVE=Y EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=256 PORT_NUM=5236

[root@localhost ~]# cd /dm8/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DM/dm.ini -p DM 

[root@localhost root]# systemctl start DmServiceDM.service

[root@localhost root]# systemctl enable DmServiceDM.service


2.備份還原(主庫執行資料備份,先關閉例項,再執行備份。)

1)主備庫關閉資料庫

[root@localhost root]# systemctl stop DmServiceDM.service

[dmdba@localhost ~]$ cd /dm8/bin

[dmdba@localhost ~]$ ./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DM/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/'"


dmrman備份資料庫(cd /dm8/bin -> ./dmrman)

BACKUP DATABASE '/dm8/data/DM/dm.ini' BACKUPSET '/dm8/backup';


將備份檔案複製到備庫對應目錄下

scp -r /dm8/backup/* dmdba@192.168.1.111:/dm8/backup


2)備庫執行資料恢復,先關閉例項,再執行恢復。

[root@localhost root]# systemctl stop DmServiceDM.service

[dmdba@localhost bin]$ cd /dm8/bin

[dmdba@localhost bin]$ ./DmAPService  start

[dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DM/dm.ini' FROM BACKUPSET '/dm8/backup'"

[dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM/dm.ini' FROM BACKUPSET '/dm8/backup'"

[dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM/dm.ini' UPDATE DB_MAGIC"


3.dm.ini檔案修改(主備)

叢集配置(配置檔案都在dm.ini同目錄/dm8/data/DM/)

[dmdba@dw_p DM]$ vi /dm8/data/DM/dm.ini 

INSTANCE_NAME = GRP1_RW_01

PORT_NUM = 5236

DW_INACTIVE_INTERVAL = 60

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1

ARCH_INI = 1

RLOG_SEND_APPLY_MON = 64


4.配置dmmal.ini檔案(主備)

主備庫配置一致, vi /dm8/data/DM/dmmal.ini

[dmdba@localhost DM]$ vi /dm8/data/DM/dmmal.ini

#########################################################################

MAL_CHECK_INTERVAL       = 5

MAL_CONN_FAIL_INTERVAL   = 5

[MAL_INST1]

MAL_INST_NAME            = GRP1_RW_01

MAL_HOST                 = 192.168.1.110

MAL_PORT                 = 61141

MAL_INST_HOST            = 192.168.1.110

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 52141

MAL_INST_DW_PORT         = 33141

[MAL_INST2]

MAL_INST_NAME            = GRP1_RW_02

MAL_HOST                 = 192.168.1.111

MAL_PORT                 = 61142

MAL_INST_HOST            = 192.168.1.111

MAL_INST_PORT            = 5237

MAL_DW_PORT              = 52142

MAL_INST_DW_PORT         = 33142

#########################################################################


5.配置dmarch.ini歸檔檔案

主備庫配置不一致,vi /dm8/data/DM/dmarch.ini

例如:

#########################################################################

[ARCHIVE_REALTIME]

ARCH_TYPE        = REALTIME

ARCH_DEST        = GRP1_RW_02

[ARCHIVE_LOCAL1]

ARCH_TYPE        = LOCAL

ARCH_DEST        = /dm8/arch

ARCH_FILE_SIZE   = 2048

ARCH_SPACE_LIMIT = 204800


備庫

[ARCHIVE_REALTIME]

ARCH_TYPE        = REALTIME

ARCH_DEST        = GRP1_RW_01

[ARCHIVE_LOCAL1]

ARCH_TYPE        = LOCAL

ARCH_DEST        = /dm8/arch

ARCH_FILE_SIZE   = 2048

ARCH_SPACE_LIMIT = 204800

##########################################################################


5.配置dmwatcher.ini檔案

主備庫一致,vi /dm8/data/DM/dmwatcher.ini

達夢資料守護又自動切換和手動切換兩種,配置自動切換模式必須單獨伺服器部署確認監視器


[dmdba@localhost DM]$ vi /dm8/data/DM/dmwatcher.ini

################################dmwatcher.ini配置手動切換#######################

[GRP1]

DW_TYPE       =  GLOBAL

DW_MODE       =  AUTO

DW_ERROR_TIME    =  10

INST_RECOVER_TIME =  60

INST_ERROR_TIME  =  10

INST_OGUID     =  453331

INST_INI      =  /dm8/data/DM/dm.ini

INST_AUTO_RESTART =  1

INST_STARTUP_CMD  =  /dm8/bin/dmserver

RLOG_SEND_THRESHOLD =  0

RLOG_APPLY_THRESHOLD =  0

#############################################################################


6.監視器檔案配置

主備庫上都部署,配置一致,vi /dm8/data/DM/dmmonitor.ini

################################dmmonitor.ini(自動切換模式下,監視器模式MON_DW_Confirm = 1,監視組名要保持跟dmwatcher.ini一致)##################################

MON_DW_Confirm    = 1

MON_LOG_PATH    = /dm8/log

MON_LOG_INTERVAL  = 60

MON_LOG_FILE_SIZE   = 256

MON_LOG_SPACE_LIMIT  = 1024

[GRP1]

MON_INST_OGUID    = 453331

MON_DW_IP     = 192.168.1.110:52141

MON_DW_IP     = 192.168.1.111:52142

#############################################################################



7.mount啟動資料庫,設定oguid,更改資料庫模式

########################主從啟動資料庫至mount狀態(cd /dm8/bin)######################

主:

./DmServiceDM start mount

從:

./DmServiceDM start mount

###################################################################


使用disql登入資料庫,分別執行以下命令更改

主庫

./disql sysdba/SYSDBA:5236

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331); 

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);


alter database primary;    #主庫模式

備庫

./disql sysdba/SYSDBA:5236

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331); 

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);


alter database standby;   #備庫模式


8.啟動守護程式

啟動各個主備庫上的守護程式(cd /dm8/bin)

./dmwatcher /dm8/data/DM/dmwatcher.ini &

啟動監視器

./dmmonitor /dm8/data/DM/dmmonitor.ini


輸入 show 命令檢視叢集狀態:

其中守護程式狀態 WSTATUS 為 OPEN,例項狀態 ISTATUS 為 OPEN,歸檔型別 RTYPE 為 TIMELY,歸檔狀態 RSTAT 為VALID。



9.註冊服務

先關閉前面前臺啟動的例項服務與守護程式服務,先關守護,再關例項,先關主,再關備

主庫:

[dmdba@cnsz92vl21954 bin]$ ps -ef |grep -i dmwatcher|grep -v grep |awk '{print $2}'|xargs kill -9

[dmdba@cnsz92vl21954 bin]$ ./DmServiceDM stop

備庫:

[dmdba@cnsz92vl21954 bin]$ ps -ef |grep -i dmwatcher|grep -v grep |awk '{print $2}'|xargs kill -9

[dmdba@cnsz92vl21954 bin]$ ./DmServiceDM stop


用root使用者註冊守護程式服務,在資料庫安裝目錄下/dm8/script/root目錄下

./dm_service_installer.sh -t dmwatcher -p DM -watcher_ini /dm8/data/DM/dmwatcher.ini

systemctl enable DmWatcherServiceDM

監視器服務(自動切換才需要,且必須,手動切換不用)

./dm_service_installer.sh -t dmmonitor -p DM -monitor_ini /dm8/data/DM/dmmonitor.ini

systemctl enable DmWatcherServiceDM



10.啟動叢集

方法一:dmdba使用者啟動,在安裝目錄的bin目錄下

啟動主庫例項:./DmServiceDM start 

啟動備庫例項:./DmServiceDM start 

啟動主庫守護程式:./DmWatcherServiceDM start

啟動備庫守護程式:./DmWatcherServiceDM start


方法二:root使用者執行

啟動主庫例項:systemctl start DmServiceDM

啟動備庫例項:systemctl start DmServiceDM

啟動主庫守護程式:systemctl start DmWatcherServiceDM

啟動備庫守護程式:systemctl start DmWatcherServiceDM


11.叢集測試

至此,叢集搭建完成,可進行測試,在主庫建表插資料,到備庫檢視是否有資料

主庫disql登入,建立測試表,並插入資料,提交

create table test(id int);

insert into test values (1);

commit;


備庫disql登入


select * from test;


12.主備切換

達夢資料守護叢集提供切換功能,在主庫故障情況下,將備庫切換為主庫,快速恢復服務,自動切換則由監視器自動處理,無需人工干預。dmdba使用者資料庫安裝目錄下bin目錄下

./dmmonitor /dm8/data/DM/dmmonitor.ini       #啟動監視器

login                                          #登入監視器

使用者名稱

密碼

choose switchover                              #查詢可切換為主庫的備庫

switcherover GRPDW.RW2                         #主備切換

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28793776/viewspace-2904657/,如需轉載,請註明出處,否則將追究法律責任。

相關文章