命令行搭建 DMTDD

使用命令行的方式对DMTDD的搭建分为两步:第一步搭建分布式文件系统,包括DCS、DSS、DRS和DRAS等。第二步搭建计算层(以DMDSC集群为例)。

本章以详细的步骤,介绍DMTDD的搭建过程和一些注意事项。本章的例子中,DCS和DRS均为主备模式、数据副本数为3,DMDSC为两节点,且分别属于两个日志组。

12.1 环境准备

下列机器事先都安装了DM,安装路径为’/dm’,执行程序保存在’/dm/bin’目录中,

数据及配置文件存放路径为’/dm/data’。

表12.1 配置环境说明
实例名 IP地址 备注
CSS0/CSS1 DSC0/DSC1 192.168.0.141 CSS和DMDSC数据库服务器
DCS1 192.168.0.142 目录服务器,默认主目录服务器
DCS1_DB 192.168.0.142 主目录服务器的后台库
DCS2 192.168.0.143 目录服务器,默认备目录服务器
DCS2_DB 192.168.0.143 备目录服务器的后台库
DRS1_P/DRS2_P 192.168.0.144 日志服务器,默认主日志服务器
DRS1_S/DRS2_S 192.168.0.145 日志服务器,默认备日志服务器
DRAS1/DRAS2 192.168.0.146 日志归档服务器
SS1 192.168.0.147 存储服务器
SS2 192.168.0.148 存储服务器
SS3 192.168.0.149 存储服务器

使用过程中,需要注意以下几点:

1.DCS与其关联的后台库必须在同一台机器上,主备DCS必须在不同的机器上。

2.只需要保证主备DCS的端口一致,其他服务端口之间没有任何必然的联系。

12.2 搭建分布式文件系统

12.2.1 DCS初始化以及启动

1.搭建主备DCS的后台库。搭建方法和常规主备环境搭建方法一致。参考《DM8数据守护与读写分离集群V4.0.doc》在192.168.0.142机器和192.168.0.143机器搭建实时主备,配置方式如下表:

表12.2 配置说明
DCS后台库实例名 IP地址 备注
DCS1_DB 192.168.0.142 默认为主库 PORT:5336
DCS2_DB 192.168.0.143 默认为备库 PORT:5336

2.启动disql连接主DCS后台库并初始化DCS环境

./disql SYSDBA/SYSDBA@192.168.0.142:5336

SP_DFS_DCS_INIT(0);--清理残留的配置信息,如果本来就不存在配置,可以省略

SP_DFS_DCS_INIT(1);--初始化DCS环境

此时DCS默认端口为3333,本例中就使用默认的端口号3333。如果需要修改DCS的端口号等信息。

3.退出主备DCS后台库的守护进程,修改dmwatcher.ini,添加DCS相关配置项

DCS_STARTUP_CMD = /dm/bin/dmdcs 	##dmdcs进程的绝对路径

DCS_INI = server=localhost:5336 path=/dm/data/dcs.ini
##dmdcs启动参数,这里的server是指DCS后台库

DCS_PORT = 7778 					##此处需要与dcs.ini中的DW_PORT_NUM保持一致

4.配置dcs.ini

在192.168.0.142机器的/dm/data目录配置dcs.ini

INSTANCE_NAME = DCS1 			##DCS实例名

DW_PORT_NUM = 7778 				##此处需要与dmwatcher.ini中的DCS_PORT保持一致

在192.168.0.143机器的/dm/data目录配置dcs.ini

INSTANCE_NAME = DCS2 			##DCS实例名

DW_PORT_NUM = 7778 				##此处需要与dmwatcher.ini中的DCS_PORT保持一致

5.分别创建主备DCS的dcs.key,USER/PASSWORD用于登录DCS后台库

./dmdcs -init=1 USER=SYSDBA PASSWORD=SYSDBA PATH=dcs.key

6.启动主备DCS后台库各自的守护进程,守护进程会自动拉起主DCS

12.2.2 DSS初始化及启动

在192.168.0.147机器上初始化SS1并启动:

cd /dm/bin

./dmdssinit path=/dm/data inst=SS1 port=35300 REGION_SIZE=2 DBF_SIZE=10240 RLOG_SIZE=128

./dmdss path=/dm/data/SS1/dss.ini

在192.168.0.148机器上初始化SS2并启动:

cd /dm/bin

