BigAdmin System Administration Portal
如何使用 Solaris 即時升級來升級具有非全域區域的 Solaris 10 作業系統
Print-friendly VersionPrint-friendly Version

Pallavi Madhusudhan、Arindam Sarkar,2007 年 11 月

此文說明如何使用 Solaris 即時升級來升級已安裝非全域區域的 Solaris 10 作業系統。


將 Solaris 即時升級用於非全域區域

「Solaris 即時升級」目前支援為具有非全域區域的 Solaris 10 作業系統進行升級。Solaris 10 8/07 版本包含「區域升級」功能,可提升 Solaris 平台升級機制,以完整支援所有在系統上配置的非全域區域。區域升級功能包含對非全域區域使用 Solaris 即時升級的支援。

Solaris 即時升級與基礎公用程式會將每個非全域區域視為個別的 Solaris 實例。全域區域會先進行升級,接著一次升級一個非全域區域。

注意 — 在執行任何安裝、升級或修補程序前,請先確實完整備份您的系統。


規劃 Solaris 即時升級

如果要升級的系統所執行的是 Solaris 10 8/07 版之前的 Solaris 10 作業系統版本,在升級之前,請先安裝 Solaris 即時升級套裝軟體與修補程式。Solaris 10 系統至少必須修補至 InfoDoc 72099 中所列的修補程式層級。根據 Solaris 10 系統的版本而定,您可能會發現其中有些修補程式原本即已安裝。

必要的套裝軟體

若要將系統升級至 Solaris 10 8/07 版,請從 Solaris 10 8/07 影像安裝 Solaris 即時升級套裝軟體。您必須要有新的套裝軟體 SUNWlucfg,才能進行升級。Solaris 即時升級套裝軟體包含現有的軟體、新功能與錯誤修正程式。若您在使用 Solaris 即時升級之前未移除現有的套裝軟體,而在系統上安裝新的套裝軟體,則在升級至目標版本時可能會產生問題。新套裝軟體提供現行系統上的套裝軟體中,所沒有的錯誤修正程式與功能。如需如何安裝套裝軟體的相關資訊,請參閱此文中的「如何安裝必要的套裝軟體」。

必要的修補程式

安裝套裝軟體後,請套用 InfoDoc 72099 中所列的修補程式,因為這是使用 Solaris 即時升級進行升級時的必要項目。若要將修補程式儲存在本機磁碟上,請建立 /var/tmp/lupatches 目錄,然後將修補程式下載至此目錄。

安裝修補程式前,請確定下列條件均已符合:

  • 以單一使用者模式安裝核心修補程式。

  • 依照修補程式讀我檔案的指定,以單一使用者模式安裝所有修補程式。

  • 所有區域皆處於已安裝狀態。

  • 所有區域路徑皆可供存取。若區域路徑位於不同的檔案系統上,檔案系統即無法以單一使用者模式掛載。掛載特定的檔案系統,或使用 mountall 指令。

InfoDoc 72099 中所列的某些修補程式為 Solaris 即時升級與區域特有的修補程式。下載並安裝這些修補程式,即可完成下列作業:

  • 將現有的升級軟體更新為可顧及區域,使軟體得以在可接受的效能層級下升級非全域區域

  • 更新 Solaris 即時升級軟體,使此軟體能夠完整管理非全域區域的升級

若要讓系統提升至必要的修補程式層級,以將作業系統升級至 Solaris 10 8/07 版,則必須使用 InfoDoc 72099 中所列的其餘修補程式。InfoDoc 72099 中所列的所有修補程式,屬於執行升級之必要修補程式的最低修訂版。使用者可安裝所列的修補程式修訂版或更新的修訂版,以進行升級。

Solaris 即時升級如何管理共用的檔案系統

Solaris 即時升級可辨識各啟動環境共用的檔案系統中,何時出現非全域區域。若您所升級的啟動環境與使用中的啟動環境共用某個檔案系統,則所有共用的檔案系統都將透過唯讀的 lofs 掛載進行掛載。如此可防止升級作業對共用相同檔案系統的使用中啟動環境造成破壞。

