返回首页

gbase数据、南大通用产品文档:GBase8s共享磁盘辅助服务器

更新日期:2024年09月11日

这些主题概述了在高可用性环境中设置和配置 SD(共享磁盘)辅助服务器。SD 辅助服
务器选项可用于标准版 GBase 8s。
SD 辅助服务器
共享磁盘 (SD) 辅助服务器参与了高可用性集群配置。 在这样的配置中,主服务器和 SD
辅助服务器共享同一个磁盘或磁盘阵列。
SD 辅助服务器不在自己的磁盘空间上保存物理数据库副本。而是与主服务器共享磁盘。
必须将 SD 辅助服务器配置为访问允许并行访问的共享磁盘设备。不要配置使用操作系统
缓冲(如 NFS 交叉安装的文件系统)的 SD 辅助服务器。如果 SD 辅助服务器实例和
主服务器实例位于一台机器上,那么这两台服务器都可访问本地磁盘。如果 SD 辅助服务
器和主服务器位于不同的物理机器上,那么必须这两台服务器必须都配置为访问显示为本
地连接的共享磁盘设备,如 Veritas 或 GPFS™。
SD 辅助服务器可与 HDR 辅助服务器、RS 辅助服务器和 Enterprise Replication 结合使
用。
可以非常快速地将 SD 辅助服务器添加到高可用性环境,因为它们不需要单独的磁盘副
本。因为 SD 服务器共享主服务器的磁盘存储资源,所以建议您提供一些其他磁盘备份方
法,例如磁盘镜像,或者使用 RS 辅助服务器或 HDR 辅助服务器。
以下限制影响属于共享磁盘辅助服务器的数据库服务器实例的提升:

SD 辅助服务器不能提升为 RS 辅助服务器。

SD 辅助服务器不能提升为可存在于主要高可用性环境之外的标准服务器。
SD 辅助服务器的磁盘需求
除了磁盘需求(与主服务器共享)之外,硬件和软件需求通常与 HDR 辅助服务器的需求
相同(请参阅针对特定受支持平台的机器说明®)。 此外,具有数据库服务器的计算机之
间必须共享主磁盘系统。这表示从 SD 辅助服务器到数据库空间的路径必须与主服务器的
数据库空间路径相同。请参阅配置集群。
设置共享磁盘辅助服务器
设置共享磁盘辅助服务器要先设置 SDS_ENABLE 配置参数。 接下来,将使
用 onmode 实用程序来设置 SD 辅助服务器用于连接到主服务器的主服务器别名。然后,
修改 SD 辅助服务器上的配置文件以包含相应选项。最后,运行 oninit 实用程序以启动
SD 辅助服务器。
1.
在主服务器上,设置 onconfig 文件中的 SDS_TIMEOUT 配置参数:

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 371 -
SDS_TIMEOUT x
SDS_TIMEOUT 指定主服务器将等待从 SD 辅助服务器发送的日志位置确认的时
间量(以秒为单位)。有关 SDS_TIMEOUT 配置参数的信息,请参阅 《GBase 8s
管理员参考》。
2.
在主服务器上,配置 SD 主服务器的别名:
onmode -d set SDS primary
指定的服务器名称将成为共享磁盘环境的主服务器和 SD 辅助服务器的
日志源。
3.
在 SD 辅助服务器上,设置配置文件中的以下配置参数:
SDS_ENABLE 1
SDS_PAGING ,
SDS_TEMPDBS ,,,,
SDS_ENABLE 在辅助服务器上必须设置为 1(启用)以便支持对共享磁盘环境。
SDS_PAGING 指定两个文件的路径,这两个文件用于保存检查点之间可能需要清
空的页。 每个文件都作为任意页大小块的临时磁盘存储器。 SDS_TEMPDBS 用
于定义 SD 辅助服务器使用的临时数据库空间。 此数据库空间在启动服务器时会
动态创建(不是通过运行 onspaces 而创建)。 请参阅《GBase 8s 管理员参考》以
获取有关这些参数的其他信息。
4.
在 SD 辅助服务器上,设置以下配置参数以与主服务器上的那些参数匹配:

ROOTNAME

ROOTPATH

ROOTOFFSET

ROOTSIZE

PHYSFILE

LOGFILES

LOGSIZE
映射其他配置参数以使主服务器的那些参数与 DBSERVERALIASES、
DBSERVERNAME 和 SERVERNUM 的异常匹配。
对于高可用性集群中的 HDR、RSS 和 SDS 辅助服务器,必须通过将
TEMPTAB_NOLOG 配置参数设置为 1 来始终禁用对临时表的逻辑日志记录。
5. 在 SD 辅助服务器上,如果要启用客户机应用程序以在辅助服务器上执行更新,
插入和删除操作,可以选择将 UPDATABLE_SECONDARY 配置参数设置为正整
数。
6.
向主服务器的 sqlhosts 文件添加条目:


GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 372 -
primary_dbservername nettype primary_hostname servicename
7.
使用 oninit 命令启动 SD 辅助服务器。
在主服务器处于活动状态之后才能启动 SD 辅助服务器。
辅助服务器启动时,必须首先使用快速恢复方式处理任何已打开的事务。仅当启
动检查点时打开的所有事务均落实或回滚之后,客户机应用程序才可连接到服务
器。处理了打开的事务之后,客户机应用程序可正常连接到服务器。必须检查辅
助服务器上的 online.log 文件,以验证是否已完成处理打开的事务。
下表说明了前面的步骤,这样您可以清楚地确定在主服务器上执行的步骤和在辅助服务器
上执行的步骤。
表 1. 首次启动 SD 辅助服务器的步骤
步骤
在主服务器上
在辅助服务器上
1.
设置 onconfig 文件中的
SDS_TIMEOUT 配置参数:
SDS_TIMEOUT x

2.
配置 SD 主服务器的别名:
onmode -d set SDS primary


3

设置配置参数:
SDS_ENABLE 1
SDS_PAGING ,
SDS_TEMPDBS
,,
,,

4

设置配置参数以便与主服务器上的那些参数
匹配:

ROOTNAME

ROOTPATH

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 373 -
步骤
在主服务器上
在辅助服务器上

ROOTOFFSET

ROOTSIZE

PHYSFILE

LOGFILES

LOGSIZE
5

(可选)将 UPDATABLE_SECONDARY 配置参
数设置为正整数。
6

向主服务器的 sqlhosts 文件添加条目:
dbservername nettype hostname
servicename
7

启动 SD 辅助服务器
oninit
添加辅助服务器时,LGR 内存池中的内存使用量将增加。
请参阅《GBase 8s 管理员参考》 以获取有关配置参数的信息。

获取 SD 辅助服务器统计信息
使用 onstat 实用程序或系统监视接口 (SMI) 表来查看 SD 辅助服务器统计信息。
使用 onstat -g sds 来查看 SD 辅助服务器统计信息。 onstat 实用程序的输出取决于实用
程序是在主服务器还是在辅助服务器上运行。
查询 syssrcsds 表可获取有关主服务器上共享磁盘统计信息的信息。
查询 systrgsds 表可获取有关辅助服务器上共享磁盘统计信息的信息。
有关 onstat 和 SMI 表的信息,请参阅《GBase 8s 管理员参考》。
SD 辅助服务器配置
将 SD 辅助服务器升级为主服务器
通过在 SD 辅助服务器上发出以下命令,将 SD 辅助服务器转换为主服务器:
onmode -d set SDS primary
SD 辅助服务器不能转换为标准服务器。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 374 -
将主服务器转换为标准服务器
通过在主服务器上使用下列命令,可以将主服务器转换为标准服务器,并断开与共享磁盘
环境的连接。
onmode -d clear SDS primary
SD 辅助服务器安全性
SD 辅助服务器支持与 HDR 类似的加密规则。请参阅集群的数据库服务器配置需求以获
取详细信息。
可启用或禁用任何主服务器和辅助服务器对之间的加密。 即,可以加密主服务器与某台
SD 辅助服务器之间的流量,而对主服务器与其他 SD 辅助服务器之间的流量不进行加
密。
有关设置和配置主服务器与 SD 辅助服务器之间加密的其他信息,请参阅服务器多路复用
器组 (SMX) 连接主题。

扩容报错互信问题
问题现象
Error: execute cmd [ssh -o UserKnownHostsFile=/dev/null -o
StrictHostkeyChecking=no gbase@*.*.*.* ‘rm -rf /tmp/gnode_sys_tbl/
/opt/*.*.*.*/gnode/userdata/gbase/testdb
--exclude=gbase/adult_log.* ./gbase;mv ./gbase.tar /tmp/gnode_sys_tbl/’]failed,error
no[225]
Error cause: ).
build data packet at node [*.*.*.*] failed
解决方法
1.检查扩容节点与管理节点之间的互信。
2.将扩容节点home/ gbase/.bash_profile 这个文件里面的export
SSH_GBASE_PASSWORD 这行参数与扩容前的节点保持一致
3.批量检查SSH_GBASE_PASSWORD 参数,
cexec all: ‘env |grep PASSWD’确保一致
4.采用Python 对上一步输出的SSH_GBASE_PASSWORD 这个参数进行解密转换。
[gbase@localhost sys_tablespace]$ python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>>base64.b16decode('ssh_..那串数字')
得到解密后的数字
5.将所有节点的gbase 用户密码改为解密后的数字

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
162

(SQL 管理 API)
随同 admin() 或 task() 函数,
使用 onmode 和 wm 参数来动态地更新内存中配置参数的
值。
语法

元素
描述
关键考虑
configuration_parameter_name
配置参数的名称。
您指定的配置参数必须是您可动态地
更新的。
您可动态地更新的配置参数列表与
onmode -wf 命令的相同。
new_value
配置参数的一个
或多个新值。
该值对于配置参数必须是有效的。
新值的格式必须严格地遵循那个配

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 781 -
元素
描述
关键考虑
置参数的语法。

用法
使用这个函数来临时地更新您可动态地更新的配置参数的值。新值立即生效。新的值不写
到 ONCONFIG 文件且当数据库服务器重启时丢失。
这个函数等同于 onmode -wm 命令。
示例
下列示例为当前会话设置 DYNAMIC_LOGS 配置参数的值为 2:
EXECUTE FUNCTION task("onmode","wm","DYNAMIC_LOGS=2");