Solaris 10 5/09 安裝指南:Solaris Live Upgrade 與升級規劃

第 9 章 Solaris Live Upgrade (範例)

本章提供建立啟動環境,然後升級和啟動成為目前執行系統之新啟動環境的相關範例。


備註 –

本章說明適用於 UFS 檔案系統的 Solaris Live Upgrade。如需有關遷移 UFS 檔案系統至 ZFS 根池,或建立及安裝 ZFS 根池的程序,請參閱第 13 章為 ZFS 根池建立啟動環境


本章包含下列小節:

使用 Solaris Live Upgrade 的升級範例

在此範例中,會使用執行 Solaris 9 發行版本之系統的 lucreate 指令建立新啟動環境。使用 luupgrade 指令將新啟動環境升級到 Solaris 10 5/09 發行版本。將使用 luactivate 指令啟動升級後的啟動環境。並提供返回至原始啟動環境的範例。

準備使用 Solaris Live Upgrade

第一次執行 Solaris Live Upgrade 之前,您必須從安裝媒體安裝最新的 Solaris Live Upgrade 套裝軟體,並安裝 SunSolve 資訊文件 206844 中所列的修補程式。在 SunSolve 網站上搜尋資訊文件 206844 (以前為 72099)。

最新的套裝軟體和修補程式可確保您有此發行版本中的所有最新錯誤修正程式和新功能。在繼續建立新啟動環境之前,請確定您已安裝與您系統相關的所有修補程式。

下列步驟說明 SunSolve 資訊文件 206844 中的步驟。


備註 –

本程序假定系統正在執行磁碟區管理程式。如需有關使用磁碟區管理程式來管理可移除媒體的詳細資訊,請參閱「System Administration Guide: Devices and File Systems」


  1. 成為超級使用者,或者假定一個對等身份。

  2. 從 SunSolve 網站,遵循資訊文件 206844 中的說明,移除和新增 Solaris Live Upgrade 套裝軟體。

    1. 移除現有的 Solaris Live Upgrade 套裝軟體。

      三種 Solaris Live Upgrade 套裝軟體 SUNWluuSUNWlurSUNWlucfg 組成了使用 Solaris Live Upgrade 進行升級或修補所需的軟體。這些套裝軟體包含現有軟體、新功能和錯誤修正。若您在使用 Solaris Live Upgrade 前未移除現有套裝軟體並在系統上安裝新套裝軟體,則升級或修補至目標發行版本時會失敗。從 Solaris 10 8/07 發行版本開始,會新增 SUMWlucfg 套裝軟體。如果您是使用 Solaris 10 8/07 之前發行版本的 Solaris Live Upgrade 套裝軟體,並不需要移除此套裝軟體。


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    2. 安裝新的 Solaris Live Upgrade 套裝軟體。

      您可以使用安裝 DVD 或 CD 上的 liveupgrade20 指令,或使用 pkgadd 指令來安裝套裝軟體。使用 liveupgrade20 指令需要 Java 軟體。如果您的系統沒有安裝 Java 軟體,則必須使用 pkgadd 指令來安裝套裝軟體。如需更多資訊,請參閱 SunSolve 資訊文件。

      • 如果要使用 Solaris Operating System DVD,請變更目錄並執行安裝程式:

        • 變更目錄。


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

          備註 –

          對於基於 SPARC 的系統,安裝程式的路徑與 Solaris 10 10/08 之前發行版本的不同:


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

        • 執行安裝程式


          # ./liveupgrade20  -noconsole - nodisplay
          

          -noconsole-nodisplay 選項會阻止文字使用者介面 (CUI) 顯示。


          備註 –

          不再支援 Solaris Live Upgrade CUI。


      • 如果要使用 Solaris Software – 2 CD,您可以在不變更路徑的情況下執行安裝程式。


        % ./installer
        
      • 驗證已成功安裝套裝軟體。


        # pkgchk -v SUNWlucfg SUNWlur SUNWluu
        
  3. 安裝資訊文件 206844 中所列的修補程式。

    1. 如果您要在本機磁碟上儲存修補程式,請建立目錄,例如 /var/tmp/lupatches

    2. 請從 SunSolve 網站取得修補程式清單。

    3. 變更至修補程式目錄,如下列範例所示。


      # cd /var/tmp/lupatches
      
    4. 安裝修補程式。


      # patchadd -M  path-to-patchespatch-id  patch-id
      

      path-to-patches 為修補程式目錄的路徑,例如 /var/tmp/lupatchespatch-id 為修補程式編號。請以空格分隔多個修補程式名稱。


      備註 –

      您必須依照資訊文件 206844 中指定的順序套用修補程式。


    5. 如有必要,請重新啟動系統。部分修補程式需要重新啟動後才會生效。

      僅限 x86:需要重新啟動系統。否則,Solaris Live Upgrade 會失敗。


      # init 6
      

      您現在已經有成功建立新啟動環境所需的套裝軟體和修補程式。

