Sun Java System Application Server 9.1 版本說明

高可用性

本節說明已知的高可用性資料庫 (HADB) 問題以及相關的解決方案。

具有雙網路的 HADB 配置 (無 ID)

在兩個子網路上配置為具有雙網路的 HADB,在 Solaris SPARC 上工作正常。然而,我們發現由於作業系統的問題或同一硬體平台上的網路驅動程式,Solaris x86 與 Linux 平台並不總能正確處理雙網路。這將引起 HADB 的以下問題:

HADB 資料庫建立失敗 (無 ID)

說明

建立新資料庫可能失敗並顯示以下錯誤,表示可用的共用記憶體區段不足:

HADB-E-21054:System resource is unavailable:HADB-S-05512:Attaching shared memory segment with key "xxxxx" failed, OS status=24 OS error message:Too many open files.

解決方案

驗證是否已配置共用記憶體,以及配置是否能夠正常工作。尤其,在 Solaris 8 上,檢視檔案 /etc/system,並檢查變數 shmsys:shminfo_shmseg 的值是否至少為每個主機上節點數目的六倍。

hadbm set 不會檢查資源可用性 (磁碟與記憶體空間) (5091280)

說明

當使用 hadbm set 增加裝置或緩衝區大小時,管理系統會在建立資料庫或增加節點時檢查資源可用性,但不會在裝置或主記憶體緩衝區大小變更時檢查是否有足夠的可用資源。

解決方案

增加任何 devicesizebuffersize 配置屬性之前,驗證所有的主機上是否有足夠的可用磁碟/記憶體空間。

不支援 packagepath 的不同路徑 (5091349)

說明

不可能在不同主機的不同位置使用相同名稱註冊同一套裝軟體,例如:


hadbm registerpackage test --packagepath=/var/install1 --hosts europa11
Package successfully registered.
hadbm registerpackage test --packagepath=/var/install2 --hosts europa12
hadbm:Error 22171: A software package has already been registered with 
the package name test.

解決方案

HADB 不支援資料庫叢集中跨節點的不同路徑。請確定 HADB 伺服器安裝目錄 (--packagepath) 在所有參與的主機上均相同。

createdomain 可能會失敗 (6173886、6253132)

說明

當在具有多個網路介面的主機上執行管理代理程式時,如果所有的網路介面不在同一子網路上,則 createdomain 指令可能失敗:


hadbm:Error 22020: The management agents could not establish a 
domain, please check that the hosts can communicate with UDP multicast.

管理代理程式將 (如果未另行配置) 使用「第一個」介面進行 UDP 多重播送 (java.net.NetworkInterface.getNetworkInterfaces() 結果所定義的「第一個」)。

解決方案

最佳解決方案是告訴管理代理程式要使用的子網路 (在配置檔案中設定 ma.server.mainternal.interfaces,例如 ma.server.mainternal.interfaces=10.11.100.0)。另一種方法是,將子網路間的路由器配置為路由多重播送資料封包 (管理代理程式使用多重播送位址 228.8.8.8)。

嘗試管理代理程式的新配置之前,您必須清除管理代理程式儲存庫。停止網域中的所有代理程式,並刪除儲存庫目錄 (由管理代理程式配置檔案中的 repository.dr.path 識別) 中的所有檔案和目錄。必須先在所有主機上完成此作業,方可使用新配置檔案重新啟動代理程式。

啟動、停止和重新配置 HADB 可能會失敗或當機 (6230792、6230415)

說明

在 Solaris 10 作業系統上,使用 hadbm 指令啟動、停止或重新配置 HADB 可能會失敗或當機,並顯示下列錯誤之一:


hadbm:Error 22009: The command issued had no progress in the last 
300 seconds.
HADB-E-21070: The operation did not complete within the time limit, 
but has not been cancelled and may complete at a later time.

當讀取/寫入 clu_noman_srv 程序使用的檔案 (nomandevice) 不一致時,可能發生此情況。可透過在 HADB 歷史檔案中尋找以下訊息來偵測此問題:


n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733 
does not respond.
n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Have not heard from it in 
104.537454 sec.
n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733 
did not start.

解決方案

由於無法手動再現此問題,因此下列的解決方法尚未經過驗證。但是,對受影響的節點執行此指令應該可以解決此問題。


hadbm restartnode --level=clear nodeno dbname

請注意,該節點的所有裝置均會被重新初始化。重新初始化之前,您可能必須停止節點。

管理代理程式終止,並顯示異常 "IPV6_MULTICAST_IF failed" (6232140)

說明

在安裝了數個 NIC 卡並執行 Solaris 8 的主機上啟動時,如果同時包含已啟用 IPv6 和 IPv4 的卡,則會終止管理代理程式,並顯示異常 "IPV6_MULTICAST_IF failed."

解決方案

