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

第 2 部分 使用 Solaris Live Upgrade 升級和遷移至 ZFS 根池

本部分提供使用 Solaris Live Upgrade 來建立與升級 ZFS 儲存池上非使用中啟動環境的簡介和說明。此外,您還可以將 UFS 根 (/) 檔案系統遷移至 ZFS 根池。

第 11 章 Solaris Live Upgrade 和 ZFS (簡介)

您可以使用 Solaris Live Upgrade,將 UFS 檔案系統遷移至 ZFS 根池,以及從現有 ZFS 根池建立 ZFS 根檔案系統。


備註 –

使用 Solaris Live Upgrade 建立啟動環境是 Solaris 10 10/08 發行版本的新功能。針對 UFS 檔案系統執行 Solaris Live Upgrade 時,指令行參數和 Solaris Live Upgrade 的作業均維持不變。若要在具有 UFS 檔案系統的系統上執行 Solaris Live Upgrade,請參閱本書的第 1 部分使用 Solaris Live Upgrade 升級


下列各節提供這些作業的簡介:

Solaris 10 10/09 發行版本中的新增功能

從 Solaris 10 10/09 發行版本開始,您可以設定 JumpStart 描述檔來識別 ZFS 根池的 Flash 歸檔。

Flash 歸檔可以建立在執行 UFS 根檔案系統或 ZFS 根檔案系統的系統上。ZFS 根池的 Flash 歸檔含有整個池階層,但交換和傾印磁碟區以及任何其他排除的資料集除外。安裝 Flash 歸檔時,會建立交換和傾印磁碟區。

您可以使用下列 Flash 歸檔安裝方法:

如需詳細說明和限制,請參閱「Solaris ZFS Administration Guide」中的「Installing a ZFS Root File System (Flash Archive Installation)」

使用 Solaris Live Upgrade 搭配 ZFS 簡介

如果您有 UFS 檔案系統,Solaris Live Upgrade 的運作方式與舊版中的運作方式相同。您現在可以從 UFS 檔案系統遷移至 ZFS 根池,以及在 ZFS 根池中建立新啟動環境。對於這些作業,lucreate 指令已藉由搭配 -p 選項而獲得增強。指令語法如下:


# lucreate [-c active_BE_name] -n BE_name [-p zfs_root_pool]

-p 選項會指定新啟動環境常駐的 ZFS 池。如果來源啟動環境和目標啟動環境位於同一個池中,則可以省略此選項。

ZFS 不支援 lucreate 指令 -m 選項。其他 lucreate 指令選項仍可如常地使用,但有一些例外。如需相關限制,請參閱使用 Solaris Live Upgrade 的系統需求和限制

從 UFS 檔案系統遷移至 ZFS 根池

如果您是從目前執行中的系統建立啟動環境,則 lucreate 指令會將 UFS 根 (/) 檔案系統複製到 ZFS 根池。複製程序可能需要一些時間,實際情況取決於您的系統。

當您從 UFS 檔案系統進行遷移時,來源啟動環境可以是磁碟片段上的 UFS 根 (/) 檔案系統。您無法從 ZFS 根池上的來源啟動環境,在 UFS 檔案系統上建立啟動環境。

從 UFS 根 (/) 檔案系統遷移至 ZFS 根池

下列指令會從 ZFS 根池中的 UFS 根 (/) 檔案系統建立 ZFS 根池和新啟動環境。在 lucreate 作業之前,ZFS 根池必須存在,且必須使用磁碟片段 (而非整個磁碟) 加以建立,才能升級及啟動。磁碟不能有 EFI 標籤,但必須是 SMI 標籤。如需更多限制的資訊,請參閱使用 Solaris Live Upgrade 的系統需求和限制

圖 11–1 顯示 zpool 指令將會在獨立磁碟片段 c0t1d0s5 上建立根池 rpool。磁碟片段 c0t0d0s0 包含 UFS 根 (/) 檔案系統。在 lucreate 指令中,-c 選項會命名目前執行中的系統 c0t0d0,即 UFS 根 (/) 檔案系統。-n 選項會將名稱指定給要建立的啟動環境 new-zfsBE-p 選項會指定新啟動環境 rpool 的放置位置。UFS /export 檔案系統和 /swap 磁碟區不會複製到新啟動環境。

圖 11–1 從 UFS 檔案系統遷移至 ZFS 根池

上下文說明圖例。


範例 11–1 從 UFS 根 (/) 檔案系統遷移至 ZFS 根池

