BigAdmin System Administration Portal
在 Solaris 區域中安裝 Sun Java System Application Server 9.1
Print-friendly VersionPrint-friendly Version

本文將協助您瞭解如何在 Solaris 10 區域中安裝 Sun Java System Application Server 9.1。文中說明可能面臨的安裝和升級情況、相關限制,以及如何克服這些問題。

目錄

Sun Java System Application Server 9.1 是 Sun 支援的開放原始碼 GlassFish Version 2 應用程式伺服器發行軟體。本篇文章中將使用「應用程式伺服器」一詞來涵蓋二者,但必要時會將兩者區分。

在本文中,Solaris 和 Solaris 作業系統是指 Solaris 10 作業環境,除非另外說明。

若很需要集中式軟體管理和高穩定性,則 Solaris 區域很適合用來部署。在 Solaris 區域中安裝應用程式伺服器時,有一些特別的考量。

關於 Solaris 作業系統區域

Solaris 區域是 Solaris 作業系統內的已分割虛擬作業系統環境。每個區域就像是單部機器中完全孤立的虛擬伺服器。用於作業系統的資源管理功能時,區域是一個基本單位,又稱為 Solaris 容器

應用程式將區域視為獨立且安全的作業系統環境。因此,您可以將應用程式安裝在不同區域中,藉以隔開它們,但又能繼續集中管理特定的作業系統資源。

從支援多區域的作業系統的角度來看,作業系統資源包含各項資源,例如:程序管理、記憶體、網路配置、檔案系統、套裝軟體登錄、使用者帳號、共用程式庫,在某些情況下還包含已安裝的應用程式。

Solaris 作業系統中一定會定義一個區域:全域區域。全域區域就是傳統的作業系統環境,即 Solaris 作業系統安裝所在之處。全域區域可包含其他區域。全域區域所主控的區域也稱為非全域 區域,或簡稱區域。

您可以用很小的磁碟空間建立區域。這類區域叫做稀疏區域。或者,您也可以建立完整 Root 區域,該區域可複製整個作業系統。

下圖說明區域、全域區域、作業系統核心及基本硬體資源之間的關係。

Solaris 區域隔離應用程式
圖 1. Solaris 區域隔離應用程式
按一下這裡可放大影像
 

如需更詳盡的簡介,請參閱 OpenSolaris 區域與容器的常見問題集。如需詳細資訊,請參閱系統管理指南: Solaris 容器–資源管理與 Solaris 區域

關於應用程式伺服器

應用程式伺服器 (包含 Sun Java System Application Server 9.1 和 GlassFish Version 2) 可以原始碼形式和二進位碼形式下載取得。二進位碼也有以原生套裝軟體格式發行 (在 Linux 作業系統上為 RPM 套裝模組,而在 Solaris 作業系統上為 SVR4 套裝模組)。本文內容只涵蓋原生 Solaris 套裝軟體型二進位碼的安裝,並且是透過可下載的獨立套裝軟體型安裝程式來安裝。您可以將檔案型安裝程式 (通常為 zip 格式) 安裝在任何地方 (只要安裝於可寫入的目錄中),無區域支援功能的任何限制。

