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

從 ZFS 根池建立新啟動環境

您可以在同一個根池中或在新的根池上建立新 ZFS 啟動環境。本節包含以下簡介:

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

在同一個 ZFS 根池中建立新啟動環境時,lucreate 指令會從來源啟動環境建立快照,然後從該快照建立複製。幾乎在瞬間就會完成快照和複製的建立,因此使用的磁碟空間極少。最終所需的空間量取決於升級程序中替代的檔案數目。雖然快照為唯讀,但是複製是可讀寫的快照副本。對複製啟動環境所做的任何變更不會反映在快照或建立快照的來源啟動環境中。


備註 –

當使用中資料集中的資料變更時,快照會持續參照舊資料而耗用空間。因此,快照會阻止資料釋回池中。如需快照的更多資訊,請參閱「Oracle Solaris ZFS Administration Guide」中的第 7 章「Working With Oracle Solaris ZFS Snapshots and Clones」


當目前啟動環境位於同一 ZFS 池上時,會忽略 -p 選項。

圖 11–2 顯示從 ZFS 根池建立 ZFS 啟動環境。磁碟片段 c0t0d0s0 包含 ZFS 根池 rpool。在 lucreate 指令中,-n 選項會將名稱指定給要建立的啟動環境 new-zfsBE。建立原始根池的快照 rpool@new-zfsBE。該快照會用來建立複製,即新的啟動環境 new-zfsBE。啟動環境 new-zfsBE 準備就緒,可以升級及啟動。

圖 11–2 在同一個根池上建立新啟動環境

上下文說明圖例。


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

此範例顯示的指令與圖 11–2 中,在同一根池中建立新啟動環境的指令相同。lucreate 指令會搭配 -c zfsBE 選項命名目前執行中的啟動環境,而 -n new-zfsBE 則會建立新啟動環境。zfs list 指令會顯示具有新啟動環境和快照的 ZFS 資料集。


# lucreate -c zfsBE -n new-zfsBE
# zfs list
AME                        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       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

在另一個根池上建立新啟動環境

您可以使用 lucreate 指令,將現有 ZFS 根池複製到另一個 ZFS 根池。複製程序可能需要一些時間,實際情況取決於您的系統。

圖 11–3 顯示 zpool 指令會在 c0t1d0s5 上建立 ZFS 根池 rpool2,因為可啟動的 ZFS 根池尚未存在。使用 lucreate 指令搭配 -n 選項會將名稱指定給要建立的啟動環境 new-zfsBE-p 選項會指定新啟動環境的放置位置。

圖 11–3 在另一個根池上建立新啟動環境

上下文說明圖例。


範例 11–4 在不同的 ZFS 根池上建立啟動環境

此範例顯示的指令與圖 11–3 中建立新啟動環境,然後在新建立的根池中建立新啟動環境的指令相同。在此範例中,zpool create 指令會建立 rpool2zfs list 指令顯示在 rpool2 中沒有建立任何 ZFS 資料集。資料集是使用 lucreate 指令建立的。


# zpool create rpool2 c0t2d0s5
# 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   - 

新 ZFS 根池 rpool2 建立於磁碟片段 c0t2d0s5 上。


# lucreate -n new-zfsBE -p rpool2
# 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   - 

新啟動環境 new-zfsBE 會與其他資料集 ROOTdumpswap 建立於 rpool2 上。啟動環境 new-zfsBE 準備就緒,可以升級及啟動。