./dmdssinit path=/dm/data inst=SS2 port=35400 REGION_SIZE=2 DBF_SIZE=10240 RLOG_SIZE=128

./dmdss path=/dm/data/SS2/dss.ini

在192.168.0.149机器上初始化SS3并启动:

cd /dm/bin

./dmdssinit path=/dm/data inst=SS3 port=35500 REGION_SIZE=2 DBF_SIZE=10240 RLOG_SIZE=128

./dmdss path=/dm/data/SS3/dss.ini

使用过程中,需要注意以下几点:

1.REGION_SIZE要与DCS后台库中表DFS_DCS_INFO的字段MICRO_SIZE或GREAT_SIZE保持一致,根据REGION_SIZE可以把该DSS归类为宏区DSS或者微区DSS

2.PAGE_SIZE要与表DFS_DCS_INFO的字段PAGE_SIZE保持一致,后面初始化数据库服务器DS时,其页大小也要与该值保持一致

3.DBF_SIZE是该DSS中第一个数据文件的大小,若指定了非整数倍的REGION_SIZE,会向上对齐到整数倍REGION_SIZE;若指定为0,则会强制设置为REGION_SIZE

12.2.3 添加FD和在FD中添加DSS

1.配置dmdfs1.ini保存在目录dm/data

因为添加域FD和在FD中添加数据服务器DSS的操作,必须由DMDCSTOOL连接到DCS上进行完成。因此,此处先配置包含主备DCS信息的DMDFS.INI,方便DMDCSTOOL连接使用。此处的DMDFS.INI文件命名为dmdfs1.ini。

##配置主备dcs的IP和port,当dcs1出现故障无法连接时,dcstool会尝试连接dcs2执行命令

[dcs1]

DFS_HOST= 192.168.0.142 		##Host of DCS server

DFS_PORT = 3333 				##Port number of DCS server

[dcs2]

DFS_HOST = 192.168.0.143 		##Host of DCS server

DFS_PORT = 3333 				##Port number of DCS server

2.启动dmdcstool

DMDCSTOOL连接到DCS上进行操作。DCS的连接信息保存在DMDFS1.INI中。

./dmdcstool dfs_ini=/dm/data/dmdfs1.ini

dmdcstool里执行:

add micro fault domain fd1

add micro fault domain fd2

add micro fault domain fd3

add micro storage server SS1 ('192.168.0.147' : 35300) in fd1

add micro storage server SS2 ('192.168.0.148' : 35400) in fd2

add micro storage server SS3 ('192.168.0.149' : 35500) in fd3

alter storage server refresh size

alter storage server open

工具使用时,需要注意以下几点:

1.dmdcstool必须连接的是DCS,而不是DRS

2.FD的区块策略一旦指定后就无法修改

3.FD中只能添加与该FD相同区块策略的DSS

4.一个FD最多支持添加100个DSS

5.DSS必须正常启动才能添加成功

6.数据库服务器DS会获取DSS的地址与其通信执行读操作,所以添加DSS时的IP地址应避免使用'localhost'或'127.0.0.1'

7.添加DSS后,必须手动执行命令刷新DSS的大小以及设置DSS状态为OPEN才能正常使用

12.2.4 添加Group和在GROUP中添加DRS和DRAS

本章以dmdcstool里添加两个日志组,DRS为“一主一备一DRAS”模式为例进行说明。

DMDCSTOOL连接到DCS上进行操作,12.2.3已经成功连接上。

add group grp1

add rlog server DRS1_P ('192.168.0.144' : 3330) group grp1 primary

add rlog server DRS1_S ('192.168.0.145' : 3330) group grp1 standby

add rlog archivement server DRAS1 ('192.168.0.146' : 3330) group grp1

add group grp2

add rlog server DRS2_P ('192.168.0.144' : 3331) group grp2 primary

add rlog server DRS2_S ('192.168.0.145' : 3331) group grp2 standby

add rlog archivement server DRAS2 ('192.168.0.146' : 3331) group grp2

使用过程中,需要注意以下几点:

1.主DRS会与备DRS/DRAS通信来发送归档,因此添加DRS/DRAS时应避免使用'localhost'和'127.0.0.1'作为IP地址。主DRS会与备DRS/DRAS的操作系统环境必须一致,即主备必须使用完全相同的归档路径

2.日志组及其日志服务器、日志归档服务器可按需添加,如DMDSC节点部署在同一个日志组时,可以只添加一个日志组

12.2.5 启动DRS和DRAS

1.在机器192.168.0.146配置dras1.ini和dras2.ini,保存到/dm/data目录下

dras1.ini:

INSTANCE_NAME = DRAS1 					##实例名,默认DRAS

DCS_IP = 192.168.0.142 					##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 				##依赖的DCS的IP

DCS_PORT = 3333 						##依赖的DCS的端口

MEMORY_POOL = 100 						##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 					##任务线程数

dras2.ini:

INSTANCE_NAME = DRAS2 					##实例名,默认DRAS

DCS_IP = 192.168.0.142 					##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 				##依赖的DCS的IP

DCS_PORT = 3333 						##依赖的DCS的端口

MEMORY_POOL = 100 						##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 					##任务线程数

启动DRAS:

./dmdras path=/dm/data/dras1.ini

./dmdras path=/dm/data/dras2.ini

2.在机器192.168.0.144配置drs1_p.ini和drs2_p.ini保存到/dm/data目录下

drs1_p.ini:

INSTANCE_NAME = DRS1_P 					##实例名,默认RS

DCS_IP = 192.168.0.142 					##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 				##依赖的另一个DCS的IP

DCS_PORT = 3333 						##依赖的DCS的端口

MEMORY_POOL = 100 						##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 					##任务线程数

LOCAL_ARCH_PATH = /dm/data/larch1 		##本地归档目录

drs2_p.ini:

INSTANCE_NAME = DRS2_P 					##实例名,默认RS

DCS_IP = 192.168.0.142 					##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 				##依赖的另一个DCS的IP

DCS_PORT = 3333 						##依赖的DCS的端口

MEMORY_POOL = 100 						##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 					##任务线程数

LOCAL_ARCH_PATH = /dm/data/larch2 		##本地归档目录

启动DRS:

./dmdrs path=/dm/data/drs1_p.ini

./dmdrs path=/dm/data/drs2_p.ini

3.在机器192.168.0.145配置drs1_s.ini和drs2_s.ini,保存到/dm/data目录下

drs1_s.ini:

INSTANCE_NAME = DRS1_S 					##实例名,默认DRS

DCS_IP = 192.168.0.142 					##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 				##依赖的另一个DCS的IP

DCS_PORT = 3333 						##依赖的DCS的端口

MEMORY_POOL = 100 						##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 					##任务线程数

LOCAL_ARCH_PATH = /dm/data/larch1 		##本地归档目录

drs2_s.ini:

INSTANCE_NAME = DRS2_S 					##实例名,默认DRS

DCS_IP = 192.168.0.142 					##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 				##依赖的另一个DCS的IP

DCS_PORT = 3333 						##依赖的DCS的端口

MEMORY_POOL = 100 						##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 					##任务线程数

LOCAL_ARCH_PATH = /dm/data/larch2 		##本地归档目录

启动DRS:

./dmdrs path=/dm/data/drs1_s.ini

./dmdrs path=/dm/data/drs2_s.ini

使用过程中,需要注意以下几点:

1.推荐先启动DRAS。当主DRS非正常退出时,再次启动时会连接DRAS,如果DRAS无法连接会导致主DRS启动失败

2.DCS_IP和DCS_IP2的值可以交换

12.3 搭建计算层

本节中将DMTDD计算层部署为DMDSC集群。在192.168.0.141上将计算层搭建为两节点的DMDSC集群,且两节点DMDSC分别属于日志组grp1和grp2。

12.3.1 准备dmdcr_cfg.ini配置文件

保存到/dm/data/dsc/目录下面。后续dmasmcmd工具执行init语句会使用到。

DCR_N_GRP = 2

DCR_VTD_PATH = $/asmdisks/vtd.asm

DCR_OGUID = 19626

[GRP]

DCR_GRP_TYPE = CSS

DCR_GRP_NAME = GRP_CSS

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 10

[GRP_CSS]

DCR_EP_NAME = CSS0

DCR_EP_HOST = 192.168.0.141

DCR_EP_PORT = 35641

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.0.141

DCR_EP_PORT = 35642

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = GRP_DSC

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 10

[GRP_DSC]

DCR_EP_NAME = DSC0

DCR_EP_PORT = 35610

DCR_CHECK_PORT = 35657

[GRP_DSC]

DCR_EP_NAME = DSC1

DCR_EP_PORT = 35611

DCR_CHECK_PORT = 35658

12.3.2 准备dmdfs.ini配置文件

