1、前言:ide
這個使用的是Oracle Solaris Live Upgrade工具。此工具具備如下功能:工具
■ 將UFS 根文件系統遷移到ZFS 根文件系統時,必須使用-p 選項指定現有ZFS 存儲池。
■ 若是UFS 根文件系統在不一樣的片上具備組件,則會將這些組件遷移到ZFS 根池。
■ 能夠遷移具備區域的系統,但在Solaris 10 10/08 發行版中支持的配置有限。this
■ 在同一池中建立新的ZFS BE 時,Oracle Solaris Live Upgrade 可使用ZFS 快照和克隆功能。lua
遷移的基本過程以下:3d
■ 在任何基於SPARC 或基於x86 的受支持系統上,安裝Solaris 10 10/0八、Solaris 105/0九、Solaris 10 10/09 或Solaris 10 9/10 發行版,或者使用標準升級程序從先前的Solaris 10 發行版進行升級。
■ 運行最低Solaris 10 10/08 發行版時,爲ZFS 根文件系統建立ZFS 存儲池。
■ 使用Oracle Solaris Live Upgrade 將UFS 根文件系統遷移到ZFS 根文件系統。
■ 使用luactivate 命令激活ZFS BE。blog
遷移以前的注意事項:get
■ Oracle Solaris 安裝程序GUI 的標準升級選項不可用於從UFS 遷移到ZFS 根文件系統。要從UFS 文件系統遷移,必須使用Oracle Solaris Live Upgrade工具。
■ 在進行Oracle Solaris Live Upgrade 操做以前,必須建立將用於引導的ZFS 存儲池。建立新池以前,必須使用片而不是整個磁盤建立ZFS 存儲池,而且確保要用於池中的磁盤具備SMI (VTOC) 標籤而不是EFI 標籤,才能使ZFS 存儲池可升級和可引導。若是使用的是EFI,在使用lucreate命令的時候會報錯的。it
■ 不能使用Oracle Solaris Live Upgrade 從ZFS BE 建立UFS BE。若是將UFS BE 遷移到ZFS BE,而且保留UFS BE,則能夠從UFS BE 或ZFS BE 引導。
■ 請勿使用zfs rename 命令重命名ZFS BE,由於Oracle Solaris Live Upgrade 功能沒法檢測名稱更改。後續命令(如ludelete)將會失敗。實際上,若是有要繼續使用的現有BE,則請勿重命名ZFS 池或文件系統。
■ 建立備用BE(主BE 的克隆)時,不能使用-f、-x、-y、-Y 和-z 選項從主BE 中包括或排除文件。在如下狀況下,您仍可使用包括和排除選項設置:
■ 雖然可使用Oracle Solaris Live Upgrade 將UFS 根文件系統升級到ZFS 根文件系統,但不能使用Oracle Solaris Live Upgrade 升級非根或共享文件系統。
■ 不能使用lu 命令建立或遷移ZFS 根文件系統。class
2、遷移過程:cli
一、查看當前文件系統的狀態:
二、添加新硬盤並分區:
這裏的c1t1d0是新添加的,用於建立zfs池。
三、建立zfs池rpool:
四、使用lucreate建立新的引導環境:
-c:若是系統以前沒有建立引導環境,則指定一個主引導環境,其名稱爲ufsBE。
-n:新的引導環境名稱。
-p:zfs池名稱。
這個過程根據系統環境過程可能比較長,耐心等待吧。
五、查看BE狀態:
處於激活狀態的是ufsBE,而且能夠引導。而zfsBE還未激活,因此狀態是no而且可刪除。
六、查看zfs組件:
這裏的dump使用系統推薦的大小便可。
七、激活zfsBE:
上面提到了兩點:
(1)、在此情況下只能使用shutdown或者init命令重啓系統,不然系統是不能使用zfsBE引導的。
(2)、若是系統系統失敗了,則可使用上述屏幕輸出的5條命令激活ufsBE,從ufsBE引導系統。
八、將系統從新引導至ZFS BE:
此過程會更新grub的menu.lst文件。
在引導的grub界面會多出上圖中的zfsBE兩行,此刻系統默認的引導環境是zfsBE。
九、系統起來後查看ZFS BE 是否處於活動狀態:
這裏的ufsBE能夠刪除掉了。
文件系統狀態:
zfs池狀態:
3、切換回ufsBE:
一、查看zfsBE是否處於激活狀態:
二、執行luactive命令,激活ufsBE:
三、執行init 6重啓系統:
四、系統起來後檢查是否正常:
ufsBE已處於激活狀態了。zfsBE能夠刪除了。
五、刪除不須要的BE:
這個因爲使用c1t1d0建立了zfs池,並且上面存在一個引導環境<zfsBE>,因此報錯。不過上面給出了提示,可使用-f參數強制刪除zfsBE。
完了以後重啓下,是否存在問題:
4、補充:
使用lucreate命令的時候,它會將須要的文件放在/etc/lu下面,具體內容以下圖所示:
其中GRUB_backup_menu是未執行lucreate命令以前的引導文件menu.lst,內容如圖所示:
GRUB_backup_menu.prev是執行完lucreate命令以後的引導文件menu.lst,內容如圖所示:
其餘的一些文件,有興趣的朋友能夠研究下。