第 8 章
調整記錄
Directory Server 提供數種記錄類型,已彙總列於表 8-1 中。本章討論不同記錄類型的處理方式。
表 8-1    所用的記錄類型 Directory Server
記錄
|
類型
|
用途
|
存取
|
一般檔案
|
評估目錄使用模式、確認組態設定、診斷存取問題。
|
稽核
|
一般檔案
|
提供安全性與資料完整性的稽核記錄。
|
Changelog
|
資料庫
|
啟用複本間的同步。
|
錯誤
|
一般檔案
|
除錯目錄部署。
|
Retro changelog
|
資料庫
|
允許與舊版本的回溯相容性。
|
交易
|
資料庫
|
維護資料庫完整性。
|
在資料量大的部署中,寫入記錄檔需要頻繁的磁碟作業,因而對系統效能產生明顯的負面影響。假使在資料量大的系統中可能因為大量記錄作業形成 I/O 瓶頸,請考慮將記錄檔單獨放在配備獨立磁碟控制器的實體磁碟上。
存取記錄
存取記錄包含有關用戶端連線與所執行作業的詳細資訊。在診斷存取問題、確認伺服器組態設定及評估伺服器使用模式時,存取記錄是不可或缺的。然而預設的記錄層級會在大多數的部署中產生大量磁碟活動,而大量的磁碟活動可能對伺服器效能產生負面的影響。
雖然存取記錄提供有用的疑難排解資訊,但它可能成為 I/O 瓶頸。因此一旦目錄完成部署,而且運作正常,沒有錯誤或效能問題後,可考慮停用存取記錄。等到實際執行環境遭遇需要存取記錄的狀況時,再將記錄層級設成最小的必要層級。除此之外,可考慮將存取記錄放在專用的實體磁碟,或配備大量 I/O 緩衝區的快速磁碟子系統上。表 8-2 針對特定屬性提供進一步的建議。
表 8-2    存取記錄的調整建議
組態屬性 (dn:cn=config 上)
|
簡短說明與調整建議
|
nsslapd-accesslog
|
指定存取記錄檔的路徑與檔案名稱。
對於資料量小的部署,存取記錄可與稽核及錯誤記錄共用一部磁碟。
對於資料量大的部署,請考慮將存取記錄放在專用的磁碟,或配備專用控制器的磁碟子系統上。請選擇配備大量 I/O 緩衝區的磁碟。
|
nsslapd-accesslog-level
|
指定所用的資訊記錄層級。
除非需要較高層級,否則可變更為沒有存取記錄的 0 (預設值 256 會記錄項目的存取)。
|
nsslapd-accesslog-logbuffering
|
決定是否緩衝處理存取記錄。
除非您必須停用緩衝處理,以便在存取記錄觸動當時查看存取記錄訊息,否則請保留 on (預設值)。停用緩衝處理可導致整體效能降低。
|
nsslapd-accesslog-logging-enabled
|
啟用與停用存取記錄。
若要達到最高效能,可設為 off 以停用存取記錄 (預設值是 on)。
如果部署有必要啟用存取記錄,請將 nsslapd-accesslog-level 設成可接受的最小值,並將存取記錄放在專用的磁碟或磁碟子系統上。請經常旋轉存取記錄 (每天或每週一次),並使用 nsslapd-accesslog-logmaxdiskspace 與 nsslapd-accesslog-logminfreediskspace 管理所用的磁碟空間。
|
nsslapd-accesslog-logmaxdiskspace
|
指定所有存取記錄 (目前與旋轉的記錄) 可佔用的最大磁碟空間。
將這個值設成低於存取記錄專用的磁碟空間總數。
如果稽核、存取與錯誤記錄使用同一部磁碟,務請確認三種記錄都有足夠的磁碟空間。
如果存取記錄位於專用磁碟上,請將這個變數設成磁碟大小。
|
nsslapd-accesslog-logminfreediskspace
|
指定刪除舊記錄之前允許的最小可用磁碟空間。
當可用磁碟空間大小低於此屬性的指定值時,將刪除最舊的存取記錄,直到釋放的可用磁碟空間足以符合此屬性的設定為止。如果因為磁碟已滿,導致無法寫入存取記錄,伺服器便會關機。
|
如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。
Sun ONE Directory Server Resource Kit 的說明文件介紹摘錄自存取記錄的資訊。如需詳細資訊,請參閱「下載目錄伺服器工具」。
稽核記錄
稽核記錄包含有關每個資料庫及伺服器組態所有變更的詳細資訊。稽核記錄預設為停用狀態。
在資料修改量大的部署中,若啟用稽核記錄,可能導致整體效能非常顯著地降低。除非部署需要,否則請將稽核記錄保持停用狀態。對於需要稽核記錄的大型或資料量大的部署,請考慮為稽核記錄在單獨的控制器上單獨配置一部磁碟。表 8-3 針對特定屬性提供進一步的建議。
表 8-3    稽核記錄的調整建議
組態屬性 (dn:cn=config 上)
|
簡短說明與調整建議
|
nsslapd-auditlog
|
指定稽核記錄檔的路徑與檔案名稱。
對於資料量小的部署,稽核記錄可與存取及錯誤記錄共用一部磁碟。
對於資料量大的部署,請考慮將稽核記錄放在配備專用控制器的專用磁碟上。請選擇配備大量 I/O 緩衝區的磁碟。
|
nsslapd-auditlog-logging-enabled
|
啟用與停用稽核記錄。
除非需要稽核記錄,否則請保留 off (預設值)。
|
nsslapd-auditlog-logmaxdiskspace
|
指定所有稽核記錄 (目前與旋轉的記錄) 可佔用的最大磁碟空間。
將這個值設成低於稽核記錄專用的磁碟空間總數。
如果稽核、存取與錯誤記錄使用同一部磁碟,務請確認三種記錄都有足夠的磁碟空間。
如果稽核記錄位於專用磁碟上,請將這個變數設成磁碟大小。
|
nsslapd-auditlog-logminfreediskspace
|
指定刪除舊記錄之前允許的最小可用磁碟空間。
當可用磁碟空間大小低於此屬性的指定值時,將刪除最舊的稽核記錄,直到釋放的可用磁碟空間足以符合此屬性的設定為止。如果因為磁碟已滿,導致無法寫入稽核記錄,伺服器便會關機。
|
如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。
錯誤記錄
Directory Server 實例的錯誤記錄包含在正常作業期間,伺服器所發生的詳細錯誤、警告與資訊訊息。預設記錄層級相當低,因此所產生的磁碟活動也相對比較少。
然而若設為較高的記錄層級,以產生除錯資訊,Directory Server 可能會開始將大量訊息寫入磁碟。這些寫入負載可能導致整體效能非常顯著地降低。為避免效能降低,請逐一提高元件的記錄層級,而不要一次同時啟用所有元件的記錄層級。
錯誤記錄不支援記錄緩衝處理。所有訊息均立即排清至磁碟。對於大型或資料量大的部署,請考慮為錯誤記錄在單獨的控制器上單獨配置一部磁碟,在有必要進行除錯時使用。表 8-4 針對特定屬性提供進一步的建議。
表 8-4    錯誤記錄的調整建議
組態屬性 (dn:cn=config 上)
|
簡短說明與調整建議
|
nsslapd-errorlog
|
指定錯誤記錄檔的路徑與檔案名稱。
對於資料量小的部署,錯誤記錄可與存取及稽核記錄共用一部磁碟。
對於資料量大的部署,請考慮將錯誤記錄放在配備專用控制器的專用磁碟上。請選擇配備大量 I/O 緩衝區的磁碟。
|
nsslapd-errorlog-logging-enabled
|
啟用與停用錯誤記錄。
保留 on (預設值)。
|
nsslapd-errorlog-logmaxdiskspace
|
指定所有錯誤記錄 (目前與旋轉的記錄) 可佔用的最大磁碟空間。
將這個值設成低於錯誤記錄專用的磁碟空間總數。
如果稽核、存取與錯誤記錄使用同一部磁碟,務請確認三種記錄都有足夠的磁碟空間。
如果錯誤記錄位於專用磁碟上,請將這個變數設成磁碟大小。
|
nsslapd-errorlog-logminfreediskspace
|
指定刪除舊記錄之前允許的最小可用磁碟空間。
當可用磁碟空間大小低於此屬性的指定值時,將刪除最舊的錯誤記錄,直到釋放的可用磁碟空間足以符合此屬性的設定為止。如果因為磁碟已滿,導致無法寫入錯誤記錄,伺服器便會關機。
|
nsslapd-infolog-area
|
指定應記錄其資訊訊息的元件。
除非要進行元件的除錯,否則請保留 0 (預設值)。在實際執行伺服器上應避免同時設定多個元件。
|
nsslapd-infolog-level
|
指定所用的資訊記錄層級。
除非要進行元件的除錯,而且僅對其設定 nsslapd-infolog-area 便無法產生足夠的明細,否則請保留 0 (預設值)。
|
如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。
多重主機複寫變更記錄
Directory Server 使用複寫 changelog 來啟用複本間的同步。如需有關 changelog 的討論,請參閱「 Sun ONE Directory Server 部署指南」;如需有關組態的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。表 8-5 針對特定屬性提供進一步的建議。
表 8-5    多重主機變更記錄的調整建議
組態項目 DN 與組態屬性
|
簡短說明與調整建議
|
dn:cn=changelog5,cn=config
nsslapd-cachememsize
|
指定 changelog 資料庫快取大小。
請考慮將此值從預設值 10 MB 變更為更大的值,以便用於高容量部署。
|
dn:cn=changelog5,cn=config
nsslapd-changelogdir
|
指定 changelog 資料庫的路徑與檔案名稱。
請考慮將 changelog 放在專用的磁碟,或配備專用控制器的磁碟子系統上。大量的 I/O 緩衝區會很有用。
|
dn:cn=changelog5,cn=config
nsslapd-changemaxage
|
指定 changelog 中項目的最長天數。
將此數值從 0 (預設值,表示無最長天數) 變更為其他間隔,在此間隔之後,複寫伺服器完全同步,並且可能已縮減 changelog。
|
dn:cn=changelog5,cn=config
nsslapd-changemaxentries
|
指定 changelog 中的最大項目數。
將此數值從 0 (預設值,表示無最大項目數) 變更為足夠大的數值,以便在縮減 changelog 之前,讓複寫伺服器完全同步。
|
dn:cn=changelog5,cn=config
nsslapd-cachesize
|
指定 changelog 資料庫快取中的最大項目數。
將此數值從 -1 (預設值,表示無最大值) 變更為項目被排清之前,changelog 中可保留的最大項目數。
|
如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。
Retro Change 記錄
Directory Server 隨附一個 retro changelog 外掛程式,啟用後即可使用與 Directory Server 4.x 版本相容並可透過 LDAP 存取的格式記錄供應商伺服器上的變更。retro changelog 外掛程式預設為停用狀態,除非您有相容性的需要,否則不應啟用此外掛程式。如需詳細資料,請參閱「Sun ONE Directory Server 參考手冊」。表 8-6 針對特定屬性提供進一步的建議。
表 8-6    Retro Change 記錄的調整建議
組態項目 DN 與組態屬性
|
簡短說明與調整建議
|
dn:cn=Retro Changelog Plugin,cn=plugins,cn=config
nsslapd-changelogdir
|
指定 retro changelog 的路徑與檔案名稱。
請考慮將 retro changelog 放在專用的磁碟,或配備專用控制器的磁碟子系統上。大量的 I/O 緩衝區會很有用。
|
dn:cn=Retro Changelog Plugin,cn=plugins,cn=config
nsslapd-changelogmaxage
|
指定 retro changelog 中項目的最長天數。
將此數值從 0 (預設值,表示無最長天數) 變更為其他間隔,在此間隔之後,使用 retro changelog 的用戶端應已處理過所產生的記錄項目。
|
dn:cn=Retro Changelog Plugin,cn=plugins,cn=config
nsslapd-changelogmaxentries
|
指定 retro changelog 中的最大項目數。
將此數值從 0 (預設值,表示無最大值) 變更為修剪之前 retro changelog 中可保留的最大項目數。
|
如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。
交易記錄
Directory Server 透過交易記錄維護資料庫的完整性。接受更新作業 (add、modify、delete 或 modrdn) 時,Directory Server 會將有關作業的記錄訊息寫入交易記錄。交易記錄預設為啟用狀態,持久的交易記錄可確保資料完整性。具體的做法為:每個更新作業都必須在磁碟上的交易記錄中經過認可,之後將更新作業的結果碼傳回給用戶端應用程式。發生系統當機時,Directory Server 會利用交易記錄回復資料庫。由於交易記錄有助於回復不正常關機的資料庫,因此請考慮將交易記錄與目錄資料庫儲存在不同磁碟子系統上。
交易記錄需要頻繁的磁碟作業,尤其在開啟持久性設定之後。因而可能成為更新效能的主要瓶頸。將交易記錄與資料庫分別儲存在不同的 RAID 系統 (如 Sun StorEdge 磁碟陣列),不僅可以保護資料完整性以防系統當機,而且有助於提高更新效能。表 8-7 針對特定屬性提供進一步的建議。
表 8-7    交易記錄的調整建議
組態項目 DN 與組態屬性
|
簡短說明與調整建議
|
dn:cn=config,cn=ldbm database,cn=plugins,cn=config
nsslapd-db-checkpoint-interval
|
指定 Directory Server 對交易記錄進行查核點作業的頻率、確定整個資料庫系統與磁碟同步以及清除交易記錄。
除非根據經驗法則,有必要採用不同數值才能使資料庫效能最佳化,否則請保留 60 (以秒為單位的預設間隔)。提高此屬性值可能會提升更新作業的效能,但也表示從不正常關機後回復的時間變得比較長,以及交易記錄將使用較多的磁碟空間。
|
dn:cn=config,cn=ldbm database,cn=plugins,cn=config
nsslapd-db-durable-transaction
|
指定更新作業是否要在磁碟上的交易記錄中經過認可,之後再將結果碼傳回給用戶端。
對於資料完整性要求較高的部署,請保留 on (預設值)。有些部署可停用持久的交易記錄,以提升效能。然而當交易記錄停用後,若記錄訊息已傳至檔案系統,但尚未寫入磁碟,此時發生系統當機將使此記錄訊息消失不見。這表示,若將持久的交易記錄設為 off,即使用戶端已收到更新成功的結果碼,有些更新仍可能無法回復。
|
dn:cn=config,cn=ldbm database,cn=plugins,cn=config
nsslapd-db-logdirectory
|
指定交易記錄的路徑與檔案名稱。
請考慮將交易記錄存放在專用的高速磁碟,或配備專用控制器的磁碟子系統上。
|
如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。