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

在同一個 ZFS 根池中建立啟動環境

如果您擁有現有的 ZFS 根池,並且想要在該池中建立新 ZFS 啟動環境,則下列程序提供了相關步驟。在建立非使用中的啟動環境之後,您可以在方便的時候升級及啟動新的啟動環境。在同一個池中建立啟動環境時,不需要 -p 選項。

Procedure如何在同一個 ZFS 根池中建立 ZFS 啟動環境

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

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

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


    備註 –

    使用 Solaris Live Upgrade 建立新 ZFS 啟動環境,至少需要安裝 Solaris 10 10/08 發行版本。舊版中的 ZFS 和 Solaris Live Upgrade 軟體無法執行這些作業。


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

    2. 從 SunSolve 網站,遵循資訊文件 206844 中的說明,移除和新增 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 套裝軟體,並不需要移除此套裝軟體。


      備註 –

      從 Solaris 10 8/07 發行版本開始,會新增 SUMWlucfg 套裝軟體。如果您是使用舊版中的 Solaris Live Upgrade 套裝軟體,並不需要移除此套裝軟體。



      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. 安裝新的 Solaris Live Upgrade 套裝軟體。如需相關說明,請參閱安裝 Solaris Live Upgrade

    4. 執行 Solaris Live Upgrade 之前,必須安裝下列修補程式。這些修補程式可確保您有此發行版本中的所有最新錯誤修正程式和新功能。

      請參閱SunSolve,以確定您有最近更新的修補程式清單。在 SunSolve 網站上搜尋資訊文件 206844 (以前為 72099)。

      • 如果您要在本機磁碟上儲存修補程式,請建立如 /var/tmp/lupatches 的目錄,然後將修補程式下載至該目錄中。

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

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


        # cd /var/tmp/lupatches
        
      • 使用 patchadd 指令安裝修補程式。


        # patchadd path-to-patches patch_id patch_id
        

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


        備註 –

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


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

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


        # init 6
        

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

  2. 建立新啟動環境。


    # lucreate [-c zfsBE] -n new-zfsBE
    
    -c zfsBE

    將名稱 zfsBE 指定給目前的啟動環境。此選項不是必要選項,它僅在建立第一個啟動環境時使用。如果您是首次執行 lucreate,並省略了 -c 選項,則軟體會為您建立一個預設名稱。

    -n new-zfsBE

    將名稱指定給要建立的啟動環境。該名稱在此系統上必須是唯一的。

    幾乎在瞬間就會完成新啟動環境的建立。在目前的 ZFS 根池中,會建立每個資料集的快照,然後從每個快照建立複製。快照具有極高的磁碟空間使用效率,因此,此程序只使用極少的磁碟空間。在建立非使用中的啟動環境後,您可以使用 luupgradeluactivate 指令,來升級或啟動新的 ZFS 啟動環境。

  3. (可選擇) 驗證啟動環境。

    lustatus 指令會報告啟動環境的建立是否完整且可啟動。


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy 
    Name               Complete  Now	 OnReboot   Delete	 Status 
    ------------------------------------------------------------------------ 
    zfsBE               yes       yes     yes         no             -
    new-zfsBE           yes       no      no          yes            -
  4. (可選擇) 驗證系統上的基本資料集資訊。

    在此範例中,ZFS 根池命名為 rpool,@ 符號代表快照。在執行 luactivate 指令之前,新啟動環境的掛載點都是暫時的掛載點。/dump/swap 磁碟區會與 ZFS 根池以及根池中的啟動環境共用。


    # zfs list
    NAME                                      USED  AVAIL  REFER  MOUNTPOINT 
    rpool                                    9.29G  57.6G    20K  /rpool 
    rpool/ROOT                               5.38G  57.6G    18K  /rpool/ROOT 
    rpool/ROOT/zfsBE                         5.38G  57.6G   551M  
    rpool/ROOT/zfsBE@new-zfsBE               66.5K      -   551M  -
    rpool/ROOT/new-zfsBE                     85.5K  57.6G   551M  /tmp/.alt.103197
    rpool/dump                               1.95G      -  1.95G  - 
    rpool/swap                               1.95G      -  1.95G  - 

    您現在可以升級及啟動新的啟動環境。請參閱範例 13–2


範例 13–2 在同一個 ZFS 根池中建立啟動環境

下列指令會建立新 ZFS 啟動環境 new-zfsBE。因為將在同一個根池中建立啟動環境,所以不需要 -p 選項。


# lucreate [-c zfsBE] -n new-zfsBE
Analyzing system configuration.
Comparing source boot environment <zfsBE> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Creating configuration for boot environment new-zfsBE.
Source boot environment is zfsBE.
Creating boot environment new-zfsBE.
Cloning file systems from boot environment zfsBE to create 
boot environment new-zfsBE.
Creating snapshot for <rpool> on <rpool> Creating clone for <rpool>. 
Setting canmount=noauto for <rpool> in zone <global> on <rpool>. 
Population of boot environment zfsBE successful on <rpool>.
# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	   OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE               yes       yes     yes         no          - 
new-zfsBE           yes       no      no          yes         -
# zfs list
NAME                                      USED  AVAIL  REFER  MOUNTPOINT 
rpool                                    9.29G  57.6G    20K  /rpool 
rpool/ROOT                               5.38G  57.6G    18K  /rpool/ROOT 
rpool/ROOT/zfsBE                         5.38G  57.6G   551M  
rpool/ROOT/zfsBE@new-zfsBE               66.5K      -   551M  - 
rpool/ROOT/new-zfsBE                     85.5K  57.6G   551M  /tmp/.alt.103197 
rpool/dump                               1.95G      -  1.95G  - 
rpool/swap                               1.95G      -  1.95G  - 

您現在可以升級及啟動新的啟動環境。如需升級 ZFS 啟動環境的範例,請參閱範例 13–1。如需使用 luupgrade 指令的更多範例,請參閱第 5 章使用 Solaris Live Upgrade 升級 (作業)


# luactivate new-zfsBE
**********************************************************************

The target boot environment has been activated. It will be used when you 
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You 
MUST USE either the init or the shutdown command when you reboot. If you 
do not use either init or shutdown, the system will not boot using the 
target BE.

**********************************************************************
In case of a failure while booting to the target BE, the following process 
needs to be followed to fallback to the currently working boot environment:

1. Enter the PROM monitor (ok prompt).

2. Change the boot device back to the original boot environment by typing:

     setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a

3. Boot to the original boot environment by typing:

     boot

**********************************************************************

Modifying boot archive service
Activation of boot environment <new-zfsBE> successful.

將系統重新啟動至 ZFS 啟動環境。


# init 6
# svc.startd: The system is coming down.  Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.