此範例顯示的指令與圖 11–1 中的指令相同。這些指令會建立新根池 rpool,並且從 UFS 根 (/) 檔案系統在池中建立新啟動環境。在此範例中,zfs list 指令會顯示 zpool 指令所建立的 ZFS 根池。下一個 zfs list 指令會顯示 lucreate 指令所建立的資料集。


# zpool create rpool c0t1d0s5
# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool

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

新啟動環境為 rpool/ROOT/new-zfsBE。啟動環境 new-zfsBE 準備就緒,可以升級及啟動。


將配置有 Solaris Volume Manager 磁碟區的 UFS 檔案系統遷移至 ZFS 根檔案系統

如果系統有 Solaris Volume Manager (SVM) 磁碟區,則可遷移 UFS 檔案系統。若要從現有 SVM 配置建立 UFS 啟動環境,您必須從目前執行中的系統建立新啟動環境。然後再從新 UFS 啟動環境建立 ZFS 啟動環境。

Solaris Volume Manager (SVM) 簡介。ZFS 使用儲存池的概念來管理實體儲存。在過去,檔案系統建構於單一實體裝置之上。為了定址多個裝置並提供資料備援,引入磁碟區管理員的概念,以提供單一裝置的影像。因此,不必修改檔案系統,即可利用多個裝置。此設計多添一層複雜度。此複雜度最後阻止了某些檔案系統的進展,因為檔案系統無法控制虛擬化磁碟區上的資料實體放置。

ZFS 儲存池取代了 SVM。ZFS 完全去除了磁碟區管理。ZFS 會將裝置彙總至儲存池,而不強制建立虛擬化磁碟區。儲存池說明儲存裝置配置和資料備援的這類實體特性,並做為可建立檔案系統的任意資料存放區。檔案系統不再受限於個別裝置,使它們能夠與池中所有檔案系統共用空間。您不再需要預先決定檔案系統的大小,因為檔案系統會在分配給儲存池的空間內自動增長。當增加新儲存裝置時,池中的所有檔案系統可以立即使用此增加的空間,而不需再執行其他作業。在許多方面,儲存池都會扮演虛擬記憶體系統的角色。當記憶體 DIMM 增加到系統,作業系統不會強制您呼叫某些指令來配置記憶體,並將其指定給個別程序。系統上的所有程序都會自動使用此增加的記憶體。


範例 11–2 從具有 SVM 磁碟區的 UFS 根 (/) 檔案系統遷移至 ZFS 根池

遷移具有 SVM 磁碟區的系統時,會忽略 SVM 磁碟區。您可以在根池中設定鏡像,如下列範例所示。

在此範例中,使用 lucreate 指令搭配 -m 選項,會從目前執行中的系統建立新啟動環境。磁碟片段 c1t0d0s0 包含配置有 SVM 磁碟區的 UFS 根 (/) 檔案系統。zpool 指令會建立根池 c1t0d0s0 和 RAID-1 磁碟區 (鏡像) c2t0d0s0。在第二個 lucreate 指令中,-n 選項會將名稱指定給要建立的啟動環境 c0t0d0s0-s 選項會識別 UFS 根 (/) 檔案系統。-p 選項會指定新啟動環境 rpool 的放置位置。


# lucreate -n ufsBE -m /:/dev/md/dsk/d104:ufs
# zpool create rpool mirror c1t0d0s0 c2t1d0s0
# lucreate -n c0t0d0s0 -s ufsBE -p zpool

啟動環境 c0t0d0s0 準備就緒,可以升級及啟動。


從 ZFS 根池建立新啟動環境

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

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

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


備註 –

當使用中資料集中的資料變更時,快照會持續參照舊資料而耗用空間。因此,快照會阻止資料釋回池中。如需有關快照的更多資訊,請參閱「Solaris ZFS Administration Guide」中的第 7 章「Working With 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 準備就緒,可以升級及啟動。


從目前執行中系統以外的來源建立新啟動環境

如果您要從目前執行中系統以外的來源建立啟動環境,則必須將 lucreate 指令與 -s 選項搭配使用。-s 選項的作用與用於 UFS 檔案系統的方式相同。-s 選項提供替代根 (/) 檔案系統的路徑。此替代根 (/) 檔案系統就是建立新 ZFS 根池的來源。替代根可以是 UFS (/) 根檔案系統或 ZFS 根池。複製程序可能需要一些時間,實際情況取決於您的系統。


範例 11–5 從替代根 (/ ) 檔案系統建立啟動環境

下列指令會從現有 ZFS 根池建立新 ZFS 根池。-n 選項會將名稱指定給要建立的啟動環境 new-zfsBE-s 選項會指定啟動環境 source-zfsBE 用做複製的來源,而非目前執行中的啟動環境。-p 選項會指定將新啟動環境置於 newpool2 中。