管理員對於啟動環境的存取權

使用 lucreate 建立啟動環境時,全域區域管理員對目前的啟動環境與所有非使用中的啟動環境皆有存取權。若有非全域區域存在,全域區域管理員亦可存取所有啟動環境。

但是,每位非全域區域管理員可以存取現行啟動環境中,含有此特定非全域區域之檔案系統的部分。若要讓非全域區域管理員存取非使用中啟動環境中的區域檔案系統空間,全域區域管理員應在全域區域中掛載非使用中的啟動環境。接著,全域區域管理員可透過 lumount(1M) 與 luumount(1M) 指令的延伸,將必要的檔案系統空間設為可供非全域區域管理員使用的空間。

如何安裝必要的套裝軟體

執行下列步驟,以安裝必要的 Solaris 即時升級套裝軟體。

  1. 使用 pkgrm 指令,移除現有的 Solaris 即時升級套裝軟體。

    SUNWlucfg、SUNWlur 與 SUNWluu 這三個 Solaris 即時升級套裝軟體,都包含使用 Solaris 即時升級進行升級時所需的軟體。這些套裝軟體包含現有的軟體、新功能與錯誤修正程式。移除系統上現有的套裝軟體,並安裝新的套裝軟體:

    # pkgrm SUNWlucfg SUNWluu SUNWlur

  2. 安裝 Solaris 即時升級套裝軟體。

    以下提供使用 liveupgrade20 指令安裝套裝軟體的步驟。liveupgrade20 指令需要 Java。若您的系統未安裝 Java,您就必須使用 pkgadd 指令個別安裝套裝軟體。

    1. 插入 Solaris DVD 或 CD。

      此媒體包含您要升級之發行版本的套裝軟體。

    2. 切換至安裝程式目錄。
      • 若您使用 Solaris 作業系統 DVD:

        • 若為 SPARC 型系統:

          #cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers

        • 若為 x86 型系統:

          # cd /cdrom/cdrom0/Solaris_10/Tools/Installers

      • 若您使用的是 Solaris Software - 2 CD,請執行安裝程式。

        % ./installer

    3. 執行安裝程式。

      # ./liveupgrade20 -noconsole - nodisplay

      -noconsole-nodisplay 選項會使字元使用者介面 (CUI) 無法顯示。

      注意 — Solaris 即時升級 CUI 已不受支援。

    4. 驗證套裝軟體是否已成功安裝。

      # pkgchk -v SUNWlucfg SUNWlur SUNWluu

