如果您是從目前執行中的系統建立啟動環境,則 lucreate 指令會將 UFS 根 (/) 檔案系統複製到 ZFS 根池。複製程序可能需要一些時間,實際情況取決於您的系統。
當您從 UFS 檔案系統進行遷移時,來源啟動環境可以是磁碟片段上的 UFS 根 (/) 檔案系統。您無法從 ZFS 根池上的來源啟動環境,在 UFS 檔案系統上建立啟動環境。
下列指令會從 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 中的指令相同。這些指令會建立新根池 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 (SVM) 磁碟區,則可遷移 UFS 檔案系統。若要從現有 SVM 配置建立 UFS 啟動環境,您必須從目前執行中的系統建立新啟動環境。然後再從新 UFS 啟動環境建立 ZFS 啟動環境。
Solaris Volume Manager (SVM) 簡介。ZFS 使用儲存池的概念來管理實體儲存。在過去,檔案系統建構於單一實體裝置之上。為了定址多個裝置並提供資料備援,引入磁碟區管理員的概念,以提供單一裝置的影像。因此,不必修改檔案系統,即可利用多個裝置。此設計多添一層複雜度。此複雜度最後阻止了某些檔案系統的進展,因為檔案系統無法控制虛擬化磁碟區上的資料實體放置。
ZFS 儲存池取代了 SVM。ZFS 完全去除了磁碟區管理。ZFS 會將裝置彙總至儲存池,而不強制建立虛擬化磁碟區。儲存池說明儲存裝置配置和資料備援的這類實體特性,並做為可建立檔案系統的任意資料存放區。檔案系統不再受限於個別裝置,使它們能夠與池中所有檔案系統共用空間。您不再需要預先決定檔案系統的大小,因為檔案系統會在分配給儲存池的空間內自動增長。當增加新儲存裝置時,池中的所有檔案系統可以立即使用此增加的空間,而不需再執行其他作業。在許多方面,儲存池都會扮演虛擬記憶體系統的角色。當記憶體 DIMM 增加到系統,作業系統不會強制您呼叫某些指令來配置記憶體,並將其指定給個別程序。系統上的所有程序都會自動使用此增加的記憶體。
遷移具有 SVM 磁碟區的系統時,會忽略 SVM 磁碟區。您可以在根池中設定鏡像,如下列範例所示。
在此範例中,使用 lucreate 指令搭配 -m 選項,會從目前執行中的系統建立新啟動環境。磁碟片段 c1t0d0s0 包含配置有 SVM 磁碟區的 UFS 根 (/) 檔案系統。zpool 指令會建立根池 c1t0d0s0 和 RAID-1 磁碟區 (鏡像) c2t0d0s0。在第二個 lucreate 指令中,-n 選項會將名稱指定給要建立的啟動環境 new-zfsBE-name。-p 選項會指定新啟動環境 rpool 的放置位置。
# lucreate -n ufsBE -m /:/dev/md/dsk/d104:ufs # zpool create rpool mirror c0t0d0s0 c0t1d0s0 # lucreate -n c0t0d0s0 -s ufsBE -p zpool |
啟動環境 c0t0d0s0 準備就緒,可以升級及啟動。