# lucreate -n new-zfsBE  -s source-zfsBE -p rpool2

啟動環境 new-zfsBE 準備就緒,可以升級及啟動。


在安裝非全域區域的系統上建立 ZFS 啟動環境

您可以使用 Solaris Live Upgrade,將非全域區域遷移至 ZFS 根檔案系統。如需簡介、規劃及逐步程序,請參閱第 14 章針對已安裝非全域區域的 ZFS 執行 Solaris Live Upgrade

其他資源

如需有關本章主題的額外資訊,請參閱表 11–1 所列的資源。

表 11–1 其他資源

資源 

位置 

如需 ZFS 資訊,包括簡介、規劃和逐步說明 

「Solaris ZFS Administration Guide」

在具有 UFS 檔案系統的系統上使用 Solaris Live Upgrade 

本書的第 1 部分使用 Solaris Live Upgrade 升級

第 12 章 針對 ZFS 執行 Solaris Live Upgrade (規劃)

本章提供將 UFS 檔案系統遷移至 ZFS 檔案系統之前,或是從現有 ZFS 根池建立新 ZFS 啟動環境之前,應檢閱的準則和需求。


備註 –

使用 Solaris Live Upgrade 建立啟動環境是 Solaris 10 10/08 發行版本的新功能。針對 UFS 檔案系統執行 Solaris Live Upgrade 時,指令行參數和 Solaris Live Upgrade 的作業均維持不變。若要在具有 UFS 檔案系統的系統上執行 Solaris Live Upgrade,請參閱本書的第 1 部分使用 Solaris Live Upgrade 升級


使用 Solaris Live Upgrade 的系統需求和限制

在將 UFS 檔案系統遷移至 ZFS 檔案系統之前,或是從現有 ZFS 根池建立新 ZFS 啟動環境之前,請確定您已閱讀並瞭解下列需求和限制。除了「Solaris 10 10/09 安裝指南:規劃安裝與升級」中的第 6 章「ZFS 根檔案系統安裝 (規劃)」所列之需求外,亦須符合這些額外的需求。

表 12–1 需求和限制

需求或限制 

說明 

資訊 

您必須至少已安裝 Solaris 10 10/08 發行版本。 

使用 Solaris Live Upgrade 從 UFS 檔案系統遷移至 ZFS 根池,或在根池中建立新啟動環境,是 Solaris 10 10/08 發行版本的新功能。這些發行版本包含將 Solaris Live Upgrade 與 ZFS 搭配使用所需的軟體。您必須至少安裝此發行版本,才能使用 ZFS。

 

磁碟空間 

可啟動 ZFS 根檔案系統的最低可用池空間取決於實體記憶體大小、可用磁碟空間以及要建立的啟動環境數目。  

如需說明,請參閱 「Solaris 10 10/09 安裝指南:規劃安裝與升級」中的「ZFS 安裝的磁碟空間需求」

當您從 UFS 根 ( /) 檔案系統遷移至 ZFS 根池時,請考慮這些需求。

  • 您只能從 UFS 檔案系統遷移至 ZFS 檔案系統。

    • UFS 檔案系統以外的檔案系統無法遷移至 ZFS 根池。

    • 您無法從 ZFS 根池建立 UFS 檔案系統。

  • 遷移之前,ZFS 儲存池必須已存在。

  • ZFS 儲存池必須使用磁碟片段 (而非整個磁碟) 加以建立,才能升級及啟動。

    • 使用磁碟片段建立的池可以進行鏡像,但多重磁碟的 RAID-Z 配置或非備援配置則不可以。在 /dev/md/[r]dsk 目錄中必須已有 SVM 裝置資訊。

    • 池必須有 SMI 標籤。您無法啟動有 EFI 標籤的磁碟。

    • 僅限 x86:ZFS 池必須位於具有 fdisk 分割區的磁碟片段中。

當您遷移共用檔案系統時,共用檔案系統無法複製到新 ZFS 根池上的獨立磁碟片段。 

例如,針對 UFS 根 (/) 檔案系統執行 Solaris Live Upgrade 時,您可以使用 -m 選項,將 /export 檔案系統複製到另一個裝置。您沒有複製共用檔案系統到 ZFS 池的 -m 選項。

 

遷移包含非全域區域的 UFS 根檔案系統時,不會遷移共用檔案系統。 

在具有 UFS 根 (/) 檔案系統並安裝非全域區域的系統上,在 UFS 至 ZFS 遷移的過程中,如果非全域區域位於重要檔案系統中,則會遷移這些區域。或者,當您在同一 ZFS 池中進行升級時,便會複製區域。如果非全域區域存在於共用 UFS (/) 檔案系統,為了遷移至 ZFS 根池,您必須先升級此區域,就與先前 Solaris 發行版本的方式相同。

