安裝ZFS系統 modprobe失敗 且 每次重啟ZFS都會掉
What is ZFS?ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.
本文在於記錄思路歷程 和所做的錯誤嘗試 。
硬體環境為 GIGABYTE (Dual10-GigabitEthernet) 2xIntelXeonScaleableGold 10xNVIDIAGTX1080Ti 480GBSSDforboot 8x12TBEnterpriseSATAHDD
軟體環境為centos1708 核心是7.4版本 zfsrpm包為el7_5.
我使用的是rpm包來安裝zfs檔案系統,做raidz1(等於raid1 50%做儲存 50%做計算)。命令如下:
rpm -ihv zfs-release.el7_5.noarch.rpm |
yum -y install zfs |
每次moprobe zfs 會報錯
發現可以通過加引數 -f 強制載入上ZFS 但是每次重啟機器都會掉
解決方法1:
在/etc/sysconfig/modules加入強制載入的指令碼
解決方法2:
更換更新的核心 更新的zfsrpm版本 方法和命令如下:
安裝環境改成centos1804 核心為7.5版本 zfsrpm改為el7_6版本。
實驗成功 重啟機器成功自動載入zfs
錯誤嘗試1:
因為dkms做為管理zfs.ko的工具 最先開始找的就是它。可見:提示編譯和安裝的環境不一樣
這個時候用的還是centos1708 我嘗試在未重灌系統的情況下 升級核心 安裝更新的zfs版本。zfs相關的rpm包和dkms很難卸乾淨,參考官網文件和論壇後得出以下結果:
dkms的情況變成了這樣:
機器能夠成功載入zfs 重啟沒有異常。
但是!!!!!
這個流程在國外的機器上能夠走通。在國內的機器上就走不通了。(懷疑是因為國內有牆 yum更新沒那麼新)
其實這個錯誤的本質就是 yum的是7.5版本上編譯的ko模組,但是現在要裝到7.6的系統上(yum 開機的時候會自動update),雖然也升級了核心 但是epel這個repo不是centos的標準庫 所以升上去的編譯檔案用的還是原來的7.5版本,並沒有被重新編譯。
所以yum install zfs的作用就顯示出來了。它下載rpm,編譯rpm產生的二進位制module ko檔案,放到該放的地方,然後順便執行下modprobe做點額外工作,但是不保證modprobe一定能成功(zfs對centos相容太差),所以才需要我們手動去probe和載入ko檔案。
所以 通過以上思考 想要根本上解決這個問題 需要更換裝機映象 並且更換更新的zfsrpm包。
為了解決這個問題 得到了以下的人和資料的幫助 謝謝:
http://open-zfs.org/wiki/Main_Page
曉東哥(俺師傅)
CSDN的其他博文 具體的剛剛網頁崩潰了 找不到了(開得視窗太多...)