建立啟動環境

使用 -c 選項,將來源啟動環境命名為 c0t4d0s0。僅當建立第一個啟動環境時,才需要命名來源啟動環境。如需有關使用 -c 選項命名的更多資訊,請參閱「首次建立啟動環境」步驟 2 中的說明。

新的啟動環境名稱為 c0t15d0s0-A 選項會建立與啟動環境名稱關聯的一段描述。

根 (/) 檔案系統會複製到新的啟動環境。另外,系統會建立新的交換磁碟片段,而不是共用來源啟動環境的交換磁碟片段。


# lucreate -A 'BE_description' -c /dev/dsk/c0t4d0s0 -m /:/dev/dsk/c0t15d0s0:ufs\
-m -:/dev/dsk/c0t15d0s1:swap -n /dev/dsk/c0t15d0s0

升級非使用中的啟動環境

非使用中啟動環境將命名為 c0t15d0s0。升級時要使用的作業系統影像取自網路。


# luupgrade -n c0t15d0s0 -u -s /net/ins-svr/export/Solaris_10 \ 
combined.solaris_wos

檢查啟動環境是否可啟動

lustatus 會報告是否已建立啟動環境。lustatus 指令也將顯示啟動環境是否可以啟動。


# lustatus
boot environment   Is        Active  Active     Can	    Copy
Name               Complete  Now	 OnReboot   Delete	 Status
------------------------------------------------------------------------
c0t4d0s0           yes       yes      yes      no      -
c0t15d0s0          yes       no       no       yes     -

啟動非使用中啟動環境

c0t15d0s0 啟動環境已使用 luactivate 指令成為可啟動環境。然後,系統重新啟動,c0t15d0s0 變為使用中啟動環境。c0t4d0s0 啟動環境現在是非使用中狀態。


# luactivate c0t15d0s0
# init 6

(可選擇) 轉至備用來源啟動環境

依據新啟動環境的啟動狀況,存在下列備用程序:


範例 9–1 SPARC: 在成功建立啟動環境的情況下轉至備用環境

在此範例中,儘管原始的 c0t4d0s0 啟動環境已成功啟動,但它仍會復原成使用中啟動環境。裝置名稱是 first_disk


# /sbin/luactivate first_disk 
# init 6


範例 9–2 SPARC: 從失敗的啟動環境啟動中轉至備用環境

在此範例中,新的啟動環境無法啟動,在從原始啟動環境 (c0t4d0s0) 啟動之前,您必須以單一使用者模式返回至 OK 提示符號。


OK boot net -s
# /sbin/luactivate first_disk
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# init 6

原始啟動環境即 c0t4d0s0 將成為使用中啟動環境。



範例 9–3 SPARC: 使用 DVD、CD 或網路安裝影像轉至備用原始啟動環境

在此範例中,新的啟動環境無法啟動,並且您無法從原始啟動環境啟動,必須使用媒體或網路安裝影像進行啟動。裝置是 /dev/dsk/c0t4d0s0。原始啟動環境即 c0t4d0s0 將成為使用中啟動環境。


OK boot net -s
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# umount /mnt 
# init 6


範例 9–4 x86: 使用 GRUB 功能表轉至備用原始啟動環境

從 Solaris 10 1/06 發行版本開始,下列範例提供藉由使用 GRUB 功能表轉至備用環境的步驟。

在此範例中,GRUB 功能表會正確顯示,但是不會啟動新的啟動環境。若要啟用備用環境,請以單一使用者模式啟動原始啟動環境。

  1. 成為超級使用者,或者假定一個對等身份。

  2. 若要顯示 GRUB 功能表,請重新啟動系統。


    # init 6
    

    會顯示 GRUB 功能表。


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris                                                            |
    |Solaris failsafe                                                   |
    |second_disk                                                        |
    |second_disk failsafe                                               |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  3. 請從 GRUB 功能表選取原始啟動環境。啟動環境必須已使用 GRUB 軟體建立。Solaris 10 1/06 發行版本之前版本建立的啟動環境,不是 GRUB 啟動環境。若您沒有可啟動的 GRUB 啟動環境,請跳至範例 9–5

  4. 鍵入下列項目來編輯 GRUB 功能表: e

  5. 使用箭頭鍵選取 kernel /boot/multiboot,然後鍵入 e。如此會顯示 GRUB 編輯功能表。


    grub edit>kernel /boot/multiboot
  6. 鍵入 -s 以啟動為單一使用者模式。


    grub edit>kernel /boot/multiboot -s
    
  7. 啟動與掛載啟動環境。然後加以啟動。