保存到/dm/data/dsc/目录下面。后面DMASMCMD工具会用到。DMTDD中DMASMCMD工具初始化工作需要连接到DRS完成,需要将本地文件系统中的库共享文件dcr/vtd存入DRS。因此,此处先配置包含主备DRS主备信息的DMDFS.INI。此处的名称必须为DMDFS.INI。

##配置主备DRS的IP和port,当drs1_p出现故障无法连接时,dmasmcmd会尝试连接drs1_s执行命令

[drs1_p]

DFS_HOST = 192.168.0.144 			##Host of drsserver

DFS_PORT = 3330 					##Port number of drs server

[drs1_s]

DFS_HOST = 192.168.0.145 			##Host of drs server

DFS_PORT = 3330 					##Port number of drs server

12.3.3 使用dmasmcmd工具初始化

登录dmasmcmd,需要加上启动参数dfs_ini,参数值是dmdfs.ini文件路径。

./dmasmcmd dfs_ini=/dm/data/dsc/dmdfs.ini

登录dmasmcmd后执行:

##DMTDD中的emptyfile、dcrdisk和votedisk均限制为32M,不支持SIZE取其他值

create emptyfile '/dm/data/dsc/asmdisks/dcr.asm' size 32

create emptyfile '/dm/data/dsc/asmdisks/vtd.asm' size 32

create dcrdisk '/dm/data/dsc/asmdisks/dcr.asm' 'dcr' 32

create votedisk '/dm/data/dsc/asmdisks/vtd.asm' 'vtd' 32

init dcrdisk '/dm/data/dsc/asmdisks/dcr.asm' from '/dm/data/dsc/dmdcr_cfg.ini'
identified by 'hust4400'

init votedisk '/dm/data/dsc/asmdisks/vtd.asm' from '/dm/data/dsc/dmdcr_cfg.ini'

##将本地文件系统中的库共享文件dcr/vtd存入RS

init ddfsdcr '$/asmdisks/dcr.asm' from '/dm/data/dsc/asmdisks/dcr.asm'

init ddfsvtd '$/asmdisks/vtd.asm' from '/dm/data/dsc/asmdisks/vtd.asm'

12.3.4 准备dminit.ini配置文件

保存到/dm/data/dsc/目录下面。

db_name = dsc

system_path = /dm/data/dsc

system = $/dsc/system.dbf

system_size = 128

roll = $/dsc/roll.dbf

roll_size = 128

main = $/dsc/main.dbf

main_size = 128

ctl_path = $/dsc/dm.ctl

ctl_size = 8

log_size = 256

dcr_path = $/asmdisks/dcr.asm

dcr_seqno = 0

auto_overwrite = 1

page_size = 8

extent_size = 32

dfs_db_name = db_dsc

share_flag = 1

dfs_flag = 1

dfs_path = $/dsc 				##数据文件存放在分布式系统里的路径

dfs_host = 192.168.0.144 		##主DRS的IP地址

dfs_port = 3330 				##与drs.ini的port_num一致

dfs_copy_num = 3 				##DMTDD数据文件副本数

[dsc0]

config_path = /dm/data/dsc/dsc0

port_num = 35610

mal_host = 192.168.0.141

mal_port = 35680

[dsc1]

config_path = /dm/data/dsc/dsc1

port_num = 35611

mal_host = 192.168.0.141

mal_port = 35681
注意

dfs_path不要设置为上面出现过的所有分布式系统里的路径的父目录,否则当auto_overwrite!=0时,会把dfs_path中的文件误删除。

12.3.5 初始化DS库

./dminit control=/dm/data/dsc/dminit.ini

12.3.6 修改dmdfs.ini

成功初始化DS库后,在/dm/data/dsc/dsc0和/dm/data/dsc/dsc1路径下会自动生成dmdfs.ini,其中配置的日志服务器的连接信息就是dminit.ini中指定的主DRS的信息。这里需要手动修改/dm/data/dsc/dsc0/dmdfs.ini和/dm/data/dsc/dsc1/dmdfs.ini,将主DRS的连接信息调整为DS所在日志组的主备DRS的信息。

/dm/data/dsc/dsc0/dmdfs.ini:

DFS_COPY_NUM = 3 				##Copy number of DFS file

DFS_HB_INTERVAL = 60 			##DFS heart beat interval

DFS_SWITCH_TIMES = 5 			##DFS switch times

DFS_SWITCH_INTERVAL = 2000 		##DFS switch interval

