DSS 介绍

存储服务器DSS提供数据的存储服务,并按照DRS转发的redo日志更新数据。DSS管理一个或多个存储文件,其系统内部有类似DMSERVER的文件系统、内存池、数据缓存及任务系统。这在其文件结构及配置参数上都有所体现。

存储服务器DSS及其初始化工具DMDSSINIT都是一个独立的进程。

5.1 DSS初始化命令

./dmdssinit HELP

DMDSSINIT V8

格式: ./dmdssinit KEYWORD=value

例程: ./dmdssinit PATH=/dss INST=ss1 PORT=6661

关键字说明(默认值)

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

PATH 			初始DSS库存放的路径(.)

INST 			DSS实例名称(DSS)

LISTEN_IP 		DSS实例IP地址(默认不指定)

PORT 			DSS实例端口(4444)

REGION_SIZE 	DSS区块大小(2M),有效值1~20480

RLOG_SIZE 		DSS日志文件大小(256M),有效值128~10240

DBF_SIZE 		DSS默认数据文件大小(1024M),有效值64~4294967294

PAGE_SIZE 		DSS默认数据文件页大小(8K),有效选项8/16/32

PAGE_CHECK 		DSS数据页校验(1),有效选项0/1

HELP 			打印帮助信息

5.1.1 初始化工具参数说明

DMDSSINIT工具通过指令指定初始化参数,当前可配置的参数如下:

表5.1 dmdssinit工具配置参数
参数 说明 初值
PATH DSS存放的路径 DSS
INST DSS的实例名 DSS
LISTEN_IP DSS实例IP地址 默认不指定
PORT DSS对外提供服务的端口 4444
REGION_SIZE DSS内所有物理区块的分区大小 2(单位M)
RLOG_SIZE DSS日志文件大小 256(单位M)
DBF_SIZE DSS默认数据文件大小 1024(单位M)
PAGE_SIZE DSS的数据页大小,有效值8/16/32 8(单位K)
PAGE_CHECK DSS数据页读取时是否进行损坏校验,有效值0/1 1

示例如下:

./dmdssinit path=/opt/dss inst=SS4 port=5439 REGION_SIZE=2 DBF_SIZE=10240 RLOG_SIZE=128

5.1.2 DSS文件说明

初始化成功后,会生成如下文件:

表5.2 dmdssinit生成的dss文件
文件名 说明
dss.ctl 控制文件
DSS.dbf 默认的存储文件
dss.ini ini文件,将作为DSS启动参数
dss01.log 日志文件1
dss02.log 日志文件2

5.2 DSS启动命令

./dmdss HELP

格式: ./dmdss KEYWORD=value

例程: ./dmdss PATH=/opt/dss/dss.ini

关键字说明(默认值)

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

PATH 		dss.ini文件路径

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

HELP 		打印帮助信息

5.2.1 启动参数说明

启动DSS进程时需要在参数中指定ini文件,当前有如下参数:

表5.3 dmdss启动参数
参数 说明
PATH ini文件的路径
TRACE 是否开启TRACE(0),可选值:0/1/L/R/W/F/C/O/M

示例如下:

./dmdss path=/opt/dss/SS4/dss.ini

5.2.2 INI文件说明

DSS当前提供的ini参数见DSS.INI

5.3 DSS的文件系统

DSS仿造DMSERVER文件系统的方式管理文件,所以含有dss.ctl文件,并在其中设置了两个表空间,分别为SYSTEM表空间和LOG表空间。SYSTEM是数据文件所在的表空间,LOG是日志文件所在的表空间。

5.4 故障处理

DSS节点无法保证能够永远正常运行,当节点由于机器故障,网络故障等原因导致DRS连接不上时,DRS把该DSS节点转入故障状态,发往该DSS节点的数据以本地归档的形式保存在DRS本地归档目录中。

当检测到故障的DSS节点再次启动时,DRS会把在DSS故障期间生成的本地归档重新发送给DSS进行数据修复。修复完成后,该DSS节点转为正常状态。

5.5 节点迁移

DRS不能无限制的保存本地归档,当一个故障DSS的本地归档达到上限时,该DSS就会转入失效状态,失效状态的DSS无法继续使用。

DSS失效导致一些区块缺失一个可用副本,进而导致这些区块可靠性降低甚至影响正常读写。鉴于此,可以使用节点迁移功能恢复这些受影响区块的缺失副本。

节点迁移是把应该存在于失效DSS中的数据全部迁移到一个尚未使用的DSS上去。数据来源是受影响区块的其他正常副本。

节点迁移步骤如下:

1.新初始化一个DSS节点作为迁移DSS。该DSS的副本策略,页大小需要与失效DSS完全一致,并且空间需要足够。

2.将迁移DSS添加到DMTDD,与失效DSS处于同一个FD。

3.刷新迁移DSS的空间大小,使DCS获取迁移DSS的实际空间大小。需要注意,不要把迁移DSS状态设置为OPEN,避免被使用。

4.执行节点迁移命令。

5.修改迁移DSS状态为OPEN。

6.删除失效节点副本。

7.删除失效节点。

5.6 页校验

为保证数据的正确性,DSS对数据基于页进行校验。一旦某个页校验失败标志该页数据不再可靠,该页所在的副本也就不再可靠,该副本会被置为失效状态。

注意

一般情况下不会出现页校验失败。当页校验失败时我们认为是包含该页的区块所在的存储介质出了问题,因此不再修复该页而是把页所在的副本置为失效。

副本失效后,导致其所在的区块可靠性降低甚至影响正常读写。鉴于此,可以使用添加副本功能为区块添加一个新的副本。

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