將環境變數 JAVA_OPTIONS 設定為 -Djava.net.preferIPv4Stack=true,例如:


export JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

或者,使用 Solaris 9 或更高版本,其不會出現該問題。

clu_trans_srv 無法中斷 (6249685)

說明

在 64 位元版本的 Red Hat Enterprise Linux 3.0 中存在一個錯誤,可在執行非同步化 I/O 時導致 clu_trans_srv 程序在不可中斷模式中結束。這意味著強制結束 -9 不能解決問題,必須重新啟動作業系統。

解決方案

使用 32 位元版本的 Red Hat Enterprise Linux 3.0。

hadbm 不支援包含大寫字母的密碼 (6262824)

說明

將密碼儲存在 hadb 中時,密碼中的大寫字母會被轉換為小寫字母。

解決方案

不使用含有大寫字母的密碼。

從 HADB 版本 4.4.2.5 降級至 HADB 版本 4.4.1.7 會導致管理代理程式失敗,並顯示不同的錯誤代碼 (6265419)

說明

當降級至舊的 HADB 版本時,管理代理程式可能會失敗,並顯示不同錯誤代碼。

解決方案

雖然可以降級 HADB 資料庫,但是如果已變更了儲存庫物件,則管理代理程式可能無法降級。降級後,必須使用最新版的 HADB 中的管理代理程式。

安裝/移除與 symlink 保留 (6271063)

說明

關於安裝/移除 HADB c 套裝軟體 (Solaris:SUNWhadbc,Linux:sun-hadb-c) 版本 <m.n.u-p>symlink /opt/SUNWhadb/<m> 自建立後將永遠不會變更。因此,可能存在孤立的 symlink

解決方案

如果不使用,請在安裝之前或解除安裝之後刪除 symlink

全域區域和本機區域中的管理代理程式可能會衝突 (6273681)

說明

在 Solaris 10 上,使用 ma-initd 程序檔停止全域區域中的管理代理程式時,也會停止本機區域中的管理代理程式。

解決方案

不同時在全域區域和本機區域中安裝管理代理程式。

當階段作業物件在 MA 處逾時並刪除時,hadbm/ma 應該顯示更準確的錯誤訊息 (6275103)

說明

有時,伺服器上的資源競爭狀態問題可能會導致管理用戶端連線中斷。重新連線後,可能會傳回不正確的錯誤訊息 "hadbm:Error 22184:A password is required to connect to the management agent"

解決方案

有時,伺服器上的資源競爭狀態問題可能會導致管理用戶端連線中斷。重新連線後,可能會傳回不正確的錯誤訊息 "hadbm:Error 22184:A password is required to connect to the management agent"

檢查該伺服器上是否存在資源問題,並採取適當措施 (例如,增加更多資源),然後重試該作業。

非超級使用者不能管理 HADB (6275319)

說明

使用 Java Enterprise System (以超級使用者的身份) 安裝 HADB 後不允許非超級使用者管理 。

解決方案

始終以超級使用者身份登入以管理 HADB。

管理代理程式不應該使用特殊用途的介面 (6293912)

說明

不應將包含 0.0.0.0 之類 IP 位址的具有特殊用途的介面註冊為管理代理程式中的 HADB 節點所使用的有效介面。如果透過使用者使用主機名稱而非 IP 位址發出 hadbm create 指令,在此類介面上設定 HADB 節點,則註冊此類介面可能會導致問題發生。之後節點將無法通訊,並導致 create 指令掛機。

解決方案

當在包含多重介面的主機上使用 hadbm create 時,請始終使用 DDN 表示法明確指定 IP 位址。

在 Windows 上出現重新組合故障 (6291562)

說明

在 Windows 平台上,由於某些配置和負載,作業系統中可能會出現大量的重新組合故障。在具有多於二十個節點的配置平行執行數個表掃描 (select *) 時,曾發生此問題。此問題表現為作業事件頻繁中斷、修復或回復需較長時間才能完成,以及多種系統零件可能會頻繁逾時。

解決方案

若要修正此問題,可將 Windows 登錄變數 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 設定為大於預設值 100 的值。建議您將此值提高到 0x1000 (4096)。如需更多資訊,請參閱 Microsoft 支援頁面中的文章 811003

如果瀏覽器的另一個 Cookie 帶有 / 路徑,則無法維護階段作業狀態 (6553415)

說明

帶有「/」路徑的 Cookie 與在「/」以外的環境根目錄中部署的高可用性 Web 應用程式 (使用記憶體中複製做為其持續性類型) 之 Cookie 相衝突, 使得高可用性 Web 應用程式無法維護任何 HTTP 階段作業狀態。當使用同一個瀏覽器同時存取管理 GUI (在「/」中部署) 和高可用性 Web 應用程式時,通常會發生這種狀況。

