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)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章