GBase新聞
GBase 8s數據庫集群信任關系配置方法
為了滿足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參數配置。)