9-4
製作以 USB 隨身碟開機的步驟
參考:利用 failsafe 或 zpool import 命令導入其他 zfs 根系統內容
- 安裝時選擇安裝到 USB 隨身碟,建議使用 具備USB 3.0的主機及 USB3.0的隨身碟(2.0的速度真得很慢)
- 安裝的目的磁碟請選擇 USB隨身碟,格式選 zfs (RAID0) ---> 一支隨身碟 或 zfs (RAID1)--->兩支隨身碟做同步




- 修改USB隨身碟的開機設定:
安裝完成後以 USB隨身碟開機會在開機過程中卡住中斷,原因是因為以usb 開機時系統載入的速度較快,而此時系統尚未載入usb driver ,導致找不到 usb隨身碟上的 zfs rpool 分割區而無法正常開機,所以要在/boot/grub/grub.cfg的內容加上 rootdelay=20,再重開測試就可以正常開機,而加入這個指令是先延遲20秒的時間讓系統先載入 usb driver 後再載入 開機系統
- 以另一台主機(安裝zfs套件)來載入USB隨身碟的 rpool
在另一台主機上,插入剛剛安裝完成的USB隨身碟,並執行 zpool import (列出所有可待選的存儲池)
pool: rpool
- 匯入USB隨身碟裡的 rpool 儲存池並掛載到 /mnt 目錄
zpool import /mnt rpool
或
zpool import -f -R /mnt rpool
這裡需要講一下為什麼要用這些選項:
-f 是強制導入,因為該存儲池在之前可能曾被活躍系統使用,-f 可以忽略與此相關的警告錯誤;
-R /mnt 或其他替換的根路徑,這是避免該存儲池中的 <rpool>/export, <rpool>/export/home 等文件系統與當前系統中的相同掛載點衝突,導致某些文件系統無法掛載,採用 -R 選項可以使這些文件系統順利掛載到指定掛載點之下的子目錄中;
import 操作成功之後,執行 zfs mount 命令可查看已掛載的文件系統,這時候你可能會注意到,該存儲池中有些文件系統可能沒有自動掛載,比如查看結果如下
# zfs mount
這樣進入 /mnt 目錄,就可以編輯原存儲池根文件系統下的內容了。
- 接著進入 /mnt 目錄裡就可以編修 rpool 裡的檔案和目錄
- 進mnt目錄裡的 etc/目錄,pico boot/grub/grub.cfg , 並加上 rootdelay=20 這一行再按 Ctrl+O 存檔
- 修改完畢之後,再使用 zpool export rpool 將其導出,這樣與此相關的設備可以拔除到其他系統使用。
# zpool export rpool