以下安裝選項說明在 Solaris 區域中安裝或升級應用程式伺服器時,可能遇到的混淆原因。

  • Solaris 10 作業系統隨附的應用程式伺服器 – Solaris 10 作業系統隨附 Sun Java System Application Server 8.x 版,且安裝在 /usr/appserver 之下。

  • Solaris 10 作業系統隨附的 Sun Java System Message Queue – Solaris 10 作業系統隨附 Sun Java System Message Queue (此後簡稱訊息佇列) 3.7 版更新版本 1,且安裝在 /usr 之下。

  • Java Enterprise System (Java ES) 的預先安裝版本 – 舊版的 Java ES 套裝軟體可安裝在任何區域中。在此情況下,Java ES 安裝程式會自動處理由先前 Java ES 安裝程式所安裝的應用程式伺服器和訊息佇列的版本升級。但請注意,訊息佇列只能在全域區域和完整 Root 區域中升級,在稀疏區域中則不行。

  • 區分 SVR4 套裝軟體傳遞層級 – 在各區域中傳遞應用程式伺服器套裝軟體和相關元件的方式,會根據其安裝方式而有所不同。例如,

    • 以 Solaris 隨附的應用程式伺服器為例,是將套裝軟體設定為傳遞到所有區域。因此,移除全域區域內的套裝軟體也會移除其在稀疏區域中的參照。

    • 由 Java ES 安裝程式升級 Solaris 隨附的應用程式伺服器套裝軟體時,會將其傳遞層級重設為僅限「全域區域」。

    • 應用程式伺服器安裝程式也帶著一組共用元件:Sun Java System Message Queue 4.1、High-Availability Database 4.4.3-6 (HADB)、JDK 5 Update 12。應用程式伺服器安裝程式在全域區域和完整 Root 區域中偵測到舊版元件時,會自動予以升級。HADB 可以在稀疏區域中升級。

    • 應用程式伺服器和 HADB 套裝軟體是 Sun Java System Application Server 9.1 的一部份,安裝於全域區域時,並不會傳遞到其他區域。因此您可以在非全域區域中安裝多個版本的應用程式伺服器,而不會與安裝在全域區域的版本相衝突。

    • 相反地,應用程式伺服器安裝於全域區域時,共用元件和訊息佇列套裝軟體一定會傳遞到所有區域。

下列各節探討現有應用程式伺服器區域安裝的類型,以及對新安裝的影響。

在全域區域中安裝應用程式伺服器之前,安裝環境必須符合下列其中一個條件:

  1. 在全域區域中已安裝 Solaris 隨附的應用程式伺服器版本。

  2. 已安裝 Java ES 軟體。

  3. 並未安裝隨附的應用程式伺服器,也未安裝舊版的 Java ES。環境很「乾淨」,沒有安裝過應用程式伺服器。

很顯然地,如果環境很乾淨 (上述的第 3 種情況),即可直接使用應用程式伺服器安裝程式進行安裝,不會有任何不良或無法預期的後果。我們現在探討前兩種情況以及其影響。

在全域區域中安裝了 Solaris 隨附的應用程式伺服器

若要判斷全域區域中是否有隨附的應用程式伺服器,則必須採取下列步驟。

  1. 尋找系統中的應用程式伺服器 SVR4 套裝軟體。 您可以在線上 Sun 作業系統套裝軟體清單中,尋找安裝 Solaris 10 時一起安裝的應用程式伺服器套裝軟體正式清單。

    從這份清單中,找出下列應用程式伺服器套裝軟體:SUNWasacSUNWascmnSUNWasdbSUNWasdemSUNWasdemdbSUNWasjdocSUNWasmanSUNWasrSUNWasuSUNWasut。如果擁有 Solaris 10 Update 3 或更高版本,則同時也擁有 SUNWasjavadb 套裝軟體 (僅適用於應用程式伺服器的 Java DB 私有版本)。

  2. 尋找並驗證隨附之應用程式伺服器的安裝目錄內容。Solaris 10 隨附的應用程式伺服器版本一定安裝於 /usr/appserver 之下。若要判斷應用程式伺服器的版本,請執行指令 /usr/appserver/bin/asadmin version -v。這個指令執行路徑可確保您所尋找的不是安裝在 /usr/appserver 下的 Java ES。記下版本編號。在考慮如何執行後續安裝時,這個編號十分有用。

  3. 檢查由 Solaris 隨附之應用程式伺服器建立的預設網域是否存在且正在使用中。如果網域為使用中狀態,但您不知道其位置,請使用下列程序檢查應用程式伺服器整個產品的配置檔 asenv.conf,找出網域位置。找出檔案的路徑,做法如下:

    1. 在編輯器中檢視檔案 /usr/appserver/bin/asadmin 的內容,並搜尋字串 asenv.confasadmin 檔案中含有此字串的這行會顯示 asenv.conf 檔案的絕對路徑。

    2. 找到 asenv.conf 檔案後加以開啟,找出安裝的預設網域位置。AS_DEF_DOMAINS_PATH 記號含有 domains 根目錄的值,而該目錄為預設網域和新建網域的所在位置。請注意,您可以用置換選項 --domaindir 變更這個路徑。

