第 6 章 配置跨多台機器的行事曆資料庫分布
本章說明如何使用行事曆查找資料庫 (CLD) 外掛程式讓行事曆資料庫分布在多台後端伺服器上。您必須啟用並配置 CLD 外掛程式。
![注意 –](/docs/dcommon/dsc/images/sol/caution.gif)
注意 –
對於功能分別分佈在前端機器和後端機器的 Calendar Server 安裝,各端的硬體平台必須相同。
更明確而言, 由於 big-endian 與 small-endian 的不相容性,您無法在同一包含前端與後端機器的 Calendar Server 部署中同時使用 x86 平台機器和 SPARC 平台機器。
本章包含以下主題:
提示 – 如需有關如何提昇 CLD 外掛程式效能的資訊,請參閱第 21 章, �屐� Calendar Server �刁�。
背景資訊
本小節包含您在實際啟用和配置 CLD 外掛程式之前可能想要瞭解的重要簡介和背景資訊。本小節包含以下主題:
CLD 外掛程式簡介
行事曆查找資料庫外掛程式允許在多台後端伺服器上為單一行事曆實例分布使用者行事曆和資源行事曆從而提供行事曆資料庫的水平可延展性。如果行事曆資料庫分散於多台後端伺服器上,會使用外掛程式來確定實際儲存行事曆的伺服器。
Calendar Server 可使用資料庫連線協定 (DWP) 存取後端伺服器上的行事曆資料。DWP 是一個內部協定,它會以 csdwpd 服務的形式執行,並為行事曆資料庫提供網路功能。
CLD 外掛程式如何運作
Calendar Server 會按照如下說明存取後端伺服器上的行事曆資料:
-
當一般使用者透過 Communications Express 存取行事曆時,CLD 外掛程式會從行事曆的 calid 中擷取 userid,然後在 LDAP 目錄資料庫或 CLD 資料快取記憶體 (如果已啟用) 中查找行事曆所有者。如需有關配置前端機器的資訊和說明,請參閱為 CLD 配置前端伺服器。
-
找到行事曆所有者之後,該外掛程式會使用 icsDWPHost LDAP 屬性中的值確定行事曆所在的後端伺服器之主機名稱。該主機名稱必須可被您的網域名稱服務 (DNS) 解析成有效的 IP 位址。
-
使用主機名稱,Calendar Server 可使用資料庫連線協定 (DWP) 存取後端伺服器上的行事曆資料。
-
使用 DWP,Calendar Server 可將行事曆資料傳送至使用者登入的伺服器,以使其可在其中一個使用者介面中被描繪。
提示 – 如果您的站點使用的是 CLD 外掛程式,則為同一使用者建立的所有行事曆都必須在同一後端伺服器上,如 LDAP 使用者項目的 icsDWPHost LDAP 屬性所指定。如果您嘗試在其他後端伺服器上建立行事曆,Calendar Server 將傳回錯誤。
CLD 外掛程式支援的配置
CLD 外掛程式支援以下 Calendar Server 配置:
提示 – 在所有配置中,每台前端伺服器和後端伺服器都必須:
多台前端伺服器與多台後端伺服器
圖 6–1 顯示執行單一 Calendar Server 實例的兩台前端伺服器和兩台後端伺服器。如果願意,您還可以配置兩台以上的前端或後端伺服器。
此配置可讓伺服器受到防火牆的保護,以限制對 LDAP 和行事曆資料庫的存取。行事曆資料庫分布在兩台後端伺服器上。
前端伺服器的 CPU 使用率很高,CPU 大部分時間都用於描繪一般使用者的行事曆資料。後端伺服器的磁碟使用率很高,CPU 大部分時間都用於存取行事曆資料庫。
如需配置說明,請參閱為 CLD 和 DWP 配置行事曆伺服器。
圖 6–1 多台前端伺服器與多台後端伺服器
![其顯示同時包含多台後端伺服器和前端伺服器的系統範例。 其顯示同時包含多台後端伺服器和前端伺服器的系統範例。](../images/csagCLDPlugin2.gif)
同時作為前端伺服器和後端伺服器的多台機器
圖 6–2 顯示同時做為前端伺服器和後端伺服器的三台機器。每台機器均連線至行事曆資料庫。此配置可讓行事曆分布在不同的地理區域。行事曆所有者 (一般使用者) 登入其行事曆所在的機器。如需配置說明,請參閱將伺服器配置為前端伺服器和後端伺服器。
圖 6–2 同時做為前端伺服器和後端伺服器的多台伺服器
![其顯示同時做為前端機器和後端機器的機器範例。 其顯示同時做為前端機器和後端機器的機器範例。](../images/csagCLDPlugina.gif)
簡單大小練習
以下為基於中等使用率設定檔的一些簡略公式,用於計算所需後端伺服器和前端伺服器的數量以及儲存裝置的大小:
中等使用率設定檔定義
為進行粗略估計,我們假設:
前端 CPU 的數目
公式為:
CPU 的數目 = 同步運作的使用者的數目除以 4800
後端 CPU 的數目
公式為:
CPU 的數目 = 每 500,000 個已配置的使用者有 4 個 CPU
所需儲存裝置的容量
公式為:
儲存裝置的容量 = 5 封電子郵件/週 x 52 週/年 x 2K/電子郵件 (5 x 52 x 2K)
= 每個使用者每年 520KB
依照行事曆資料儲存時間為兩年的假設,每個使用者所需的容量為 1 MB。
為 CLD 和 DWP 配置行事曆伺服器
本小節包含有關配置伺服器的說明以及下列主題︰
為 CLD 配置前端伺服器
步驟
-
在每台前端伺服器上,以具有變更配置權限的管理員身份登入。
-
變更至 /etc/opt/SUNWics5/cal/config 目錄。
-
透過複製及重新命名,儲存舊的 ics.conf 檔案。
-
如下表中所示編輯 ics.conf 參數:
參數
|
說明
|
csapi.plugin.loadall
|
對於每台前端伺服器,如果您希望將所有以 cs_ 開頭的外掛程式均載入至 cal_svr_base/SUNWics5/cal/bin/plugins 目錄,請將此值設定為 “y”。
設定為 “n” 可僅載入特定的外掛程式,其名稱可在 csapi.plugin.calendarlookup.name 中找到。
|
csapi.plugin.calendarlookup
|
將此參數設定為 "yes"。
|
csapi.plugin.calendarlookup.name
|
將此參數設定為外掛程式的名稱 "calendarlookup"。或者,若要載入所有的外掛程式,請將此參數設定為 "*"。
|
caldb.cld.type
|
此參數可指定是要將行事曆分散於多台後端伺服器 (將值設定為 “directory”),還是儲存在安裝 Calendar Server 的同一伺服器上 (將值設定為 “local”,此為預設值)。
|
service.dwp.enable
|
除非前端機器的 DWP 服務也用做後端機器,否則將其停用。例如:service.dwp.enable="no"
|
service.dwp.port
|
預設連接埠為 “59979”。所有前端伺服器和後端伺服器的連接埠號必須相同。
|
service.store.enable
|
由於 csstored 表示備份行事曆資料庫,因此前端機器上不需要此程序。但是,停用此程序不是必需的。
您可以透過將此參數設定為 "no" 來停用前端機器上的 csstored 程序。此作業將阻止該程序每天報告其未配置。
|
caldb.dwp.server.backend-server-n .ip
|
這是一個多值參數,可為 Calendar Server 部署中的每台後端伺服器建立一個 ics.conf 參數。此參數的值為後端伺服器的主機名稱。伺服器名稱必須完全合格,並且可由您的網域名稱服務 (DNS) 解析成有效的 IP 位址。在該參數名稱和值中,伺服器名稱必須相同並且完全合格。
例如:
caldb.dwp.server.calendar1.sesta.com=
"calendar1.sesta.com"
caldb.dwp.server.calendar2.sesta.com=
"calendar2.sesta.com"
|
caldb.dwp.server.default
|
如果使用者或資源 LDAP 項目不具有 icsDWPHost 屬性,請設定系統所使用的預設 DWP 伺服器名稱。伺服器名稱必須完全合格並可由您的 DNS 解析。
例如:
caldb.dwp.sever.default=
"calendar1.sesta.com"
|
local.authldaphost
|
安裝 Directory Server 的主機名稱。預設為 "localhost"。
|
local.ugldaphost
|
儲存 LDAP 使用者喜好設定的主機名稱。如果您未在獨立的 LDAP 主機上儲存使用者喜好設定,則其會被設定為與 local.authldaphost 相同的值。
|
service.ens.enable
|
若要停用此前端伺服器的 ENS (enpd),請將此參數設定為 "no"。
ENS 必須僅在後端伺服器上啟用。
|
caldb.serveralarms
|
透過將此參數設定為 "0",停用前端伺服器的伺服器警示。
伺服器警示必須僅在後端伺服器上啟用 ("1")。
|
caldb.serveralarms.dispatch
|
若要停用警示派送程式,請將此參數設定為 "no"。
警示派送程式應僅在後端伺服器上啟用 ("yes")。
|
service.notify.enable
|
若要停用通知服務,請將此參數設定為 "no"。
通知服務應僅在後端伺服器上啟用 ("yes")。
|
caldb.berkeleydb.archive.enable
|
若要停用自動歸檔檔案備份服務,請將此參數設定為 "no"。不需要在前端機器上配置歸檔。
|
caldb.berkeleydb.hotbackup.enable
|
應停用自動緊急備份服務 (將值設定為 "no")。不需要在前端機器上執行緊急備份。
|
-
將檔案儲存為 ics.conf。
-
重新啟動 Calendar Server。
cal_svr_base/SUNWics5/cal/sbin/start-cal
為 CLD 和 DWP 配置後端伺服器
步驟
-
在每台後端伺服器上,以具有變更配置權限的管理員身份登入。
-
變更至 /etc/opt/SUNWics5/cal/config 目錄。
-
透過複製及重新命名,儲存舊的 ics.conf 檔案。
-
如下表中所示編輯 ics.conf 參數:
參數
|
說明
|
service.http.enable
|
將此參數設定為 "no"。
後端伺服器上不需要 HTTP。
|
service.admin.enable
|
透過將此參數設定為 "yes" (預設值) 啟用管理服務 (csadmind)。
|
caldb.cld.type
|
此參數可指定是要將行事曆分散於多台後端伺服器 (將值設定為 “directory”),還是儲存在安裝 Calendar Server 的同一伺服器上 (將值設定為 “local”,此為預設值)。
對於 CLD 和 DWP,在每台前端伺服器和後端伺服器上此值均必須設定為 "directory"。
|
csapi.plugin.calendarlookup
|
將此參數設定為 "no"。
後端伺服器上不需要外掛程式。
|
service.dwp.enable
|
透過將此參數設定為 "yes" 啟用 DWP
|
service.dwp.port
|
預設連接埠為 “59979”。所有前端伺服器和後端伺服器的連接埠號必須相同。
|
caldb.dwp.server.backend-server-n .ip
|
這是一個多值參數,可為 Calendar Server 部署中的每台後端伺服器建立一個 ics.conf 參數。此參數的值為後端伺服器的主機名稱。伺服器名稱必須完全合格,並且可由您的網域名稱服務 (DNS) 解析成有效的 IP 位址。在該參數名稱和值中,伺服器名稱必須相同並且完全合格。
例如:
caldb.dwp.server.calendar1.sesta.com=
"calendar1.sesta.com"
caldb.dwp.server.calendar2.sesta.com=
"calendar2.sesta.com"
|
caldb.dwp.server.default
|
如果使用者或資源 LDAP 項目不具有 icsDWPHost 屬性,請設定系統所使用的預設 DWP 伺服器名稱。伺服器名稱必須完全合格並可由您的 DNS 解析。
例如:
caldb.dwp.sever.default=
"calendar1.sesta.com"
|
local.authldaphost
|
安裝 Directory Server 的主機名稱。預設為 "localhost"。
|
local.ugldaphost
|
儲存 LDAP 使用者喜好設定的主機名稱。如果您未在獨立的 LDAP 主機上儲存使用者喜好設定,則其會被設定為與 local.authldaphost 相同的值。
|
service.ens.enable
|
若要啟用此後端伺服器的 ENS (enpd),請將此參數設定為 "yes"。
|
caldb.serveralarms
|
伺服器警示必須在後端伺服器上啟用 ("1")。
|
-
將檔案儲存為 ics.conf。
-
重新啟動 Calendar Server。
cal_svr_base/SUNWics5/cal/sbin/start-cal
將伺服器配置為前端伺服器和後端伺服器
步驟
-
在每台伺服器上,以具有變更配置權限的管理員身份登入。
-
變更至 /etc/opt/SUNWics5/cal/config 目錄。
-
透過複製及重新命名,儲存舊的 ics.conf 檔案。
-
如下表中所示編輯 ics.conf 參數:
參數
|
說明
|
csapi.plugin.loadall
|
對於每台前端伺服器,如果您希望將所有以 cs_ 開頭的外掛程式均載入至 cal_svr_base/SUNWics5/cal/bin/plugins 目錄,請將此值設定為 “y”。
設定為 “n” 可僅載入 CLD 外掛程式,其名稱可在 csapi.plugin.calendarlookup.name 中找到。
|
csapi.plugin.calendarlookup
|
將此參數設定為 "yes"。
|
csapi.plugin.calendarlookup.name
|
若要載入所有的外掛程式,請將此參數設定為 "*"。
如果您希望僅載入 CLD 外掛程式,請將此參數設定為該外掛程式的名稱 "calendarlookup"。
|
caldb.cld.type
|
此參數可指定是要將行事曆分散於多台後端伺服器 (將值設定為 “directory”),還是儲存在安裝 Calendar Server 的同一伺服器上 (將值設定為 “local”,此為預設值)。
|
service.dwp.enable
|
透過將此參數設定為 "yes" 啟用 DWP
|
service.dwp.port
|
預設連接埠為 “59979”。所有前端伺服器和後端伺服器的連接埠號必須相同。
|
caldb.dwp.server.backend-server-n .ip
|
這是一個多值參數,可為 Calendar Server 部署中的每台後端伺服器建立一個 ics.conf 參數。此參數的值為後端伺服器的主機名稱。伺服器名稱必須完全合格,並且可由您的網域名稱服務 (DNS) 解析成有效的 IP 位址。在該參數名稱和值中,伺服器名稱必須相同並且完全合格。
例如:
caldb.dwp.server.calendar1.sesta.com=
"calendar1.sesta.com"
caldb.dwp.server.calendar2.sesta.com=
"calendar2.sesta.com"
|
caldb.dwp.server.default
|
如果使用者或資源 LDAP 項目不具有 icsDWPHost 屬性,請設定系統所使用的預設 DWP 伺服器名稱。伺服器名稱必須完全合格並可由您的 DNS 解析。
例如:
aldb.dwp.sever.default=
"calendar1.sesta.com"
|
local.authldaphost
|
安裝 Directory Server 的主機名稱。預設為 “localhost” (位於與前端伺服器相同的伺服器上)。
|
local.ugldaphost
|
儲存 LDAP 使用者喜好設定的主機名稱。如果您未在獨立的 LDAP 主機上儲存使用者喜好設定,則其會被設定為與 local.authldaphost 相同的值。
|
service.ens.enable
|
透過將此參數值設定為 "yes" 啟用 ENS。
|
caldb.serveralarms
|
伺服器警示必須在後端伺服器上啟用 ("1")。
|
caldb.serveralarms.dispatch
|
警示派送程式應在後端伺服器上啟用 ("yes")。
|
service.notify.enable
|
通知服務應在後端伺服器上啟用 ("yes")。
|
caldb.berkeleydb.archive.enable
|
自動歸檔檔案備份服務應在後端系統上啟用 (將值設定為 "yes")。
|
caldb.berkeleydb.hotbackup.enable
|
自動緊急備份服務應在後端系統上啟用 (將值設定為 "yes")。
|
-
將檔案儲存為 ics.conf。
-
重新啟動 Calendar Server。
cal_svr_base/SUNWics5/cal/sbin/start-cal
維護前端伺服器和後端伺服器之間的安全
您可以在前端伺服器和後端伺服器之間配置密碼認證。本小節說明如何在這兩台伺服器之間設置安全的通訊以及其如何運作。涵蓋以下主題︰
如何完成認證
前端伺服器使用資料庫連線協定 (DWP) 與後端伺服器進行通訊。由於 DWP 將 HTTP 用做傳輸機制,因此,Calendar Server 使用配置參數為前端伺服器和後端伺服器之間的 DWP 連線提供認證。
前端伺服器在首次連線至後端伺服器時,會傳送 ics.conf 檔案中指定的使用者 ID 和密碼。後端伺服器會檢查其 ics.conf 檔案中的參數,如果兩個參數相符,則認證成功。然後,後端伺服器會將階段作業 ID 傳送回前端伺服器。在以後針對後端伺服器的 DWP 指令中,前端伺服器會使用該階段作業 ID。
來自同一前端伺服器的後續連線不需要再次進行認證,除非後端伺服器重新啟動或階段作業因兩台伺服器之間無活動而過期。
如果您有多台前端和後端伺服器,則可以對每台伺服器使用同一使用者 ID 和密碼。
如果後端伺服器未指定使用者 ID 和密碼,則不會執行認證。
為前端伺服器設置 DWP 連線認證
開始之前
![注意 –](/docs/dcommon/dsc/images/sol/caution.gif)
注意 –
這些參數未包含在 ics.conf 檔案的已安裝版本中。若要認證 DWP 連線,您必須將所需參數增加至每台前端伺服器上的 ics.conf 檔案中。
步驟
-
在每台前端伺服器上,以具有變更配置權限的管理員身份登入。
-
變更至 /etc/opt/SUNWics5/cal/config 目錄。
-
透過複製及重新命名,儲存舊的 ics.conf 檔案。
-
如下表中所示增加 ics.conf參數:
參數
|
說明
|
caldb.dwp.server.back-end-server.admin
|
在前端伺服器上,指定用於認證後端伺服器 DWP 連線的管理員之使用者 ID,其中 back-end-server 為該伺服器的名稱。
|
caldb.dwp.server.back-end-server.cred
|
在前端伺服器上,指定用於認證後端伺服器 DWP 連線的密碼,其中 back-end-server 為該伺服器的名稱。
|
-
將檔案儲存為 ics.conf。
-
重新啟動 Calendar Server。
cal_svr_base/SUNWics5/cal/sbin/start-cal
為後端伺服器設置 DWP 連線認證
開始之前
![注意 –](/docs/dcommon/dsc/images/sol/caution.gif)
注意 –
這些參數未包含在 ics.conf 檔案的已安裝版本中。若要認證 DWP 連線,您必須將所需參數增加至每台後端伺服器上的 ics.conf 檔案中。
步驟
-
在每台後端伺服器上,以具有變更配置權限的管理員身份登入。
-
變更至 /etc/opt/SUNWics5/cal/config 目錄。
-
透過複製及重新命名,儲存舊的 ics.conf 檔案。
-
如下表中所示增加 ics.conf參數:
參數
|
說明
|
service.dwp.admin.userid
|
在後端伺服器上,指定用於認證 DWP 連線的使用者 ID。如果後端伺服器未指定使用者 ID,則不會執行認證。
|
service.dwp.admin.cred
|
在後端伺服器上,指定用於認證 DWP 連線的密碼。如果後端伺服器未指定密碼,則不會執行認證。
|
-
將檔案儲存為 ics.conf。
-
重新啟動 Calendar Server。
cal_svr_base /SUNWics5/cal/sbin/start-cal