請勿使用 ZFS rename 指令。

Solaris Live Upgrade 功能無法察覺名稱變更,後續指令 (例如 ludelete) 將會失敗。事實上,如果您擁有現有的啟動環境,並且要繼續使用時,請勿重新命名 ZFS 池或檔案系統。

 

在使用 lucreate 指令之前設定資料集特性。

Solaris Live Upgrade 會為啟動環境建立資料集,以及為交換區和傾印裝置建立 ZFS 磁碟區,但是不負責任何現有資料集特性的修改。這表示,如果您要在新啟動環境中啟用資料集特性,則必須在 lucreate 作業之前設定該特性。例如:


# zfs set compression=on rpool/ROOT

請參閱「Solaris ZFS Administration Guide」中的「Introducing ZFS Properties」

在同一 ZFS 根池中建立 ZFS 啟動環境時,您不能使用 lucreate 指令包含和排除選項來自訂內容。

同一 ZFS 根池中建立啟動環境時,您不能使用 -f-o-y- Y-z 選項,在主要啟動環境中包含和排除檔案。但是,在下列情況下,您可以使用這些選項:

  • 從 UFS 檔案系統建立啟動環境至 UFS 檔案系統

  • 從 UFS 檔案系統建立啟動環境至 ZFS 根池

  • 從 ZFS 根池建立啟動環境至不同的 ZFS 根池

如需有關使用包含和排除選項的資訊,請參閱建立啟動環境與自訂內容

您不能使用 Solaris Live Upgrade 升級非根 ZFS 檔案系統。 

   

其他資源

如需有關本章主題的額外資訊,請參閱表 12–2 所列的資源。

表 12–2 其他資源

資源 

位置 

如需有關規劃 ZFS 安裝的更多資訊 

「Solaris 10 10/09 安裝指南:規劃安裝與升級」中的第 6 章「ZFS 根檔案系統安裝 (規劃)」

如需 ZFS 資訊,包括簡介、規劃和逐步說明 

「Solaris ZFS Administration Guide」

在具有 UFS 檔案系統的系統上使用 Solaris Live Upgrade 

本書的第 1 部分使用 Solaris Live Upgrade 升級

第 13 章 為 ZFS 根池建立啟動環境

本章提供有關如何使用 Solaris Live Upgrade 建立 ZFS 啟動環境的逐步程序。


備註 –

從 UFS 檔案系統遷移至 ZFS 根池,或是使用 Solaris Live Upgrade 建立 ZFS 啟動環境是 Solaris 10 10/08 發行版本的新功能。若要在具有 UFS 檔案系統的系統上使用 Solaris Live Upgrade,請參閱本書的第 1 部分使用 Solaris Live Upgrade 升級


本章提供有關下列作業的程序:

如需有關安裝非全域區域時使用 ZFS 的程序,請參閱第 14 章針對已安裝非全域區域的 ZFS 執行 Solaris Live Upgrade

將 UFS 檔案系統遷移至 ZFS 檔案系統

此程序說明如何將 UFS 檔案系統遷移至 ZFS 檔案系統。透過建立啟動環境,可將重要檔案系統從使用中 UFS 啟動環境複製到 ZFS 根池。 lucreate 指令會將重要檔案系統複製到現有 ZFS 根池中的新啟動環境。使用者定義的 (可共用的) 檔案系統並不會複製,也不會與來源 UFS 啟動環境共用。此外,UFS 檔案系統和 ZFS 根池不會共用 /swap。如需重要檔案系統和可共用檔案系統的簡介,請參閱檔案系統類型

Procedure如何將 UFS 檔案系統遷移至 ZFS 檔案系統


備註 –

若要將使用中 UFS 根 (/) 檔案系統遷移至 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 套裝軟體,並不需要移除此套裝軟體。


      # 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 patch_id
        

        patch_id 為修補程式編號。請以空格分隔多個修補程式名稱。


        備註 –

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


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

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


        # init 6
        

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

  2. 建立 ZFS 根池。

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


    # zpool create rpool  c0t1d0s5
    
    rpool

    指定要建立的新 ZFS 根池之名稱。

    c0t1d0s5

    在磁碟片段 c0t1d0s5 上建立新根池。

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

  3. 將 UFS 根 (/) 檔案系統遷移至新的 ZFS 根池。


    # lucreate [-c ufsBE] -n new-zfsBE -p rpool
    
    -c ufsBE

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

    -n new-zfsBE

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

    -p rpool

    將新建立的 ZFS 根 (/) 檔案系統置於 rpool 所定義的 ZFS 根池中。

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

  4. (可選擇) 驗證啟動環境是否完整。

    在此範例中,lustatus 指令會報告啟動環境的建立是否完整且可啟動。


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

    list 指令會顯示系統上所有資料集的名稱。在此範例中,rpool 為 ZFS 池的名稱,new-zfsBE 為新建立的 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/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
    rpool/dump                 1.95G      -  1.95G  - 
    rpool/swap                 1.95G      -  1.95G  - 

    在執行 luactivate 指令之前,所列出的新啟動環境掛載點都是暫時的掛載點。/dump/swap 磁碟區不會與原始 UFS 啟動環境共用,但是會在 ZFS 根池中與根池中的啟動環境共用。

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


範例 13–1 將 UFS 根 (/) 檔案系統遷移至 ZFS 根池

在此範例中,新 ZFS 根池 rpool 會建立在獨立磁碟片段 C0t0d0s4 上。lucreate 指令會將目前執行中的 UFS 啟動環境 c0t0d0 遷移至新 ZFS 啟動環境 new-zfsBE,並且將新啟動環境置於 rpool 中。


# zpool create rpool C0t0d0s4

# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
# lucreate -c c0t0d0 -n new-zfsBE -p rpool
Analyzing system configuration.
Current boot environment is named <c0t0d0>.
Creating initial configuration for primary boot environment <c0t0d0>.
The device </dev/dsk/c0t0d0> is not a root device for any boot 
environment; cannot get BE ID.
PBE configuration successful: PBE name <c0t0d0> PBE Boot Device 
</dev/dsk/c0t0d0>.
Comparing source boot environment <c0t0d0> 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 <c0t0d0>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on 
<rpool/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 <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 
------------------------------------------------------------------------ 
c0t0d0             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/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

您現在可以升級或啟動新的啟動環境。

在此範例中,會使用 luupgrade 指令,從儲存於 -s 選項所指示之位置的影像升級新的啟動環境。


# luupgrade -n zfsBE -u -s /net/install/export/s10/combined.s10
 51135 blocks 
miniroot filesystem is <lofs>
Mounting miniroot at 
</net/install/export/solaris_10/combined.solaris_10_wos
/Solaris_10/Tools/Boot> 
Validating the contents of the media 
</net/install/export/s10/combined.s10>. 
The media is a standard Solaris media. 
The media contains an operating system upgrade image. 
The media contains Solaris version <10_1008>. 
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 <zfsBE>. 
Determining packages to install or upgrade for BE <zfsBE>. 
Performing the operating system upgrade of the BE <zfsBE>. 
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. 
Adding operating system patches to the BE <zfsBE>. 
The operating system patch installation is complete. 
INFORMATION: The file /var/sadm/system/logs/upgrade_log on boot 
environment <zfsBE> contains a log of the upgrade operation. 
INFORMATION: The file var/sadm/system/data/upgrade_cleanup on boot 
environment <zfsBE> contains a log of cleanup operations required. 
INFORMATION: Review the files listed above. Remember that all 
of the files are located on boot environment <zfsBE>. 
Before you activate boot environment <zfsBE>, 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 <zfsBE> is complete.

在建立新的啟動環境之後,隨時都可以加以啟動。


# 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.
.
.
.

如果要轉至備用 UFS 啟動環境,則必須再次匯入在 ZFS 啟動環境中建立的所有 ZFS 儲存池,因為在 UFS 啟動環境中不會自動提供這些儲存池。當您切換回 UFS 啟動環境時,將會看到類似下列範例的訊息。


# luactivate c0t0d0
WARNING: The following files have changed on both the current boot 
environment <new-zfsBE> zone <global> and the boot environment 
to be activated <c0t0d0>:
 /etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current 
boot environment <zfsBE> zone <global> and the boot environment to be 
activated <c0t0d0>. These files will not be automatically synchronized 
from the current boot environment <new-zfsBE> when boot environment <c0t0d0>

在同一個 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 -M 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.
.
.
.

在新根池中建立啟動環境

如果您擁有現有的 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   - 

從目前執行中系統以外的來源建立啟動環境

如果您擁有現有的 ZFS 根池或目前未用做使用中啟動環境的 UFS 啟動環境,則可以使用下列範例,從這個啟動環境建立新 ZFS 啟動環境。在建立新的 ZFS 啟動環境之後,您可以在方便的時候升級及啟動此新的啟動環境。