如果您發現系統上已安裝隨附的應用程式伺服器版本,此時必須針對進一步的安裝和升級考慮以下影響。

  • 如果系統的全域區域中有隨附的應用程式伺服器版本,則您必須瞭解一點,即安裝於全域區域中的應用程式伺服器和訊息佇列套裝軟體是預設為傳遞至其他區域。如果想要使用稀疏區域,而每個區域可能有個別的應用程式伺服器,則必須解除安裝應用程式伺服器的全域區域安裝。若要解除安裝,請移除上述 Sun 作業系統套裝軟體清單中列出的所有 SVR4 套裝軟體。

  • 如果您不打算使用個別安裝應用程式伺服器的稀疏區域,就不需要移除 SVR4 套裝軟體。

將全域區域中的應用程式伺服器解除安裝後,即可在新目錄中安裝應用程式伺服器,也可以升級現有的安裝目錄並覆寫必要的檔案。如果您選擇使用現有的目錄並覆寫先前的版本,請選取 /usr 做為安裝目錄。appserver 會自動附加到安裝路徑上。

備註: 如果隨附的應用程式伺服器版本正在使用中且具有使用中的網域,請小心不要將二進位碼安裝在 /usr 之下,因為安裝作業也會覆寫預設的網域目錄。在此種情況下,請指定其他的安裝目錄。安裝後,利用升級工具 (位於 InstallDir/bin/asupgrade) 將應用程式從舊網域移到新安裝的網域中。這個工具會隨著應用程式伺服器一起安裝。如需詳細資訊,請參閱 Sun Java System Application Server 9.1 升級與遷移指南

 

將應用程式伺服器安裝於全域區域中 /usr 目錄下的好處,是對於其他稀疏區域 (掛載為唯讀項目) 是可見的,所以可使用應用程式伺服器二進位碼在稀疏區域中建立網域。請注意,不論應用程式伺服器要將檔案 (網域、資料庫記錄檔、特性檔等等) 寫入何處,都必須將其導向可寫入的目錄。您可以在呼叫 asadmin 指令時指定目錄。例如,以下指令會在 writable_dir/domains 中建立管理網域,而該目錄就是應用程式伺服器具有寫入權限的目錄:

asadmin create-domain --domaindir writable_dir/domains
 

同樣地,以下指令會啟動 Java DB 伺服器,並指定 writable_dir 作為儲存 derby.log 檔案和其他資料庫檔案的目錄:

asadmin start-database --dbhome writable_dir
 

如需 asadmin 公用程式指令的說明,請鍵入 asadmin,然後在 asadmin> 提示後鍵入 help。另請參閱 Sun Java System Application Server 9.1 管理指南,以取得所有可用管理指令與其選項的清單。

已安裝 Java ES 軟體

安裝 Sun Java System Application Server 9.1 和 Java ES 時建立的預設網域目錄位置不同。Java ES 的預設位置是 /var/opt/SUNWappserver/domains。不同於 Java ES 安裝程式,應用程式伺服器安裝程式不會讓您選擇網域根目錄,而網域一律建立在安裝期間所選擇的安裝目錄下。因此,除非在安裝 Java ES 時明確將網域根目錄和安裝根目錄設為同一個目錄,否則不必擔心會覆寫 domains 目錄。

Sun Java System Application Server 9.1 安裝程式只支援從 Java ES 5 Update 1 升級。如果您的 Java ES 版本較舊,先將其升級為 Java ES 5 Update 1,再執行 Sun Java System Application Server 9.1 安裝程式。