解決方案

使用其他瀏覽器存取在「/」中部署的 Web 應用程式。

負載平衡程式無法與 IIS 6 配合使用;<appserver-install>/lib 下缺少 SASL32.DLLZLIB.DLL (6572184)

說明

負載平衡程式需要有 SASL32.DLLZLIB.DLL 檔案,才能與 Windows IIS 6 配合使用。<appsrver-install>/lib 下目前沒有這兩個檔案。

解決方案

將這兩個 DLL 檔案手動複製到 <appserver-install>/lib。可以從以下位置下載這兩個檔案︰


http://download.java.net/javaee5/external/<OS>/aslb/jars/aslb-9.1-MS4-b5.jar

其中 <OS> 表示所需的平台, 它可以是以下任何一個值︰

全域區域中存在 DAS 建立/啟動和 HA 套裝軟體傳遞問題 (6573511)

說明

在全域區域中透過高可用性套裝軟體安裝或解除安裝 Application Server 時,會出現兩個問題︰

  1. HA 套裝軟體會安裝在所有區域中 ,但執行者不一定希望如此。

  2. 當解除安裝時,所有區域的 HA、MQ、JDK 等套裝軟體也會遭到移除,執行者也不一定希望如此。

從本機根區域中執行安裝或解除安裝動作時,便不會出現此問題。

解決方案

從本機根區域而非全域區域執行安裝和解除安裝。

在「/」中部署的高可用性 Web 應用程式無法繼續記憶體中複製的 HTTP 階段作業 (問題追蹤代碼 2972)

說明

當「/」中部署的高可用性 Web 應用程式使用記憶體中複製做為其持續性類型時,它們無法維護任何 HTTP 階段作業。

解決方案

將使用記憶體中複製做為其持續性類型的高可用性 Web 應用程式部署到「/」以外的環境根目錄中。如果您要使此類 Web 應用程式位於「/」下,應該將其指定為部署了 Web 應用程式之虛擬伺服器的預設 Web 模組。

AS 負載平衡程式安裝程式未將 /usr/lib/mps 路徑置於 apachectl LD_LIBRARY_PATH 下,因此無法啟動 Apache SSL (6591878)

說明

在 Solaris 上安裝適用於 Apache 的 Application Server 負載平衡程式時,安裝程式將更新 apachectl 程序檔中的 LD_LIBRARY_PATH。但是,安裝程式不會正確地寫入 /usr/lib/mps 路徑。在 Solaris 上,如果此路徑不在 LD_LIBRARY_PATH 下,Apache 安全性實例便不會啟動。

解決方案

此問題只在 Solaris 平台上存在。若要解決此問題,請將 /opt/SUNWappserver/appserver/lib/lbplugin/lib 增加至 LD_LIBRARY_PATH

針對實例/叢集啟用/停用負載平衡程式應該顯示正確的狀態 (6595113)

說明

在 [叢集/實例] 一般頁面上,無論 domain.xml 中儲存何種內容,[啟用負載平衡] 按鈕始終處於啟用狀態。

解決方案

AS9.1 EE IFR b58f/JES5 UR1。無法安裝 Registry Server,因為偵測到「不完整」的 HA。(6602508)

說明

(僅適用於 Solaris) 在帶有 HADB 的 SPARC Solaris 10 上安裝 Application Server 9.1 之後,啟動 Application Server 並嘗試安裝帶有 Registry Server 的 JES 5 UR1 時可能顯示以下錯誤︰


Dependency Error:  Installation can not proceed because the version of HA
Session Store 4.4.3 detected on this host is incomplete , and a compatible
version is required by Servervice Registry Deployment Support.

解決方案

在 Solaris 機器上,不能使用 Application Server 9.1 IFR 從 JES 5 UR1 安裝 Registry Server。Registry Server 套裝軟體必須使用 pkgadd 指令從以下 JES5 UR1 發行目錄手動安裝︰


<path>/<OS>/Products/registry-svr/Packages

IE 6.0 瀏覽器特有的問題︰匯出負載平衡程式配置檔案丟出錯誤 (6516068)

說明

(僅適用於 Internet Explorer 6) 當嘗試從 Internet Explorer 6 匯出負載平衡程式配置檔案 (loadbalancer.xml) 時,瀏覽器顯示錯誤訊息,表示無法找到 sun-loadbalancer_1_2.dtd DTD 檔案。

解決方案

若要儲存該檔案,請使用以下解決方案︰

  1. 在 Internet Explorer 中的 [負載平衡程式] 頁面上,按一下 [匯出]

    將顯示「無法顯示 XML 頁面」訊息。

  2. 按一下錯誤訊框,然後在 Internet Explorer 中選擇 [檔案] -> [另存新檔]

  3. loadbalancer.xml 檔案儲存到您選擇的目錄。