如果您要從目前執行中系統以外的來源建立啟動環境,則必須將 lucreate 指令與 -s 選項搭配使用。-s 選項的作用與用於 UFS 檔案系統的方式相同。-s 選項提供替代根 (/) 檔案系統的路徑。此替代根 (/) 檔案系統就是建立新 ZFS 根池的來源。替代根可以是 UFS (/) 根檔案系統或 ZFS 根池。複製程序可能需要一些時間,實際情況取決於您的系統。

下列範例顯示在另一個 ZFS 根池上建立啟動環境時如何使用 -s 選項。


範例 13–4 如何從目前執行中系統以外的來源建立啟動環境

下列指令會從現有 ZFS 根池建立新 ZFS 根池。-n 選項會將名稱指定給要建立的啟動環境 new-zfsBE-s 選項會指定啟動環境 rpool3 用做複製的來源,而非目前執行中的啟動環境。-p 選項會指定將新啟動環境置於 rpool2 中。


# lucreate -n new-zfsBE -s rpool3 -p rpool2
# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	 OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE               yes      yes     yes        no         - 
zfsBE2              yes      no      no         yes        -
zfsBE3              yes      no      no         yes        -
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   - 
rpool3                         9.29G    57.6G     20K   /rpool2 
rpool3/ROOT/                   5.38G    57.6G     18K   /rpool2/ROOT 
rpool3/ROOT/zfsBE3             5.38G    57.6G   551M    /tmp/.new.luupdall.109859
rpool3/dump                    3.99G        -   3.99G   - 
rpool3/swap                    3.99G        -   3.99G   - 
prool                          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 啟動環境

如果升級後偵測到失敗,或是應用程式與已升級的元件不相容,您可以使用 luactivate 指令轉至備用原始啟動環境。

當您已從 UFS 啟動環境遷移至 ZFS 根池,之後決定轉至備用 UFS 啟動環境時,您必須再次匯入在 ZFS 啟動環境中所建立的所有 ZFS 儲存池。在 UFS 啟動環境中,不會自動提供這些 ZFS 儲存池。當您切換回 UFS 啟動環境時,將會看到類似下列範例的訊息。


# luactivate c0t0d0
WARNING: The following files have changed on both the current boot 
environment <new-ZFSbe> zone <global> and the boot environment 
to be activated <c0t0d0>: /etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current 
boot environment <ZFSbe> zone <global> and the boot environment to be 
activated <c0t0d0>. These files will not be automatically synchronized 
from the current boot environment <new-ZFSbe> when boot 
environment <c0t0d0>

如需轉至備用原始啟動環境的範例,請參閱第 6 章失敗回復:轉至備用原始啟動環境 (作業)

其他資源

如需有關本章主題的額外資訊,請參閱表 13–1 所列的資源。

表 13–1 其他資源

資源 

位置 

如需 ZFS 資訊,包括簡介、規劃和逐步說明 

「Solaris ZFS Administration Guide」

在具有 UFS 檔案系統的系統上使用 Solaris Live Upgrade 

本書的第 1 部分使用 Solaris Live Upgrade 升級

第 14 章 針對已安裝非全域區域的 ZFS 執行 Solaris Live Upgrade

本章提供有關遷移 UFS (/) 根檔案系統至 ZFS 根池的簡介和逐步程序。


備註 –

從 UFS 根 (/) 檔案系統遷移至 ZFS 根池,或是使用 Solaris Live Upgrade 建立 ZFS 啟動環境是 Solaris 10 10/08 發行版本的新功能。針對 UFS 檔案系統執行 Solaris Live Upgrade 時,指令行參數和 Solaris Live Upgrade 的作業均維持不變。若要在具有 UFS 檔案系統的系統上執行 Solaris Live Upgrade,請參閱本書的第 1 部分使用 Solaris Live Upgrade 升級


在安裝非全域區域的系統上建立 ZFS 啟動環境 (簡介與規劃)

您可以使用 Solaris Live Upgrade,遷移安裝非全域區域於 ZFS 根池的 UFS 根 (/) 檔案系統。所有與檔案系統相關聯的非全域區域也會複製到新啟動環境。支援下列非全域區域遷移方案:

遷移前根檔案系統和區域的組合  

遷移後根檔案系統和區域的組合 

在 UFS 檔案系統中,具有非全域區域根目錄的 UFS 根檔案系統 

在 ZFS 根池中,具有非全域區域根目錄的 UFS 根檔案系統 

 

在 ZFS 根池中,具有非全域區域根目錄的 ZFS 根池 

 

在 UFS 檔案系統中,具有非全域區域根目錄的 ZFS 根池 

在 ZFS 根池中,具有非全域區域根的 UFS 根檔案系統 

在 ZFS 根池中,具有非全域區域根的 ZFS 根池 

 