Java ES 5 Update 1 隨附並且安裝 Sun Java System Application Server 8.2 Update 1 Enterprise Edition。這個版本和 Sun Java System Application Server 9.1 帶有相同的 SVR4 套裝軟體名稱。因此,不可能在同一部機器上安裝這兩個不同的版本。因為每個安裝程式的預設網域目錄不同,請將升級分成下列階段:

  1. 升級二進位碼,做法是移除現有的應用程式伺服器套裝軟體 (Java ES 5 Update 1 安裝的一部份)。然後,在您選擇的目錄下安裝 Sun Java System Application Server 9.1 套裝軟體。這個程序會透過 Sun Java System Application Server 9.1 安裝程式自動進行。

  2. 二進位碼升級後,執行 Sun Java System Application Server 9.1 的升級精靈。您可以從新安裝 Application Server 的位置,使用 bin/asupgrade 指令來啟動這個工具。在升級精靈中,指定 Java ES 5 Update 1 網域目錄作為 [來源網域目錄],指定 Sun Java System Application Server 9.1 網域目錄作為 [目標網域根目錄]。

如需詳細資訊,請參閱 Sun Java System Application Server 9.1 升級與遷移指南

從區域的觀點來看,當您將應用程式伺服器升級為 Sun Java System Application Server 9.1 時,必須留意透過 Java ES 5 Update 1 安裝的套裝軟體,並沒有改變其傳遞層級。

全域區域中的單一安裝必須由組織內所有使用者共用時,就會使用稀疏區域進行部署。建立稀疏區域的成本不高。使用稀疏區域的優點之一,就是從全域區域修補此安裝時,所有的稀疏區域都是可見的。

因為有下述的影響,所以安裝到稀疏區域比安裝到全域區域困難許多。

在全域區域中安裝了 Solaris 隨附的應用程式伺服器

若要判斷全域區域中是否有隨附的應用程式伺服器,請採取下列步驟。

  1. 尋找系統中的應用程式伺服器 SVR4 套裝軟體。 您可以在線上 Sun 作業系統套裝軟體清單中,尋找安裝 Solaris 10 時一起安裝的應用程式伺服器套裝軟體正式清單。

    從這份清單中,找出下列應用程式伺服器套裝軟體:SUNWasacSUNWascmnSUNWasdbSUNWasdemSUNWasdemdbSUNWasjdocSUNWasmanSUNWasrSUNWasuSUNWasut。如果擁有 Solaris 10 Update 3 或更高版本,則同時也擁有 SUNWasjavadb 套裝軟體 (僅適用於應用程式伺服器的 Java DB 私有版本)。

  2. 尋找並驗證隨附之應用程式伺服器的安裝目錄內容。 Solaris 10 隨附的應用程式伺服器版本一定安裝於 /usr/appserver 之下。若要判斷應用程式伺服器的版本,請執行指令 /usr/appserver/bin/asadmin version -v。這個指令執行路徑可確保您所尋找的是 Solaris 隨附的應用程式伺服器版本,而不是 Java ES 隨附而安裝在 /usr/appserver 下的版本。

  3. 檢查由 Solaris 隨附之應用程式伺服器建立的預設網域是否存在且正在使用中。如果網域為使用中狀態,但您不知道其位置,請遵循下列程序進行尋找:

    1. 在編輯器中檢視檔案 /usr/appserver/bin/asadmin 的內容。

    2. asadmin 檔案中搜尋字串 asenv.conf。含有此字串的這行會顯示 asenv.conf 檔案的絕對路徑。

    3. 開啟 asenv.conf 檔,找出安裝的預設網域位置。AS_DEF_DOMAINS_PATH 記號含有 domains 根目錄的值,而該目錄為預設網域和新建網域的所在位置。注意,您可以用置換選項 --domaindir 變更這個路徑 c

確認全域區域中仍有隨附的應用程式伺服器版本存在後,將其解除安裝,做法是將步驟 1 所列的套裝軟體全部移除。然後,使用 pkgrm 指令檢查及刪除全域區域中 /usr/appserver 目錄的內容。

注意,移除全域區域內應用程式伺服器的動作會傳遞到稀疏區域,因為隨附的應用程式伺服器版本具有預設為要傳遞到所有區域的套裝軟體。

在全域區域中安裝了 Solaris 隨附的訊息佇列