[drs1_p]

DFS_HOST = 192.168.0.144 		##Host of drsserver

DFS_PORT = 3330 				##Port number of drs server

[drs1_s]

DFS_HOST = 192.168.0.145 		##Host of drs server

DFS_PORT = 3330 				##Port number of drs server

/dm/data/dsc/dsc1/dmdfs.ini:

DFS_COPY_NUM = 3 				##Copy number of DFS file

DFS_HB_INTERVAL = 60 			##DFS heart beat interval

DFS_SWITCH_TIMES = 5 			##DFS switch times

DFS_SWITCH_INTERVAL = 2000 		##DFS switch interval

[drs2_p]

DFS_HOST = 192.168.0.144 		##Host of drsserver

DFS_PORT = 3331 				##Port number of drs server

[drs2_s]

DFS_HOST = 192.168.0.145 		##Host of drs server

DFS_PORT = 3331 				##Port number of drs server

12.3.7向DMTDD添加数据库服务器

启动dmdcstool,连接DCS:

./dmdcstooldfs_ini=/dm/data/dmdfs1.ini

执行:

add data server dsc0 group grp1 database db_dsc arch_dir '/dm/data/dsc/arch_dsc0'

add data server dsc1 group grp2 database db_dsc arch_dir '/dm/data/dsc/arch_dsc1'

使用过程中,需要注意以下几点:

1.添加数据库服务器DS,DMDCSTOOL必须连接的是DCS,而不是DRS

2.add data server中的数据库服务器DS名是服务器的实例名,与dminit.ini中的实例名相同

3.database后面是库名,即在dminit.ini中的dfs_db_name的值

4.归档路径是主备DRS和DRAS所在机器的有效路径

12.3.8 准备dmdcr.ini配置文件

在/dm/data/dsc/下分别为DSC0和DSC1生成dmdcr.ini文件。

dmdcr0.ini:

DMDCR_PATH = $/asmdisks/dcr.asm

DMDCR_SEQNO = 0

dmdcr1.ini:

DMDCR_PATH = $/asmdisks/dcr.asm

DMDCR_SEQNO = 1

12.3.9 启动CSS

在分布式环境中可以只启动一个CSS,但是为了系统环境更加稳定可靠,建议启动所有的CSS。

在DM 透明分布式数据库中,因为dcr/vtd都是存放在DRS上,因此使用DMCSS.exe时,除了DCR_INI参数之外,还要选上DFS_INI参数。DFS_INI用于指定保存了DRS连接信息的dmdfs.ini。

启动CSS0。

./dmcss dcr_ini=/dm/data/dsc/dmdcr0.ini dfs_ini=/dm/data/dsc/dsc0/dmdfs.ini

启动CSS1。

./dmcss dcr_ini=/dm/data/dsc/dmdcr1.ini dfs_ini=/dm/data/dsc/dsc1/dmdfs.ini

12.3.10 启动DMDSC节点

启动DSC0。

./dmserver /dm/data/dsc/dsc0/dm.ini dcr_ini=/dm/data/dsc/dmdcr0.ini

启动DSC1。

./dmserver /dm/data/dsc/dsc1/dm.ini dcr_ini=/dm/data/dsc/dmdcr1.ini

两个命令都执行完毕,DMDSC节点才能启动成功。

12.4 动态扩展DS节点

基于上述成功搭建的“DFS+DMDSC”系统,一个DS节点对应DMDSC中的一个实例。下面介绍如何动态扩展一个DMDSC节点到新的日志组。

已搭建好的DMDSC实例名为DSC0、DSC1,在此基础上扩展一个节点DSC2。

12.4.1 环境说明

新增节点环境为:执行程序位于目录:/dm/bin。数据及配置文件位于目录:/dm/data。详细的配置环境请参考下表:

表12.4 配置环境说明
实例名 IP地址 备注
DSC3 192.168.0.141 扩展的DMDSC数据库服务器
DRS3_P 192.168.0.144 新增日志服务器,默认主日志服务器
DRS3_S 192.168.0.145 新增日志服务器,默认备日志服务器
DRAS3 192.168.0.146 新增日志归档服务器

12.4.2 添加新Group和DRS

使用dmdcstool添加新日志组及其DRS。其中,DRS采用“一主一备一DRAS”模式。具体操作如下:

add group grp3

add rlog server DRS3_P ('192.168.0.144' : 3332) group grp3 primary