在 ZFS 根池中,具有非全域區域根的 UFS 根檔案系統 

在 ZFS 根池中,具有非全域區域根目錄的 ZFS 根池 

在 ZFS 根池中,具有非全域區域根目錄的 ZFS 根池 

在具有 UFS 根 (/) 檔案系統並安裝非全域區域的系統上,在 UFS 至 ZFS 遷移的過程中,如果非全域區域位於非共用檔案系統中,則會遷移這些區域。或者,當您在同一 ZFS 池中進行升級時,便會複製區域。如果非全域區域存在於共用 UFS 檔案系統,為了遷移至另一個 ZFS 根池,您必須先升級非全域區域,就與先前 Solaris 發行版本的方式相同。

從安裝非全域區域的 UFS 根 (/) 檔案系統遷移至 ZFS 根池 (作業)

本章提供有關從 UFS 根 (/) 檔案系統遷移至安裝非全域區域之系統上的 ZFS 根池的逐步說明。在 UFS 檔案系統中,沒有任何非全域區域位於共用檔案系統上。

Procedure如何將 UFS 檔案系統遷移至具有非全域區域之系統上的 ZFS 根池

lucreate 指令會從 UFS 根 (/) 檔案系統建立 ZFS 根池的啟動環境。在 lucreate 作業之前,ZFS 根池必須存在,且必須使用磁碟片段 (而非整個磁碟) 加以建立,才能升級及啟動。此程序顯示與 UFS 根 (/) 檔案系統相關聯的現有非全域區域如何複製到 ZFS 根池中的新啟動環境。

在下列範例中,現有非全域區域 myzone 在 UFS 根 (/) 檔案系統中具有其非全域區域根。區域 zzone 在現有 ZFS 儲存池 pool 中,於 ZFS 檔案系統中有其區域根。使用 Solaris Live Upgrade 將 UFS 啟動環境 c2t2d0s0 遷移至 ZFS 啟動環境 zfs2BE。基於 UFS 的 myzone 區域會遷移至新 ZFS 儲存池 mpool,即 Solaris Live Upgrade 作業之前所建立的儲存池。基於 ZFS 的非全域區域 zzone 會複製 (但仍會保留在 ZFS 池 pool 中) 並遷移至新啟動環境 zfs2BE

  1. 在第一次執行 Solaris Live Upgrade 時,請完成下列步驟。


    備註 –

    使用 Solaris Live Upgrade 建立新 ZFS 啟動環境,至少需要安裝 Solaris 10 10/08 發行版本。舊版沒有 ZFS 和 Solaris Live Upgrade 軟體可執行作業。


    1. 如有必要,請移除系統上現有的 Solaris Live Upgrade 套裝軟體。如果您要升級至新發行版本,則必須從該發行版本安裝套裝軟體。

      三種 Solaris Live Upgrade 套裝軟體 SUNWluuSUNWlurSUNWlucfg 組成了使用 Solaris Live Upgrade 進行升級所需的軟體。這些套裝軟體包含現有軟體、新功能和錯誤修正。若您在使用 Solaris Live Upgrade 前未移除現有套裝軟體並在系統上安裝新套裝軟體,則升級至目標發行版本時會失敗。


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    2. 從您要升級的發行版本安裝新的 Solaris Live Upgrade 套裝軟體。如需相關說明,請參閱安裝 Solaris Live Upgrade

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

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

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

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

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

      • 變更至修補程式目錄。


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


        # patchadd patch_id
        

        patch_id 為修補程式編號。請以空格分隔多個修補程式名稱。


        備註 –

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


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

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


        # init 6
        
  2. 建立 ZFS 根池。

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


    # zpool create rpool c3t0d0s0
    

    在此範例中,要建立的新 ZFS 名稱為 rpool。該池會建立於可啟動磁碟片段 c3t0d0s0 上。

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

  3. 將 USF 根 (/) 檔案系統遷移至新的 ZFS 根池。


    # lucreate [-c ufsBE] -n new-zfsBE -p rpool
    
    -c ufsBE

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

    -n new-zfsBE

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

    -p rpool

    將新建立的 ZFS 根 (/) 檔案系統置於 rpool 所定義的 ZFS 根池中。

    所有非共用的非全域區域都會與重要檔案系統一起複製到新啟動環境。建立新 ZFS 啟動環境可能需要一些時間。UFS 檔案系統資料將複製到 ZFS 根池。在建立非使用中的啟動環境後,您可以使用 luupgradeluactivate 指令,升級或啟動新的 ZFS 啟動環境。

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

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


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

    list 指令會顯示系統上所有資料集的名稱。在此範例中,rpool 為 ZFS 池的名稱,new-zfsBE 為新建立的 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/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
    rpool/dump                 1.95G      -  1.95G  - 
    rpool/swap                 1.95G      -  1.95G  - 

    在執行 luactivate 指令之前,所列出的新啟動環境掛載點都是暫時的掛載點。/dump/swap 磁碟區不會與原始 UFS 啟動環境共用,但是會在 ZFS 根池中與根池中的啟動環境共用。