如何安裝 Solaris 即時升級修補程式,以及使用 Solaris 即時升級進行系統升級

  1. 設定測試系統。

    建立並啟動分散與完整的 root 非全域區域,也就是 zone1zone2。如需如何建立並啟動非全域區域的相關指示,請參閱 System Administration Guide: Solaris Containers-Resource Management and Solaris Zones

  2. 安裝 InfoDoc 72099 中所列的修補程式。

    切換至 /var/tmp/lupatches 目錄,並以 InfoDoc 72099 中所列的相同順序安裝修補程式。

    #cd /var/tmp/lupatches
    #patchadd patch_id

    patch_id 為修補程式號碼。

  3. 為所有的非全域區域指定 UUID。

    為了確保所有非全域區域皆包含通用唯一識別碼 (UUID),請執行所有區域的 detachattachboot

    #zoneadm -z zone1 detach    	
    #zoneadm -z zone2 detach    	
    #zoneadm -z zone1 attach    	
    #zoneadm -z zone2 attach    	
    #zoneadm -z zone1 boot    	
    #zoneadm -z zone2 boot     	

    鍵入 zoneadm list -p 指令,以驗證所有區域皆有指定的 UUID。

    #zoneadm list -p    	
    0:global:running:/::native:shared    	
    16:zone1:running:/space/zone1:559ca0a2-d7c5-6a61-e64c-	  bec99bb0910c:native:shared    	
    17:zone2:running:/space/zone2:d3e6bc88-3533-6209-f25d-	  e811e334295a:native:shared    	
  4. 登入非全域區域至少一次。

    登入可確保區域是否已啟動並處於執行中狀態。登入各個區域後,請離開區域。

    #zlogin zone1    	
    #exit    	
    #zlogin zone2    	
    #exit    	
  5. 建立新的啟動環境。

    將使用中的啟動環境標示為 BE1,將新的啟動環境標示為 BE2。為新的啟動環境 BE2 建立兩個檔案系統。

    #lucreate -c BE1 -n BE2 -m /:/dev/dsk/c1t0d0s4:ufs  -m /space:/dev/dsk/c1t0d0s5:ufs
    -c BE1

    將名稱 BE1 指定給目前的使用中啟動環境。

    -n BE2

    指定新啟動環境的名稱。

    -m /:/dev/dsk/c1t0d0s4:ufs

    vfstab 中指定新啟動環境的檔案系統配置。在此根 (/) 檔案系統會位於 c1t0d0s4 上。

    -m /space:/dev/dsk/c1t0d0s5:ufs

    c1t0d0s5 上建立第二個檔案系統。區域根位於 /space 中。

  6. 啟動新的啟動環境。

    若要驗證新的啟動環境是否可啟動並執行,請鍵入 luactivate 指令。

    #luactivate BE2

    讓系統重新開機。

    #init 6
  7. 從新的啟動環境重新登入至區域。

    重新登入可確保區域可在新的啟動環境中運作。

    #zoneadm -z zone1 boot    	
    #zoneadm -z zone2 boot    	
    #zlogin zone1    	
    #exit    	
    #zlogin zone2    	
    #exit    	
  8. 復原為原始的啟動環境。
    #luactivate BE1
    #init 6
  9. 驗證區域在原始啟動環境中的狀態。

    確定區域處於執行中狀態。

    #zoneadm -z zone1 boot
    #zoneadm -z zone2 boot
    #zoneadm list -cv	
    ID NAME             STATUS     PATH                           BRAND    IP        	
    0 global           running    /                              native   shared    	
    1 zone1            running    /space/zone1                   native   shared    	
    2 zone2            running    /space/zone2                   native   shared    	
    
    #zoneadm list -p    	
    0:global:running:/::native:shared    	
    1:zone1:running:/space/zone1:559ca0a2-d7c5-6a61-e64c-	bec99bb0910c:native:shared    	
    2:zone2:running:/space/zone2:d3e6bc88-3533-6209-f25d-	e811e334295a:native:shared
  10. 升級新的啟動環境。

    #luupgrade -u -n new-BE -s solaris-image-path

    luupgrade -u

    升級啟動環境上的作業系統

    -n new-BE

    要升級之啟動環境的名稱

    -s solaris-image-path

    指定 Solaris 影像路徑

    例如:

    #luupgrade -u -n BE2 -s /net/ins3525-svr/export2/s10u4/dvds/latest
    
    159376 blocks
    miniroot file system is <lofs>
    Mounting miniroot at </net/ins3525-svr/export2/s10u4/dvds/latest/Solaris_10/Tools/Boot>
    Validating the contents of the media </net/ins3525-	svr/export2/s10u4/dvds/latest>.
    The media is a standard Solaris media.
    The media contains an operating system upgrade image.
    The media contains <Solaris> version <10>.
    Constructing upgrade profile to use.
    Locating the operating system upgrade program.
    Checking for existence of previously scheduled Live Upgrade requests.
    Creating upgrade profile for BE <BE2>.
    Determining packages to install or upgrade for BE <BE2>.
    Performing the operating system upgrade of the BE <BE2>.
    CAUTION: Interrupting this process may leave the boot environment unstable 
    or unbootable.
    Upgrading Solaris: 100% completed
    Installation of the packages from this media is complete.
    Updating package information on boot environment <BE2>.
    Package information successfully updated on boot environment <BE2>.
    Adding operating system patches to the BE <BE2>.
    The operating system patch installation is complete.
    INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot 
    environment <BE2> contains a log of the upgrade operation.
    INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot 
    environment <BE2> contains a log of cleanup operations required.
    WARNING: <1> packages failed to install properly on boot environment <BE2>.
    INFORMATION: The file </var/sadm/system/data/upgrade_failed_pkgadds> on
    boot environment <BE2> contains a list of packages that failed to upgrade 
    or install properly.
    INFORMATION: Review the files listed above. Remember that all of the files 
    are located on boot environment <BE2>. Before you activate boot 
    environment <BE2>, determine if any additional system maintenance is 
    required or if additional media of the software distribution must be 
    installed.
    The Solaris upgrade of the boot environment <BE2> is partially complete.
  11. (選擇性) 若要進行任何問題的疑難排解,請參考記錄檔。

    升級程序的輸出檔案與結果會存放在多個記錄檔中。這些檔案有助於判定您所遇到的問題,也有助於判定升級後是否必須進行清除作業。記錄檔會儲存在全域區域中,而全域區域管理員可存取這些記錄檔。下列範例說明含有某些項目的記錄檔範例:

    • /var/sadm/system/logs/upgrade_cleanup

    • /var/sadm/system/logs/upgrade_log

      全域區域之 upgrade_log 檔案中的項目範例如下:

      Doing pkgadd of SUNWcsu to /
      29329 blocks
      Doing pkgadd of SUNWcsu
      
      Installation of SUNWcsu was successful

      非全域區域之 upgrade_log 檔案中的項目範例如下:

      Doing pkgadd of SUNWcsu to /
      31722 blocks
      
      Installation of SUNWcsu was successful.
      Installation of SUNWcsu on zone <SUNWlu-zone1> was successful.
      Installation of SUNWcsu on zone <SUNWlu-zone2> was successful

      非全域區域之 upgrade_log 檔案中的失敗項目範例如下:

      Removal of SUNWgttf from zone <SUNWlu-zone1> failed.

    注意 — Solaris 即時升級與 VxVM 不相容。Solaris 即時升級應搭配 Solaris 磁碟區管理員使用。

  12. 確定新的啟動環境已成功升級。

    luupgrade 指令成功執行後,請啟動 BE2,並驗證所有區域均已正確升級。

    注意 — 請忽略主控台上的下列訊息。此為已知問題。

    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100083_1/  rpc_tcp:default in repository: entity not found
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100083_1/  rpc_tcp:default in repository: No such file or directory
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100068_2-5/   rpc_udp:default in repository: entity not found
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100068_2-5/  rpc_udp:default in repository: No such file or directory

何處可找到 Solaris 即時升級的更多資訊

表 1 Solaris 即時升級參考資料
說明
更多資訊
Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning 含有使用此工具所需瞭解的一切資訊。
如需修補 Solaris 即時升級的更多資訊:
Sun 在 Solaris 10 1/06 版中納入了全新的修補工具 — Sun Update Connection。此工具可分析您的系統,然後套用適當的修補程式。此工具集的 2006 年 9 月 1.0.8 版提供了各種可讓您使用 Solaris 即時升級的選項。
最佳修補方式 (Patching Best Practices) 網站提供了許多其他的常見問題集、文章以及修補 Solaris 作業系統的相關資訊。
支援站點
System Administration Guide: Solaris Containers-Resource Management and Solaris Zones 指南中含有 Solaris 區域的相關資訊。
討論區
Sun 訓練課程:
  • 轉換至 Solaris 10 作業系統 (VC-SA-210-S10)

  • 經驗豐富的 Solaris 系統管理員所適用的 Solaris 10 功能 (SA-225-S10)


Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub