DCS 介绍

目录服务器 DCS 负责存储和管理整个分布式集群的元数据信息(主要包括集群的拓扑和数据副本的分布信息)。

DCS 是一个独立服务进程。DCS 其本身并不存储数据,必须要指定一个 DCS 后台数据库,用来存储元数据信息。DCS 启动前必须要启动其后台数据库。

4.1 DCS 后台数据库

DCS 的后台数据库是一个 DM 库,在初始化一个 DM 数据库并启动后,必须调用 SP_DFS_DCS_INIT(1)来初始化 DCS 后台库所需要的环境。如果想重用已废弃的 DCS 后台库,需要先执行 SP_DFS_DCS_INIT(0)来删除残留的数据。

注意

SP_DFS_DCS_INIT(0)会清理后台库的DCS环境,执行该命令时要确保该后台库不再使用。

4.2 DCS 的服务配置

DCS 默认的对外服务端口号是 3333,整个 DMTDD 默认的宏区大小为 10G,微区大小为 2M。这些都记录在 DCS 的后台数据库中。

支持对 DCS 的配置进行修改:可以连接 DCS 的后台数据库,使用系统过程 SP_DFS_DCS_SET_PARA_VALUE 修改 DCS 中的配置。

语法如下:

SP_DFS_DCS_SET_PARA_VALUE(para_name, para_val);

参数说明:

para_name:参数名,字符类型,当前可修改的 para 如表 4.1。

para_val:参数值。

表4.1 SP_DFS_DCS_SET_PARA_VALUE可修改的参数
参数名 说明
PORT_NUM DCS 对外服务端口,有效值 1024~65534
MICRO_SIZE DMTDD 环境中微区的大小,在 DMTDD 环境已经存储数据后不能再修改,有效值 1~4,单位 M
GREAT_SIZE DMTDD 环境中宏区的大小,有效值 8~20480,单位 M
PAGE_SIZE DCS 实例所支持的数据页大小,默认值 8K,有效值 8/16/32K
注意

DCS的配置有很严格的限制:
1、必须在DCS停止服务后才能修改;
2、MICRO_SIZE和GREAT_SIZE要在DMTDD中尚未添加容灾域才可以调整, 否则不能修改;
3、PAGE_SIZE要在DMTDD中尚未添加DSS时才可以调整,否则不能进行修改。

4.3 DCS 对后台库的访问控制

DCS 对后台库的访问用户名和口令预期以加密的方式保存在 dcs.key 文件中。当 DCS 启动时,自动加载 dcs.key 读取用户名和口令。

dcs.key 文件通过 DCS 进程创建。创建时,在 DCS 的命令行参数中指定-INIT 参数并指定 USER 和 PASSWORD。如果要将文件生成到指定文件目录时,还可以通过 PATH 参数指定文件路径。示例如下:

./dmdcs –INIT=1 USER=SYSDBA PASSWORD=SYSDBA PATH=/opt/dcs/dcs.key

4.4 DCS 启动命令

./dmdcs HELP

格式: dmdcs.exe KEYWORD=value

启动服务例程: ./dmdcs SERVER=localhost:5236 PATH=dcs.ini

初始化key文件: ./dmdcs -INIT=1 USER=SYSDBA PASSWORD=SYSDBA PATH=dcs.key

关键字说明(默认值)

----------------------------------------------------------------

SERVER 		后台数据库连接串(localhost:5236)

-INIT 		初始化KEY文件,需要指定USER和PASSWORD

USER 		初始化KEY文件时指定DCS后台数据库用户名(SYSDBA)

PASSWORD 	初始化KEY文件时指定DCS后台数据库密码(SYSDBA)

PATH 		启动时指定ini文件路径 初始化KEY文件时指定KEY文件的路径

TRACE 		是否开启TRACE(0),可选值:0/1/L/R/W/F/C/O/M

HELP 		打印帮助信息

4.4.1 启动参数说明

在启动 DCS 时,可以通过 PATH 参数指定 dcs.ini,也可以省略该参数,如果指定了 dcs.ini,则以 dcs.ini 中的为准,否则以后台库中当前记录的为准。

DCS 进程启动时指定的参数如下表所示:

表4.2 dmdcs启动参数
参数 说明
SERVER 后台数据库连接串,格式(服务器 IP:PORT_NUM)
PATH ini 参数文件路径。初始化 KEY 文件时指定 KEY 文件路径
USER 后台数据库登录用户名,默认 SYSDBA
PASSWORD 后台数据库登录密码,默认 SYSDBA
TRACE 关闭或开启不同类型 TRACE,可选值:0/1/L/R/W/F/C/M/O,分别表示:关闭所有类型 TRACE/打开除了内存(M)相关之外的所有类型 TRACE/打开 LOG/打开读/打开写/打开文件/打开配置/打开内存/打开其它相关的 TRACE。缺省为 0。 可以同时设置多项,设置 TRACE 后,系统会对输入的字符串顺序解析。相同类型 TRACE 的打开与否都取决于最近的一次设置。例如,TRACE=10,效果是关闭所有 TRACE。
-INIT 创建 dcs.key 模式,需要指定 USER 和 PASSWORD

示例如下:

./dmdcs server=localhost:56666

./dmdcs server=localhost:56666 path=dcs.ini

4.4.2 INI 文件说明

DCS 支持通过 ini 文件进行配置,dcs.ini 可以配置更多的信息,详见本文档第 11.2 节 DCS.INI

4.5 DCS 的主备守护

为了保障 DCS 及其后台数据库运行的健壮性,特提供了 DCS 的主备守护功能。

DCS 主备守护由如下组成:一个监视器,用于后台库主备模式的切换;2 套由“DCS+ 后台库 + 守护进程”组成的 DCS 主备守护环境分别部署到不同的服务器上。

DCS 后台数据库及其守护进程的配置逻辑同普通的主备配置一样。

每个实例都有自己的守护进程;一个守护进程可以监控多个实例,但对于一个主备组,仅能监控管理该组内的一个实例;在守护进程内添加了连接其管理的 DCS 后台库的 DCS 的信息;守护进程监控后台数据数据库实例及连接该实例的 DCS 的运行情况,根据 DCS 后台数据库的情况对 DCS 的情况进行管理。

守护进程自动对 DCS 进程启停的控制功能如下:

1.后台库实例处于 PRIMARY& OK,检测到 DCS 未启动,则启动 DCS

2.后台库实例处于 STANDBY& OK,检测到 DCS 已启动,则退出 DCS

3.如果后台库实例故障,DCS 存在,则退出 DCS

DCS 主备守护

图4.1 DCS主备守护的系统架构
微信扫码
分享文档
扫一扫
联系客服