天天看點

linux NFS白話文 服務及用戶端配置和問題解決

特别更新下(2018-06-16):因為這個NFS共享的硬碟還想放電影用電視盒看電影,但KODI這個軟體能找到NFS的伺服器位址,但是打不下一級目錄,是以經過各種百度終于找到了一個參數insecure,把這個加到exports這檔案的目錄參數中就可以了,這個意思好像允許大于1024這個端口号通路,問題解決。

因為弄了幾個小開發闆玩,但發現個問題是如果弄資料庫的話,如果把資料檔案放在TF卡上的話,時間一長TF卡就會出現問題,導至LINUX系統無法運作,最明顯問題就是重新開機後再也無法啟動了,隻能重做了,是以就考慮把資料檔案移到外面的裝置上,比如外置的機械硬碟,試過SAMBA的共享模式,但因為這種共享方式因為權限問題無法處理我所用資料庫(postgresql)建立的資料檔案,是以再次測試NFS後成功,NFS果然是給LINUX系統用的,真是完美,哈哈,下面我就把我實際操作的設定記錄下

一、所使用的裝置

裝置NanoPI neo一個,做postgresql服務端,及NFS的用戶端,因為要把postgresql的資料檔案放在NFS的目錄中

裝置其它裝置,我現在用的是OrangePI zeo,加的一個U盤,U盤使用的是EXT2格式的分區,因為LINUX分區才可以完全使用LINUX系統檔案管理的特性,EXT2還不會頻繁讀寫U盤,不會對U盤有太大的影響,如果是接的機械硬碟就建議使用EXT3格式了

所有裝置都使用armbian系統,相當于ubuntu,是以都是參考ubuntu的安裝配置使用的,其實LINUX都是相通的

PS:因為現在已經測試成功,是以下一打算把家裡路由器在網上找固件也刷上NFS,這樣就可以省個小硬體,并且用機械硬碟了,完美,哈哈

二、服務端

1、安裝nfs-kernel-server

sudo apt-get install nfs-kernel-server

2、配置nfs檔案

sudo vim /etc/exports

在最後一行添加下面内容并儲存

/mnt/u *(rw,sync,no_root_squash,no_subtree_check)

說明:

/mnt/u    這個是要共享的目錄,我是因為把U盤挂載在這個目錄中,是以就共享這個目錄了

*    這個是讓哪個網段可以通路,*代表所有可以PING通這個伺服器的機器,如需限定網段才可以通路,也可以寫192.168.1.0

括号裡的是各種參數,我這隻是參照各個資料後寫的常用的,詳細的自己看man說明吧

rw    可以讀寫

sync    這個不知道,我别人也有沒寫的,也沒看有啥影響

no_root_squash    這個不寫容易出現用戶端挂載後隻能是隻讀,因為權限問題

no_subtree_check    這個意思是忽略父目錄的權限

注意:  

(1)配置檔案中的*和左括号之間不能有空格,否則括号内的參數不能生效

(2)如果要多個目錄,就每個目錄寫一行就行

(3)儲存後要運作下exportfs -rv重新更新下配置生效,正常不應該有錯誤資訊

(4)重新開機nfs服務/etc/init.d/nfs-kernel-server restart 或 service nfs-kernel-server restart 都可以

(5)如果是外接的U盤或移動硬碟,建議分區要使用LINUX的分區,比如EXT2,3,4都行,U盤建議EXT2,相對不傷U盤,但異常斷電容易丢資料,機械盤建議使用EXT3,相對安全,速度較快,EXT4好像各種評測都說這個資源消耗太大,性能不怎麼高,也許有什麼更進階的功能,我是沒弄明白

三、用戶端

1、安裝nfs-common

sudo apt-get install nfs-common

2、檢視NFS服務端有哪些個共享的目錄

showmount -e 服務端的IP位址

3、加載NFS的目錄到本地就可以了

mount 服務端IP位址:檢視到的共享的目錄(比如/mnt/u) 要挂載到的本地的目錄(比如/mnt/nfs)

挂載完後就可以跟本地目錄一樣的使用了

繼續閱讀