add rlog server DRS3_S ('192.168.0.145' : 3332) group grp3 standby

add rlog archivement server DRAS3 ('192.168.0.146' : 3332) group grp3

12.4.3 启动新DRS和DRAS

1.在机器192.168.0.146配置dras3.ini保存到/dm/data目录下

dras1.ini:

INSTANCE_NAME = DRAS3 				##实例名,默认DRAS

DCS_IP = 192.168.0.142 				##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 			##依赖的DCS的IP

DCS_PORT = 3333 					##依赖的DCS的端口

MEMORY_POOL = 100 					##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 				##任务线程数

启动DRAS:

./dmdras path=/dm/data/dras3.ini

2.在机器192.168.0.144配置drs3_p.ini保存到/dm/data目录下

drs3_p.ini:

INSTANCE_NAME = DRS3_P 				##实例名,默认DRS

DCS_IP = 192.168.0.142 				##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 			##依赖的另一个DCS的IP

DCS_PORT = 3333 					##依赖的DCS的端口

MEMORY_POOL = 100 					##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 			   	##任务线程数

LOCAL_ARCH_PATH = /dm/data/larch3  	##本地归档目录

启动DRS:

./dmdrs path=/dm/data/drs3_p.ini

3.在机器192.168.0.145配置drs3_s.ini保存到/dm/data目录下

drs3_s.ini:

INSTANCE_NAME = DRS3_S 				##实例名,默认DRS

DCS_IP = 192.168.0.142				##依赖的DCS的IP

DCS_IP2 = 192.168.0.143 			##依赖的另一个DCS的IP

DCS_PORT = 3333 					##依赖的DCS的端口

MEMORY_POOL = 100 					##使用的内存池大小,单位M

TASK_THREAD_NUM = 10 				##任务线程数

LOCAL_ARCH_PATH = /dm/data/larch1 	##本地归档目录

启动DRS:

./dmdrs path=/dm/data/drs3_s.ini

12.4.4 为新增节点准备配置文件

  1. 复制dsc1整个文件夹,重命名为dsc2
  2. 修改dsc2/dm.ini中的config_path、instance_name和port_num字段
CONFIG_PATH = /dm/data/dsc/dsc2 	##config path

INSTANCE_NAME = DSC2 				##Instance name

PORT_NUM = 35612 					##Port number on which the database server will listen
  1. 修改文件dsc2/dmmal.ini,新增一个mal节点
[mal_inst2]

mal_inst_name = DSC2

mal_host = 192.168.0.141

mal_port = 35682
  1. 将dsc2/dmmal.ini覆盖原来两个节点的dsc0/dmmal.ini,dsc1/dmmal.ini

完整的dmmal.ini如下:

[mal_inst0]

mal_inst_name = DSC0

mal_host = 192.168.0.141

mal_port = 35680

[mal_inst1]

mal_inst_name = DSC1

mal_host = 192.168.0.141

mal_port = 35681

[mal_inst2]

mal_inst_name = DSC2

mal_host = 192.168.0.141

mal_port = 35682
  1. 如果打开了归档参数,则修改dmarch.ini
  2. 新增配置文件dmdcr2.ini。保存在/dm/data/dsc目录下
DMDCR_PATH = $/asmdisks/dcr.asm

DMDCR_SEQNO = 2
  1. 修改dmdfs.ini,将主备DRS的连接信息改为新增日志组的DRS信息
/dm/data/dsc/dsc2/dmdfs.ini:

DFS_COPY_NUM = 3 			##Copy number of DFS file

DFS_HB_INTERVAL = 60 		##DFS heart beat interval

DFS_SWITCH_TIMES = 5 		##DFS switch times

DFS_SWITCH_INTERVAL = 2000 	##DFS switch interval

[drs3_p]

DFS_HOST = 192.168.0.144 	##Host of drsserver

DFS_PORT = 3332 			##Port number of drs server

[drs3_s]

DFS_HOST = 192.168.0.145 	##Host of drs server

DFS_PORT = 3332 			##Port number of drs server

12.4.5 准备dmdcr_cfg3.ini配置文件

复制dmdcr_cfg.ini,重命名为dmdcr_cfg3.ini,保存在/dm/data/dsc目录下。

修改CSS组和DB组的参数DCR_GRP_N_EP=3,增加参数DCR_GRP_EP_ARR、DCR_GRP_N_ERR_EP、DCR_GRP_ERR_EP_ARR。