範例 14–1 從安裝非全域區域的 UFS 根 (/) 檔案系統遷移至 ZFS 根池

在下列範例中,現有非全域區域 myzone 在 UFS 根 (/) 檔案系統中具有其非全域區域根。區域 zzone 在現有 ZFS 儲存池 pool 中,於 ZFS 檔案系統中有其區域根。使用 Solaris Live Upgrade 將 UFS 啟動環境 c2t2d0s0 遷移至 ZFS 啟動環境 zfs2BE。基於 UFS 的 myzone 區域會遷移至新 ZFS 儲存池 mpool,即 Solaris Live Upgrade 作業之前所建立的儲存池。基於 ZFS 的非全域區域 zzone 會複製 (但仍會保留在 ZFS 池 pool 中) 並遷移至新啟動環境 zfs2BE


# zoneadm list -iv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - myzone           installed  /zones/myzone                  native   shared
   - zzone            installed  /pool/zones                    native   shared

# zpool create mpool mirror c3t0d0s0 c4td0s0
# lucreate -c c1t2d0s0 -n zfs2BE -p mpool
Analyzing system configuration.
No name for current boot environment.
Current boot environment is named <c1t2d0s0>.
Creating initial configuration for primary boot environment <c1t2d0s0>.
The device </dev/dsk/c1t2d0s0> is not a root device for any 
boot environment; cannot get BE ID.
PBE configuration successful: PBE name <c1t2d0s0> PBE Boot Device 
</dev/dsk/c1t2d0s0>.
Comparing source boot environment <c1t2d0s0> 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 <zfsBE>.
Source boot environment is <c1t2d0s0>.
Creating boot environment <zfsBE>.
Creating file systems on boot environment <zfsBE>.
Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>.
Populating file systems on boot environment <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 <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 <zfsBE> successful.
Creation of boot environment <zfsBE> successful.

lucreate 作業完成,請使用 lustatus 指令檢視啟動環境狀態,如此範例中所示。


# lustatus
Boot Environment           Is       Active Active    Can    Copy      
Name                       Complete Now    On Reboot Delete Status    
-------------------------- -------- ------ --------- ------ ----------
c1t2d0s0                   yes      yes    yes       no     -         
zfsBE                      yes      no     no        yes    -         

# zoneadm list -iv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - myzone           installed  /zones/myzone                  native   shared
   - zzone            installed  /pool/zones                    native   shared

接下來,請使用 luactivate 指令啟動新 ZFS 啟動環境。例如:


# luactivate 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 <ZFSbe> successful.

將系統重新啟動至 ZFS BE。


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

確認新啟動環境和遷移區域的狀態,如此範例中所示。


# lustatus
Boot Environment           Is       Active Active    Can    Copy      
Name                       Complete Now    On Reboot Delete Status    
-------------------------- -------- ------ --------- ------ ----------
c1t2d0s0                   yes      yes    yes       no     -         
zfsBE                      yes      no     no        yes    -         

如果要轉至備用 UFS 啟動環境,則必須再次匯入在 ZFS 啟動環境中建立的所有 ZFS 儲存池,因為在 UFS 啟動環境中不會自動提供這些儲存池。當您切換回 UFS 啟動環境時,將會看到與如下內容類似的訊息。


# luactivate c1t2d0s0
WARNING: The following files have changed on both the current boot 
environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>:
 /etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current 
boot environment <ZFSbe> zone <global> and the boot environment to be 
activated <c1t2d0s0>. These files will not be automatically synchronized 
from the current boot environment <ZFSbe> when boot environment <c1t2d0s0>

其他資源

如需有關本章主題的額外資訊,請參閱表 14–1 所列的資源。

表 14–1 其他資源

資源 

位置 

如需有關非全域區域的資訊,包括簡介、規劃和逐步說明 

「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」

如需 ZFS 資訊,包括簡介、規劃和逐步說明 

「Solaris ZFS Administration Guide」

如需有關在具有 UFS 檔案系統的系統上使用 Solaris Live Upgrade 的資訊 

本書的第 1 部分使用 Solaris Live Upgrade 升級,包括第 8 章在已安裝非全域區域的系統上升級 Solaris 作業系統