整体流程
1 环境准备1.1第一台机器环境准备1.2 第二台机器环境准备
2 裸设备划分和绑定2.1 裸设备划分2.2 绑定裸设备
3 搭建DSC
1 环境准备
准备两台配置相同的虚拟机,并按下面步骤
新建共享存储硬盘。
1.1第一台机器环境准备
双击硬盘 添加硬盘 开始创建硬盘 创建完成
1.2 第二台机器环境准备
双击硬盘
添加硬盘
此时选择使用现有磁盘。
选择刚才创建的磁盘。
此时第二台机器和第一台机器共享磁盘
在两台虚拟机的 .vmx文件中加入disk.locking = “FALSE“ 参数。
准备完成,启动两台虚拟机
2 裸设备划分和绑定
查看磁盘情况
(在任意一台机器上就可以,两台机器都可以看到)
2.1 裸设备划分
裸设备划分,在任意一台机器上操作就可以
划分磁盘
划分第1块磁盘:依次输入 ①n ②p ③1 ④回车 ⑤+100M
划分第2块磁盘:依次输入 ①n ②p ③2 ④回车 ⑤+100M
划分第3块磁盘:依次输入 ①n ②p ③3 ④回车 ⑤+4096M
划分第4块磁盘:依次输入 ①n ②p (后面都默认,直接回车就行)
输入w,保存更改信息
2.2 绑定裸设备
编辑 /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
="root", GROUP
="root", MODE
="660"
执行partprobe /dev/sdb,通知系统分区表的变化
(两台节点都要操作) 执行start_udev,完成裸设备绑定 可以查看一下裸设备大小
3 搭建DSC
首先在两个节点分别安装DM8
在第一个节点准备dmdcr_cfg.ini配置文件,注意IP地址需要换成自己的两个节点的IP (保存到/home/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.133.138
DCR_EP_PORT
= 9341
[GRP_CSS
]
DCR_EP_NAME
= CSS1
DCR_EP_HOST
= 192.168.133.139
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
= 10
DCR_EP_HOST
= 192.168.133.138
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
= 10
DCR_EP_HOST
= 192.168.133.139
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
= 5236
DCR_CHECK_PORT
= 9742
运行DMASMCDM,并使用进行初始化
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'
准备dmasvrmal.ini文件
(两个节点都要配置,内容完全一样,保存到/home/data目录下)
[MAL_INST1
]
MAL_INST_NAME
= ASM0
MAL_HOST
= 192.168.133.138
MAL_PORT
= 7236
[MAL_INST2
]
MAL_INST_NAME
= ASM1
MAL_HOST
= 192.168.133.139
MAL_PORT
= 7237
准备dmdcr.ini文件
(两个节点都要配置,dmdcr.ini,dmdcr_path相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqno 分别为 0 和 1,保存到/home/data目录下)注意DM数据库路径换成自己的。
DMDCR_PATH
= /dev
/raw
/raw1
DMDCR_MAL_PATH
=/home
/data
/dmasvrmal
.ini #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO
= 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL
= 0
DMDCR_ASM_STARTUP_CMD
= /dm
/dmdbms
/bin
/dmasmsvr dcr_ini
=/home
/data
/dmdcr
.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL
= 0
DMDCR_DB_STARTUP_CMD
= /dm
/dmdbms
/bin
/dmserver path
=/home
/data
/dsc0_config
/dm
.ini dcr_ini
=/home
/data
/dmdcr
.ini
两个节点分别启动dmcss 两个节点分别启动dmasmsvr 使用dmasmtool工具创建DMASM磁盘组 (选任意节点操作即可) 准备dminit.ini文件 (选任意节点操作即可,保存到/home/data目录下)
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 磁盘路径,目前不支持
asm,只能是裸设备
dcr_seqno
= 0
auto_overwrite
= 1
[DSC0
] #inst_name 跟 dmdcr_cfg
.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path
= /home
/data
/dsc0_config
port_num
= 5236
mal_host
= 192.168.133.138
mal_port
= 9340
log_path
= +DMLOG
/log
/dsc0_log01
.log
log_path
= +DMLOG
/log
/dsc0_log02
.log
[DSC1
] #inst_name 跟 dmdcr_cfg
.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path
= /home
/data
/dsc1_config
port_num
= 5237
mal_host
= 192.168.133.139
mal_port
= 9341
log_path
= +DMLOG
/log
/dsc1_log01
.log
log_path
= +DMLOG
/log
/dsc1_log02
.log
授权,并初始化库 将/home/data/dsc1_config目录拷到另一台节点相同目录下 两节点分别启动dmserver服务 可以查看一下两个节点的状态