# b
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0
(yes or no)? yes
# umount /mnt
# init 6


範例 9–5 x86: 使用 DVD 或 CD 以 GRUB 功能表轉至備用原始啟動環境

從 Solaris 10 1/06 發行版本開始,下列範例提供使用 DVD 或 CD 轉至備用環境的步驟。

在此範例中,新的啟動環境無法啟動,此外,不會顯示 GRUB 功能表。若要啟用備用環境,請以單一使用者模式啟動原始啟動環境。

  1. 請插入 Solaris Operating System for x86 Platforms DVD 或 Solaris Software for x86 Platforms - 1 CD。

  2. 成為超級使用者,或者假定一個對等身份。

  3. 從 DVD 或 CD 啟動。


    # init 6
    

    會顯示 GRUB 功能表。


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris 10 5/09                                                    |
    |Solaris 10 5/09 Serial Console ttya                                |
    |Solaris 10 5/09 Serial Console ttyb (for lx50, v60x and v65x       |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  4. 等待啟動預設選項,或選擇顯示的任何選項。

    會顯示安裝畫面。


    +-------------------------------------------------------------------+
    
    |Select the type of installation you want to perform:                |
    |                                                                    |
    |         1 Solaris Interactive                                      |
    |         2 Custom JumpStart                                         |
    |         3 Solaris Interactive Text (Desktop session)               |
    |         4 Solaris Interactive Text (Console session)               |
    |         5 Apply driver updates                                     |
    |         6 Single user shell                                        |
    |                                                                    |
    |        Enter the number of your choice followed by the <ENTER> key.|
    |        Alternatively, enter custom boot arguments directly.        |
    |
    |         If you wait 30 seconds without typing anything,            |
    |         an interactive installation will be started.               |
    +----------------------------------------------------------------- --+
  5. 選擇 [Single user shell] (單一使用者 shell) 選項。

    會顯示下列訊息。


    Do you wish to automatically update the boot archive? y /n
  6. 鍵入: n


    Starting shell...
    #

    您現在處於單一使用者模式。

  7. 掛載啟動環境。然後啟動並重新啟動。


    # fsck /dev/dsk/c0t4d0s0
    # mount /dev/dsk/c0t4d0s0 /mnt 
    # /mnt/sbin/luactivate
    Do you want to fallback to activate boot environment c0t4d0s0
    (yes or no)? yes
    # umount /mnt
    # init 6
    

分離與升級單邊 RAID-1 磁碟區 (鏡像) 的範例

此範例顯示如何執行下列作業:

圖 9–1 顯示目前的啟動環境,其中包含三個實體磁碟。

圖 9–1 分離與升級單邊 RAID-1 磁碟區 (鏡像)

上下文說明圖例。

  1. 建立一個新啟動環境,second_disk,該環境包含一個鏡像。

    下面的指令將執行這些作業。

    • lucreate 可為掛載點根 (/) 配置 UFS 檔案系統。將建立鏡像 d10。此鏡像包含已複製到鏡像 d10 的目前啟動環境的根 (/) 檔案系統。將覆寫鏡像 d10 上的所有資料。

    • 指定兩個磁碟片段 c0t1d0s0c0t2d0s0 做為子鏡像。這兩個子鏡像將附加到鏡像 d10 上。


    # lucreate -c first_disk -n second_disk \ 
    -m /:/dev/md/dsk/d10:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:attach \ 
    -m /:/dev/dsk/c0t2d0s0:attach
    
  2. 啟動 second_disk 啟動環境。


    # /sbin/luactivate second_disk
    # init 6
    
  3. 建立另一個啟動環境 third_disk

    下面的指令將執行這些作業。

    • lucreate 可為掛載點根 (/) 配置 UFS 檔案系統。將建立鏡像 d20

    • 磁碟片段 c0t1d0s0 將從目前的鏡像中移除,並附加到鏡像 d20 上。不會複製子鏡像的內容,即根 (/) 檔案系統。


    # lucreate -n third_disk \ 
    -m /:/dev/md/dsk/d20:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:detach,attach,preserve
    
  4. 升級新啟動環境 third_disk


    # luupgrade -u -n third_disk \ 
    -s /net/installmachine/export/Solaris_10/OS_image
    
  5. 將修補程式增加至已升級的啟動環境。


    # luupgrade -t n third_disk -s /net/patches 222222-01
    
  6. 啟動 third_disk 啟動環境,使之成為目前的執行系統。


    # /sbin/luactivate third_disk
    # init 6
    
  7. 刪除啟動環境 second_disk


    # ludelete second_disk
    
  8. 下面的指令將執行這些作業。

    • 清除鏡像 d10

    • 檢查 c0t2d0s0 串連的編號。

    • 透過 metastat 指令找到串連,並將該串連附加到鏡像 d20 上。metattach 指令將使新附加的串連和 d20 鏡像中的串連同步。將覆寫串連上的所有資料。


    # metaclear d10 
    # metastat -p | grep c0t2d0s0
    dnum 1 1 c0t2d0s0
    # metattach d20 dnum
    
    num

    是在 metastat 指令中找到的串連編號

新啟動環境 third_disk 已經過升級並是目前的執行系統。third_disk 包含被鏡像的根 (/) 檔案系統。

圖 9–2 顯示使用之前範例中的指令,來分離和升級鏡像的整個程序。

圖 9–2 分離與升級單邊 RAID-1 磁碟區 (鏡像) (續)

上下文說明圖例。

從現有磁碟區遷移至 Solaris Volume Manager RAID-1 磁碟區的範例

Solaris Live Upgrade 可在 RAID–1 磁碟區 (鏡像) 上建立新啟動環境。目前啟動環境的檔案系統可以位於下列任何裝置上︰

不過,新啟動環境的目標必須是 Solaris Volume Manager RAID-1 磁碟區。例如,為根 (/) 檔案系統副本所指定的磁碟片段必須是 /dev/vx/dsk/rootvolrootvol 是包含根 (/) 檔案系統的磁碟區。

在此範例中,目前啟動環境在非 Solaris Volume Manager 磁碟區的磁碟區上包含根 (/) 檔案系統。新啟動環境利用 Solaris Volume Manager RAID-1 磁碟區 c0t2d0s0 上的根 (/) 檔案系統所建立。lucreate 指令可將目前磁碟區遷移至 Solaris Volume Manager 磁碟區。新啟動環境的名稱為 svm_belustatus 指令報告新啟動環境是否已準備就緒,可以啟動與重新啟動。新啟動環境已經啟動,成為目前啟動環境。


# lucreate -n svm_be -m /:/dev/md/dsk/d1:mirror,ufs \  
-m /:/dev/dsk/c0t2d0s0:attach
# lustatus
# luactivate svm_be
# lustatus
# init 6

建立空啟動環境並安裝 Solaris Flash 歸檔的範例

以下程序涵蓋三個步驟:

lucreate 指令根據使用中啟動環境的檔案系統建立啟動環境。將 lucreate 指令與 -s - 選項搭配使用時,lucreate 會快速建立空的啟動環境。為指定的檔案系統保留了磁碟片段,但沒有複製任何檔案系統。已命名啟動環境,但直到藉由 Solaris Flash 歸檔安裝後,才實際建立該啟動環境。當藉由歸檔安裝空啟動環境時,將在保留的磁碟片段上安裝檔案系統。然後,將啟動此啟動環境。

建立空啟動環境

在此第一步中,將建立空啟動環境。為指定的檔案系統保留了磁碟片段,但沒有從目前啟動環境複製任何檔案系統。新的啟動環境名稱為 second_disk


# lucreate  -s - -m /:/dev/dsk/c0t1d0s0:ufs \  
-n second_disk

準備在此啟動環境中植入 Solaris Flash 歸檔。

圖 9–3 會顯示空啟動環境的建立程序。

圖 9–3 建立空啟動環境

上下文說明圖例。

在新啟動環境上安裝 Solaris Flash 歸檔

在此第二步中,將在之前範例中建立的 second_disk 啟動環境中安裝歸檔。歸檔儲存在本機系統上。-s-a 選項的作業系統版本均為 Solaris 10 5/09 發行版本。此歸檔名為 Solaris_10.flar


# luupgrade -f -n second_disk \
-s /net/installmachine/export/Solaris_10/OS_image \ 
-a /net/server/archive/10.flar 

該啟動環境已準備就緒,可以啟動。

啟動新啟動環境

在此最後一步中,藉由 luactivate 指令使 second_disk 啟動環境可以啟動。然後,系統重新啟動,並且 second_disk 成為使用中的啟動環境。


# luactivate second_disk
# init 6