和 Solaris 隨附的應用程式伺服器一樣,訊息佇列套裝軟體也會安裝在全域區域的 /usr 目錄下,因此無法從稀疏區域予以覆寫。訊息佇列套裝軟體無法遷移,永遠會安裝在 /usr 之下,而這是稀疏區域中的唯讀掛載點。

因此,在稀疏區域中安裝應用程式伺服器二進位碼前,請使用應用程式伺服器安裝程式將訊息佇列安裝在全域區域中。

您可以使用下列其中一種方法,在全域區域中安裝或升級訊息佇列。如果找到舊版,任一種方法都可以確保將套裝軟體升級。

  1. 您無法在應用程式伺服器安裝中明確選取訊息佇列元件。這些元件會隱藏起來,而在您安裝其他元件時會自動予以選取或取消選取,以便進行安裝。當您選取應用程式伺服器的任何可安裝元件時,一律會選取訊息佇列元件。例如,執行 Sun Java System Application Server 9.1 安裝程式,然後選取 [應用程式範例],將 Message Queue 4.1 安裝為應用程式伺服器安裝的一部份。

  2. 或者,使用瀏覽器瀏覽到開啟訊息佇列下載網頁,按一下「最新 Open MQ 4.1 GUI 安裝下載」下的適當 Solaris 連結,然後安裝 Message Queue 4.1 SVR4 套裝軟體。
Java ES 在全域區域中安裝了應用程式伺服器

如果全域區域內有連同 Java ES 一起安裝的應用程式伺服器,則安裝在全域區域中的共用元件和訊息佇列將傳遞至稀疏區域,但應用程式伺服器則不會。

若要在稀疏區域中安裝應用程式伺服器:

  1. 在稀疏區域中進行安裝之前,請先執行下列預備步驟:

    1. 在全域區域中執行 Sun Java System Application Server 9.1 安裝程式。

    2. 在安裝程式中選取 HADB 或 [應用程式範例]。

    3. 選擇安裝 JDK,然後升級所有的元件。

  2. 在稀疏區域中安裝應用程式伺服器。
Java ES 在稀疏區域中安裝了應用程式伺服器

若要在稀疏區域中升級 Java ES 安裝的應用程式伺服器:

  1. 在全域區域中執行 Sun Java System Application Server 9.1 安裝程式。

    1. 在安裝程式中選取 HADB 或 [應用程式範例]。

    2. 選擇安裝 JDK,然後升級所有的元件。

  2. 在稀疏區域中執行 Sun Java System Application Server 9.1 安裝程式,即可在稀疏區域中將 Java ES 安裝升級。

  3. 二進位碼升級後,執行 Sun Java System Application Server 9.1 的升級精靈。您可以從新安裝應用程式伺服器的位置,使用 bin/asupgrade 指令來啟動這個工具。如需詳細資訊,請參閱 Sun Java System Application Server 9.1 升級與遷移指南
Sun Java System Application Server 9.1 安裝程式在全域區域中安裝了應用程式伺服器

如果應用程式伺服器安裝程式在全域區域內安裝了應用程式伺服器,則可以將不同版本的應用程式伺服器安裝在稀疏區域中,因為應用程式伺服器套裝軟體不會傳遞到稀疏區域。

完整 Root 區域中有從全域區域複製而來的套裝軟體,這些套裝軟體都可加以傳遞。完整 Root 區域提高了配置的彈性,因為其套裝軟體雖然是從全域區域複製而來,但可以在本機進行修補。

在完整 Root 區域中安裝應用程式伺服器要比在其他區域進行安裝容易得多。不論其他區域 (包括全域區域和稀疏區域) 中有哪些套裝軟體,都可以安裝應用程式伺服器的所有元件 (包括共用元件、訊息佇列和 HADB)。

Solaris 區域效果極佳而且有多種用途,但會使應用程式伺服器安裝變得複雜。將 Sun Java System Application Server 9.1 或 GlassFish Version 2 安裝到某個區域時,必須考慮許多會影響全域和非全域區域間傳遞和優先順序的因素。

BigAdmin