GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

GBase 8s数据库集群信任关系配置方法

发布时间:2023-06-14

为了满足GBase8s数据库集群主备服务器之间进行数据传输和相互操作的需要,我们在配置集群之前首先要在两台服务器之间建立操作系统级别的信任关系。本文档主要描述了GBase 8s数据库集群信任关系配置的几种方法。

环境信息

一、配置hosts.equiv文件方式

“/etc/hosts.equiv”文件包含一系列主机名,每一个主机都是受信任的主机,任何一个用户只要在本地主机和远程主机上有一个相同的账号就允许从本地主机访问远程主机,而不需提供密码。

如果加入了一台远程主机和一个用户,在该机上的那个用户(非root用户)就可以用rlogin登录本地机上的所有非root账号,而且不需要密码。

简单的说hosts.equiv是不同主机间的信任关系,信任被信主机的所有用户。

1、修改/etc/hosts

主备节点使用root用户执行:vi /etc/hosts。在/etc/hosts文件下添加主备节点的ip地址及主机名。主备两台服务器配置一样。

主节点hosts内容如下:

备节点hosts内容如下:

2、修改/etc/hosts.equiv

主备节点使用root用户执行:vi /etc/hosts.equiv。在/etc/hosts.equiv文件下添加主备节的主机名及互信用户名。主备两台服务器配置一样。

主节点hosts.equiv文件如下

备节点hosts.equiv文件如下

3、配置sqlhosts文件

配置sqlhosts文件。主备节点sqlhosts文件配置一致即可。使用gbasedbt用户配置。 (注:ip地址和实例名根据现场实际情况修改)

主节点sqlhosts文件如下:

备节点sqlhosts文件如下:

4、互信验证测试

主备节点分别通过跨实例访问的形式使用dbaccess命令访问对端数据库实例。成功连接到对端实例,表示互信配置成功。

主节点成功通过dbaccess连接到备节点实例:

备节点成功通过dbaccess连接到主节点实例:

5、适用场景

hosts.equiv方式配置互信适用于对操作系统安全无要求,安全等级最低。操作系统对主机互信没有特殊检查限制。这种情况下可以用root配置。

二、配置.rhosts文件方式

用户主目录内的“.rhosts”文件内容是受信任的{主机~用户}关系对。与“hosts.equiv”内的受信任主机有些类似,但它却给了更精细的控制。与“hosts.equiv”相比,不是授予某一特定主机上的所有普通用户信任关系,而是授予特定主机上的某一特定账号以信任关系。受信任主机上的用户并不需要在本地主机上有账号。

简单的说.rhosts是同一用户在不同主机间的信任,只信任被信主机的相应的某个用户。

1、修改/etc/hosts

主备节点使用root用户执行:vi /etc/hosts。在/etc/hosts文件下添加主备节点的ip地址及主机名。主备两台服务器配置一样。

主节点hosts内容如下:

备节点hosts内容如:

2、修改.rhosts文件

在gbasedbt用户家目录下新建.rhosts 文件,主节点和备节点在文件中互相添加对方的主机名和互信用户gbasedbt。

主节点.rhosts文件如下:

备节点.rhosts文件如下:

3、配置sqlhosts文件

配置sqlhosts文件。主备节点sqlhosts文件配置一致即可。使用gbasedbt用户配置。(注:ip地址和实例名根据现场实际情况修改)

主节点sqlhosts文件如下:

备节点sqlhosts文件如下:

4、互信验证测试

主备节点分别通过跨实例访问的形式使用dbaccess命令访问对端数据库实例。成功连接到对端实例,表示互信配置成功。

主节点成功通过dbaccess连接到备节点实例:

备节点成功通过dbaccess连接到主节点实例:

5、适用场景

.rhosts方式配置互信适用于对操作系统安全要求比较低,互信需要指定到用户级别。root用户管理严格。这种情况可以使用gbasedbt用户修改.rhosts方式配置互信。

三、配置REMOTE_SERVER_CFG参数

REMOTE_SERVER_CFG参数:指定列有信任的远程主机名或IP地址的文件名,该文件必须位于目录$GBASEDBTDIR/etc中。若设定该参数,则不会使用文件/etc/hosts.equiv

1、创建hosts.trust文件

主节点添加hosts.trust文件如下:

备节点添加hosts.trust文件如下:

2、修改REMOTE_SERVER_CFG参数

主备节点使用onmode -wf动态修改参数或修改onconfig文件后重启数据库。

主节点修改参数如下:

备节点修改参数如下:

3、修改sqlhosts文件

配置sqlhosts文件。主备节点sqlhosts文件配置一致即可。使用gbasedbt用户配置。(注:ip地址和实例名根据现场实际情况修改)

主节点sqlhosts文件如下:

备节点sqlhosts文件如下:

4、互信验证测试

主备节点分别通过跨实例访问的形式使用dbaccess命令访问对端数据库实例。成功连接到对端实例,表示互信配置成功。

主节点成功通过dbaccess连接到备节点实例:

备节点成功通过dbaccess连接到主节点实例:

5、适用场景

修改REMOTE_SERVER_CFG参数配置互信适用于操作系统对安全等级要求严格,操作系统会检测hosts.equiv等互信文件,禁止操作系统层主机互信。这种情况下可以使用数据库内部REMOTE_SERVER_CFG参数配置互信。

四、配置REMOTE_USERS_CFG参数

REMOTE_USERS_CFG参数:指定列有信任用户名的文件名,该文件必须位于目录$GBASEDBTDIR/etc中。若设定该参数,则不会使用文件~/.rhosts

1、创建.trust文件

主节点添加.trust文件如下:

备节点添加.trust文件如下:

2、修改REMOTE_USERS_CFG参数

主备节点使用onmode -wf动态修改参数或修改onconfig文件后重启数据库。

主节点修改参数如下:

备节点修改参数如下:

3、修改sqlhosts文件

配置sqlhosts文件。主备节点sqlhosts文件配置一致即可。使用gbasedbt用户配置。(注:ip地址和实例名根据现场实际情况修改)

主节点sqlhosts文件如下:

备节点sqlhosts文件如下:

4、互信验证测试

主备节点分别通过跨实例访问的形式使用dbaccess命令访问对端数据库实例。成功连接到对端实例,表示互信配置成功。

主节点成功通过dbaccess连接到备节点实例:

备节点成功通过dbaccess连接到主节点实例:

5、适用场景

修改REMOTE_USERS_CFG参数配置互信适用于操作系统对安全等级要求严格,操作系统会检测hosts.equiv等互信文件,禁止操作系统层主机、用户互信。以及REMOTE_SERVER_CFG参数互信失败。这种情况下可以使用数据库内部REMOTE_SERVER_CFG参数配置互信。

(注:在使用数据库内部参数配置互信情况下,优先考虑使用REMOTE_SERVER_CFG参数配置。)