各个GRP新增一个节点,修改DCR_EP_NAME 时注意port不要冲突。

完整的dmdcr_cfg3.ini如下:

DCR_N_GRP = 2

DCR_VTD_PATH = $/asmdisks/vtd.asm

DCR_OGUID = 19626

[GRP]

DCR_GRP_TYPE = CSS

DCR_GRP_NAME = GRP_CSS

DCR_GRP_N_EP = 3 			##(修改2为3)节点个数

DCR_GRP_EP_ARR = {0,1,2} 	##(新增参数)节点编号

DCR_GRP_N_ERR_EP = 1 		##(新增参数)动态添加节点的个数

DCR_GRP_ERR_EP_ARR = {2} 	##(新增参数)动态增加节点的节点号

DCR_GRP_DSKCHK_CNT = 10

[GRP_CSS]

DCR_EP_NAME = CSS0

DCR_EP_HOST = 192.168.0.141

DCR_EP_PORT = 35641

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.0.141

DCR_EP_PORT = 35642

##新增CSS2

[GRP_CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 192.168.0.141

DCR_EP_PORT = 35643

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = GRP_DSC

DCR_GRP_N_EP = 3 			##(修改2为3)节点个数

DCR_GRP_EP_ARR = {0,1,2} 	##(新增参数)节点编号

DCR_GRP_N_ERR_EP = 1 		##(新增参数)动态添加节点的个数

DCR_GRP_ERR_EP_ARR = {2} 	##(新增参数)动态增加节点的节点号

DCR_GRP_DSKCHK_CNT = 10

[GRP_DSC]

DCR_EP_NAME = DSC0

DCR_EP_PORT = 35610

DCR_CHECK_PORT = 35657

[GRP_DSC]

DCR_EP_NAME = DSC1

DCR_EP_PORT = 35611

DCR_CHECK_PORT = 35658

##新增DSC2

[GRP_DSC]

DCR_EP_NAME = DSC2

DCR_EP_PORT = 35612

DCR_CHECK_PORT = 35659

12.4.6 使用dmasmcmd工具初始化

登录dmasmcmd,需要加上启动参数dfs_ini,参数值是dmdfs.ini文件路径。

./dmasmcmd dfs_ini=/dm/data/dsc/dmdfs.ini

登录dmasmcmd后执行以下语句:

##执行该条语句会打印Do you want to continue?: (y/n)

##输入y即可

create dcrdisk '/dm/data/dsc/asmdisks/dcr.asm' 'dcr' 32    ##DMTDD中的emptyfile、dcrdisk和votedisk均限制为32M,不支持SIZE取其他值

init dcrdisk '/dm/data/dsc/asmdisks/dcr.asm' from '/dm/data/dsc/dmdcr_cfg3.ini' identified by 'hust4400'

init ddfsdcr '$/asmdisks/dcr.asm' from '/dm/data/dsc/asmdisks/dcr.asm'

extend dcrdisk '$/asmdisks/dcr.asm' from '/dm/data/dsc/dmdcr_cfg3.ini'

12.4.7 添加DMDSC节点

登录任何一个DMDSC节点执行添加节点命令。

./disql SYSDBA/SYSDBA@192.168.0.141:35610

登录后执行:

ALTER DATABASE ADD NODE;

12.4.8 扩展DMDSC节点

CSS控制台执行扩节点命令。

EXTEND NODE

控制台打印css extend node cmd exec finished.表示命令执行成功。

12.4.9 向DMTDD添加数据库服务器

启动dmdcstool,连接DCS:

./dmdcstool dfs_ini=/dm/data/dmdfs1.ini

执行:

add data server dsc2 group grp3 database db_dsc arch_dir '/dm/data/dsc/arch_dsc2'

12.4.10 启动CSS

启动新的CSS2。

./dmcss dcr_ini=/dm/data/dsc/dmdcr2.ini dfs_ini=/dm/data/dsc/dsc2/dmdfs.ini

12.4.11 启动DMDSC节点

启动新的DMDSC节点。

./dmserver /dm/data/dsc/dsc2/dm.ini dcr_ini=/dm/data/dsc/dmdcr2.ini

在主css控制台执行show命令,看到新加入的CSS2/DSC2的sys_status为OPEN,vtd_status为WORKING,is_ok为OK,表示新节点CSS2/DSC2已经成功加入DMDSC。

微信扫码
分享文档
扫一扫
联系客服