1. 程式人生 > 其它 >部署DSC叢集

部署DSC叢集

1.磁碟分割槽及繫結
fdisk /dev/sdb
依次輸入
n p 1 回車 +100M 回車
n p 2 回車 +100M 回車
n p 3 回車 +2048M 回車
n p 4 回車 回車 回車

(以下兩臺機子都要做)
編輯/etc/udev/rules.d/60-raw.rules (沒有則新建)
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

執行 systemctl restart systemd-udev-trigger.service 完成裸裝置繫結
通過blockdev --getsize64 /dev/raw/raw1命令檢視裸裝置大小

2.配置dmdcr_cfg.ini配置檔案 (統一儲存到被本地目錄下,如/database/dm8/data/)

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.43.127
DCR_EP_PORT = 9541
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.43.128
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 = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.43.127
DCR_EP_PORT = 9641
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.43.128
DCR_EP_PORT = 9642
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 = 5237
DCR_CHECK_PORT = 9741
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5237
DCR_CHECK_PORT = 9742

3.使用DMASMCMD工具初始化
呼叫dmasmcmd,執行以下語句
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
init dcrdisk '/dev/raw/raw1' from '/home/data/dmdcr_cfg.ini'identified by 'abcd'
init votedisk '/dev/raw/raw2' from '/home/data/dmdcr_cfg.ini'

4.配置DMASM的MAL配置檔案 (所有機器都要配置,內容一樣)
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.43.127
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.43.128
MAL_PORT = 7237
5.配置dmdcr.ini
dsc0機上
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /database/dm8/data/dmasvrmal.ini
DMDCR_SEQNO = 0

DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /database/dm8/bin/dmasmsvr dcr_ini=/database/dm8/data/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /database/dm8/bin/dmserver path=/database/dm8/data/dsc0_config/dm.ini dcr_ini=/database/dm8/data/dmdcr.ini

dsc1機上
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH = /database/dm8/data/dmasvrmal.ini
DMDCR_SEQNO = 1

DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /database/dm8/bin/dmasmsvr dcr_ini=/database/dm8/data/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /database/dm8/bin/dmserver path=/database/dm8/data/dsc1_config/dm.ini dcr_ini=/database/dm8/data/dmdcr.ini
6.在兩臺機子上分別啟動dmcss dmasmsvr
進入資料庫的bin目錄下,執行以下命令啟動
dmcss dcr_ini=/database/dm8/data/dmdcr.ini
dmasmsvr dcr_ini=/database/dm8/data/dmdcr.ini

(實際生產環境中應該要通過服務的方式後臺啟動)

7.使用dmasmtool工具建立磁碟組
dmasmtool dcr_ini=/database/dm8/data/dmdcr.ini

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

8.配置dminit.ini檔案
db_name = dsc
system_path = +DMDATA/data
system = +DMDATA/data/dsc/system.dbf
system_size = 128
roll = +DMDATA/data/dsc/roll/dbf
roll_size = 128
main = +DMDATA/data/dsc/main.dbf
main_size = 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1
dcr_seqno = 0
auto_overwrite = 1
[DSC0]
config_path = /database/dm8/data/dsc0_config
port_num = 5237
mal_host = 192.168.43.127
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1]
config_path = /database/dm8/data/dsc1_config
port_num = 5237
mal_host = 192.168.43.128
mal_port = 9340
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

9.在dsc0上呼叫dminit初始化db
dminit control=/database/dm8/data/dminit.ini

初始化成功後,會在/database/dm8/data/生成dsc0_config和dsc1_config
將dsc1_config目錄scp至另一臺機器上

10.分別在兩臺機器上啟動資料庫
dsc0
dmserver /database/dm8/data/dsc0_config/dm.ini dcr_ini=/database/dm8/data/dmdcr.ini

dsc1
dmserver /database/dm8/data/dsc1_config/dm.ini dcr_ini=/database/dm8/data/dmdcr.ini


11.配置監視器 (在除叢集外的機器配置,可以在Windows上部署)


配置dmcssm.ini
CSSM_OGUID = 63635
CSSM_CSS_IP = 192.168.43.127:9541
CSSM_CSS_IP = 192.168.43.128:9542

CSSM_LOG_PATH = D:\dmdbms\data\DAMENG\linuxdscmonitor\log
CSSM_LOG_FILE_SIZE = 32
CSSM_LOG_SPACE_LIMIT =0


啟動監視器
dmcssm.exe INI_PATH=D:\dmdbms\data\DAMENG\linuxdscmonitor\dmcssm.ini

監視器上的啟停操作:

停止叢集
ep stop GRP_DSC

啟動叢集
ep startup GRP_DSC

停止節點
ep halt GRP_DSC.DSC1


啟動節點 --(其實是執行擴充套件節點,因為沒有修改配置,而又停了節點,所以應該會恢復節點)
extend node

https://eco.dameng.com