1. 程式人生 > >安裝ZFS系統 modprobe失敗 且 每次重啟ZFS都會掉

安裝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的其他博文 具體的剛剛網頁崩潰了 找不到了(開得視窗太多...)