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

在新根池中建立啟動環境

如果您擁有現有的 ZFS 根池,以及想要在新根池中建立新 ZFS 啟動環境,則下列程序提供了相關步驟。在建立非使用中的啟動環境之後,您可以在方便的時候升級及啟動新的啟動環境。需要 -p 選項,來指定新啟動環境的放置位置。現有 ZFS 根池必須存在於獨立磁碟片段上,才能啟動和升級。

Procedure如何在新 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 -M path-to-patches patch_id patch_id
        

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


        備註 –

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


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

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


        # init 6
        

        您現在已經有成功遷移所需的套裝軟體和修補程式。

  2. 建立 ZFS 根池。

    ZFS 根池必須位於單一磁碟片段上,才能啟動和升級。


    # zpool create rpool2 c0t1d0s5
    
    rpool2

    新 ZFS 根池的名稱。

    c0t1d0s5

    指定將 rpool2 置於可啟動磁碟片段 c0t1d0s5 上。

    如需有關建立新根池的資訊,請參閱「Solaris ZFS Administration Guide」

  3. 建立新啟動環境。


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

    將名稱 zfsBE 指定給目前的 ZFS 啟動環境。

    -n new-zfsBE

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

    -p rpool2

    將新建立的 ZFS 根啟動環境置於 rpool2 所定義的 ZFS 根池中。

    建立新 ZFS 啟動環境可能需要一些時間。檔案系統資料將複製到新 ZFS 根池。在建立非使用中的啟動環境後,您可以使用 luupgradeluactivate 指令,來升級或啟動新的 ZFS 啟動環境。

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

    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        -
  5. (可選擇) 驗證系統上的基本資料集資訊。

    下列範例會顯示系統上所有資料集的名稱。在執行 luactivate 指令之前,所列出的新啟動環境掛載點都是暫時的掛載點。新啟動環境會與 rpool2 ZFS 啟動環境共用 rpool2/dumprpool2/swap 磁碟區。


    # zfs list
    NAME                             USED    AVAIL   REFER   MOUNTPOINT 
    rpool2                           9.29G    57.6G     20K   /rpool2 
    rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
    rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M  /tmp/.new.luupdall.109859
    rpool2/dump                      3.99G        -   3.99G   - 
    rpool2/swap                      3.99G        -   3.99G   - 
    rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
    rpool/ROOT                       5.46G    57.6G     18K   legacy
    rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
    rpool/dump                       3.99G        -   3.99G   - 
    rpool/swap                       3.99G        -   3.99G   - 

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


範例 13–3 在新根池上建立啟動環境

在此範例中,新 ZFS 根池 rpool 會建立在獨立磁碟片段 c0t2s0s5 上。lucreate 指令會建立新 ZFS 啟動環境 new-zfsBE。因為將在不同的根池中建立啟動環境,所以需要 -p 選項。


# zpool create rpool C0t1d0s5
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT					             5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

# lucreate -c rpool -n new-zfsBE -p rpool2
Analyzing system configuration.
Current boot environment is named <rpool>.
Creating initial configuration for primary boot environment <rpool>.
The device </dev/dsk/c0t0d0> is not a root device for any 
boot environment; cannot get BE ID.
PBE configuration successful: PBE name <rpool> PBE Boot 
Device </dev/dsk/rpool>.
Comparing source boot environment <rpool> 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.
Updating system configuration files.
The device </dev/dsk/c1t0d0s0> is not a root device for any 
boot environment; cannot get BE ID.
Creating configuration for boot environment <new-zfsBE>.
Source boot environment is <rpool>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on 
<rpool2/ROOT/new-zfsBE>.
Populating file systems on boot environment <new-zfsBE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <zfsBE>.
Creating compare database for file system </>.
Making boot environment <new-zfsBE> bootable.
Creating boot_archive for /.alt.tmp.b-cBc.mnt
updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive
Population of boot environment <new-zfsBE> successful.
Creation of boot environment <new-zfsBE> successful.

# 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 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M   /tmp/.new.luupdall.109859
rpool2/dump                      3.99G        -   3.99G   - 
rpool2/swap                      3.99G        -   3.99G   - 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G    551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   -