一、環境準備
虛擬機準備,添加共享磁盤
(1)共享存儲規劃
裸設備名 | 容量 | 用途 |
/dev/sdb | 10 G | /dev/asmdata0(數據磁盤) |
/dev/sdc | 5 G | /dev/asmdcr(DCR 磁盤) |
/dev/sdd | 5 G | /dev/asmvote(vote 磁盤) |
/dev/sde | 10 G | /dev/asmlog0(redo 日志磁盤) |
/dev/sdf | 10 G | /dev/asmarch0(歸檔日志磁盤) |
(2)cmd命令行創建共享磁盤(如果指定的共享磁盤的存放目錄如果不存在需要提前創建)
在VMware安裝目錄下
.\vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 "P:\VMtools\dsc1\sharedisk\share-data0.vmdk"
.\vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "P:\VMtools\dsc1\sharedisk\share-dcr.vmdk"
.\vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 "P:\VMtools\dsc1\sharedisk\share-vote.vmdk"
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "P:\VMtools\dsc1\sharedisk\share-log0.vmdk"
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "P:\VMtools\dsc1\sharedisk\share-arch0.vmdk"
(3)編輯兩臺虛擬機的vmx文件(需要在關閉虛擬機的情況下進行)
在最后面添加:
#shared disks configure
diskLib.dataCacheMaxSize=0 ???????
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096 ???
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
scsi1.sharedBus = "virtual"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "P:\VMtools\dsc1\sharedisk\share-data0.vmdk"
scsi1:0.redo = ""
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "P:\VMtools\dsc1\sharedisk\share-dcr.vmdk"
scsi1:1.redo = ""
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "P:\VMtools\dsc1\sharedisk\share-vote.vmdk"
scsi1:2.redo = ""
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "P:\VMtools\dsc1\sharedisk\share-log0.vmdk"
scsi1:3.redo = ""
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "P:\VMtools\dsc1\sharedisk\share-arch0.vmdk"
scsi1:4.redo = ""
(4)我們可以查看虛擬機配置,已經新增了5塊磁盤
二、DM數據庫安裝
安裝DM數據庫,每個節點都要安裝,無需初始化實例
三、DSC集群部署
3.1磁盤準備
(1)通過scsi_id 獲取磁盤信息
虛擬機1
虛擬機2
可以看出兩臺虛擬機上的磁盤一一對應
(2)創建磁盤鏈接
在兩臺機器上編寫/etc/udev/rules.d/66-dmdevices.rules 配置信息,創建磁盤鏈接。
vi /etc/udev/rules.d/99-dm-asmdevices.rules?
添加以下內容
## DCR磁盤配置,且在軟鏈接之前創建文件夾 /dev_DSC
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29df91b9169b65f5b9da848c4d3",SYMLINK+="DCR", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name;mkdir -p /dev_DSC; ln -s /dev/DCR /dev_DSC/DCR'"
## VOTE 磁盤配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c291f8f92e715034c312094b9273",SYMLINK+="VOTE", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/VOTE /dev_DSC/VOTE'"
## DMDATA 磁盤配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c96942ee1f19eaa8fb5f5d673",SYMLINK+="DMDATA", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMDATA /dev_DSC/DMDATA'"
## DMLOG 磁盤配置,且在搭建完成之后,將權限直接賦予 dmdba組的dmdba用戶
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c292b3e6bf977b7252f414bb6fdb",SYMLINK+="DMLOG", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMLOG /dev_DSC/DMLOG ; chown -R dmdba:dmdba /dev_DSC '"
之所以要軟鏈接到獨立目錄,是因為 DMDSC 啟動時會掃描目錄下所有磁盤,如果目錄中存在與當前 DMDSC 系統無關的磁盤,則 DMDSC 將啟動失敗。
(3)重啟 systemd-udev-trigger 服務
systemctl restart systemd-udev-trigger
可以看出磁盤權限信息如下:
3.2配置 DCR 初始化配置文件(2個節點)
創建配置文件存放目錄
使用dmdba用戶,新建下面的文件夾,并在該文件夾下新建?dmdcr_cfg.ini 文件
mkdir -p /home/dmdba/config
vi /home/dmdba/config/dmdcr_cfg.ini
添加以下內容:
DCR_N_GRP ????????????= 3
DCR_VTD_PATH ?????????= /dev_DSC/VOTE
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.160.155
?DCR_EP_PORT ?????????= 9836
[GRP_CSS]
?DCR_EP_NAME ?????????= CSS1
?DCR_EP_HOST ?????????= 192.168.160.156
?DCR_EP_PORT ?????????= 9837?
[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 ?????= 512?
?DCR_EP_HOST ?????????= 192.168.160.155
?DCR_EP_PORT ?????????= 5836
?DCR_EP_ASM_LOAD_PATH ?= /dev_DSC
[GRP_ASM]
?DCR_EP_NAME ?????????= ASM1
?DCR_EP_SHM_KEY ??????= 93361
?DCR_EP_SHM_SIZE ?????= 512?
?DCR_EP_HOST ?????????= 192.168.160.156
?DCR_EP_PORT ?????????= 5837
?DCR_EP_ASM_LOAD_PATH ?= /dev_DSC
[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 ????????= DSC01?
?DCR_EP_SEQNO ???????= 0
?DCR_EP_PORT ????????= 5236
[GRP_DSC]
?DCR_EP_NAME ????????= DSC02
?DCR_EP_SEQNO ???????= 1
?DCR_EP_PORT ????????= 5236
另一個節點同上
3.3初始化磁盤組 (1個節點)
在其中一個磁盤,使用dmdba用戶,在bin目錄下執行
./dmasmcmd
進入ASM后執行:
create dcrdisk '/dev_DSC/DCR' 'DCR'
create votedisk '/dev_DSC/VOTE' 'VOTE'
create asmdisk '/dev_DSC/DMDATA' 'DMDATA'
create asmdisk '/dev_DSC/DMLOG' 'DMLOG'
init dcrdisk '/dev_DSC/DCR' from '/home/dmdba/config/dmdcr_cfg.ini' identified by 'DCRpsd_123'
init votedisk '/dev_DSC/VOTE' from '/home/dmdba/config/dmdcr_cfg.ini'
3.4配置ASM的MAL系統配置文件(2個節點)
vi /home/dmdba/config/dmasvrmal.ini
添加以下內容:
[MAL_INST1]
MAL_INST_NAME= ASM0
MAL_HOST= 192.168.160.155?
MAL_PORT= 4836
[MAL_INST2]
MAL_INST_NAME= ASM1
MAL_HOST= 192.168.160.156?
MAL_PORT= 4837
3.5配置 DCR 啟動配置文件(2個節點)
vi /home/dmdba/config/dmdcr.ini
節點一添加以下內容:
DMDCR_PATH = /dev_DSC/DCR
DMDCR_MAL_PATH = /home/dmdba/config/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dm/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdsc/bin/dmserver path=/home/dmdba/config/DSC01_conf/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
節點二添加以下內容:
DMDCR_PATH = /dev_DSC/DCR
DMDCR_MAL_PATH = /home/dmdba/config/dmasvrmal.ini
DMDCR_SEQNO = 1
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /home/dmdba/dm/dmdbms/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdsc/bin/dmserver path=/home/dmdba/config/DSC01_conf/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini
3.6啟動DMCSS、DMASM服務
(1)在 2 個節點bin目錄下分別啟動 dmcss 命令:
./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini
節點一
節點二
(2)在 2 個節點bin目錄下分別啟動 dmasmsvr 命令:
./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini
節點一
節點二
3.7創建 ASM 磁盤組(1個節點)
asm 啟動成功后,節點 1 使用 dmdba 用戶在bin目錄下啟動 dmasmtool 工具
創建一個 DATA 磁盤組和一個 LOG 磁盤組
創建DATA磁盤組
CREATE DISKGROUP DMDATA asmdisk '/dev_DSC/DMDATA'
創建LOG磁盤組
CREATE DISKGROUP DMLOG asmdisk '/dev_DSC/DMLOG'
3.8初始化DSC集群數據庫實例
(1)節點 1 使用 dmdba 用戶執行以下命令:
vi /home/dmdba/config/dminit.ini
添加以下內容:
DB_NAME= dsc2
SYSTEM_PATH= +DMDATA/data
SYSTEM= +DMDATA/data/system.dbf
SYSTEM_SIZE= 128
ROLL= +DMDATA/data/roll.dbf
ROLL_SIZE= 128
MAIN= +DMDATA/data/main.dbf
MAIN_SIZE= 128
CTL_PATH= +DMDATA/data/dm.ctl
LOG_SIZE= 2048
DCR_PATH= /dev_DSC/DCR
DCR_SEQNO= 0
AUTO_OVERWRITE= 2
PAGE_SIZE = 16
EXTENT_SIZE = 16
SYSDBA_PWD=DMdba_123
SYSAUDITOR_PWD=DMauditor_123
[DSC01]
CONFIG_PATH= /home/dmdba/config/DSC01_conf
PORT_NUM = 5236
MAL_HOST= 192.168.160.155
MAL_PORT= 6536
LOG_PATH= +DMLOG/log/DSC01_log1.log
LOG_PATH= +DMLOG/log/DSC01_log2.log
[DSC02]
CONFIG_PATH= /home/dmdba/config/DSC02_conf
PORT_NUM = 5237
MAL_HOST= 192.168.160.156
MAL_PORT= 6537
LOG_PATH= +DMLOG/log/DSC02_log1.log
LOG_PATH= +DMLOG/log/DSC02_log2.log
(2)初始化實例
bin目錄下執行
./dminit control=/home/dmdba/config/dminit.ini
DMINIT 執行完成后,會在 config_path 目錄下生成配置文件 DM.INI 和 DMMAL.INI
(3)將節點2的配置文件,從節點1復制到節點2對應目錄
scp -r /home/dmdba/config/DSC02_conf dmdba@192.168.160.156:/home/dmdba/config/
3.9啟動數據庫服務器
分別在bin目錄下啟動兩個節點的服務器
./dmserver dcr_ini=/home/dmdba/config/dmdcr.ini /home/dmdba/config/DSC01_conf/dm.ini
3.10配置并啟動 DMCSSM 監視器
(1)創建DMCSSM 的日志存放路徑
mkdir /home/dmdba/dm/cssmlog
(2)在任意節點上新建監視器配置文件,執行以下命令:
vi /home/dmdba/config/dmcssm.ini
添加以下內容
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致 ??
CSSM_OGUID = 63635 ??#配置所有 CSS 的連接信息, ??
#和 dmdcr_cfg.ini 中 CSS 配置項的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致 ??
CSSM_CSS_IP = 192.168.160.155:9836???
CSSM_CSS_IP = 192.168.160.155:9837???
CSSM_LOG_PATH = /home/dmdba/dm/cssmlog #監視器日志文件存放路徑 ??
CSSM_LOG_FILE_SIZE = 32 #每個日志文件最大 32 MB ??
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件總占用空間
(3)bin目錄下啟動監視器
./dmcssm /home/dmdba/config/dmcssm.ini