Linux系統中的經典的語句”一切皆文件”,意思就是說在Linux系統中,我們要達成任何目標,都是通過配置文件去實現的。既然這樣,那我們就少不了跟文件打交道,今天就跟大家分享下如何在Linux系統中配置網絡文件系統(Network File System, NFS)服務來達到Linux系統之間的文件共享的目的。
之前有跟大家介紹過FTP(文件傳輸)協議,使得不同網絡系統上的文件可以互相傳輸,類似Windows系統中的復制粘貼功能,這樣同一文件在不同系統之間都要占內存,如果傳輸的文件比較大,對系統內存就不是很友好,而且修改文件也比較麻煩。今天跟大家分享的就是使用NFS服務將Linux服務端的共享資源掛載到客戶端,這樣客戶端基于TCP/IP協議,就像操作本地資源那樣對服務端的資源進行操作。
那么該如何使用NFS服務呢?且看以下步驟:
執行命令:dnf install nfs-utils
執行命令: mkdir /sharefile
chmod -R 777 /sharefile
echo “welcome to linuxprobe.com” > /sharefile/readme
執行命令: vim /etc/exports
/sharefile 192.168.10.*(rw,sync,root_squash)
執行命令:systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server
執行命令:showmount -e 192.168.10.10
執行命令: mkdir /clientsharefile
mount -t nfs 192.168.10.10:/sharefile /clientsharefile
這樣整個NFS服務的配置就配置好啦,如果想要NFS掛載共享服務一直有效,需要將其寫入到fstab文件中,這樣服務端的資源就會隨著服務器的開機而掛載。但是這樣會產生一個問題,如果掛載的資源太多或者資源長期掛載而不使用的話,就會造成資源浪費,如果每次在使用的時候會自動掛載,就會解決這一問題。autofs服務會解決這一問題,當客戶端需要訪問某一文件時,autofs會自動掛載這一文件。autofs使用方法如下:
執行命令:systemctl start autofs
systemctl enable autofs
這樣autofs服務就配置好啦,是不是特別簡單。Autofs服務只有檢測到有需要掛載的文件時才會自動掛載,大大提高工作效率。
這里要特別強調的一點是NFS服務只能用于Linux操作系統之間的文件共享,如果有Linux和Windows之間的文件共享需要考慮 用其他服務,如Samba服務程序等,這里就不詳述。如果想要深入了解NFS服務和Samba服務的小伙伴可以查閱《Linux就該這么學(第2版)》這本書,這本書里會比本文介紹的更加詳細,如執行命令需要配置的參數,每個參數表示什么意思,每個操作需要的注意事項,書中都會有,誠摯推薦給有需要的小伙伴。
上一篇文章講了SMB共享的問題,這一次再來說說訪問NFS共享的時候,可能經常會遇到的問題。
NFS共享最常見的問題,是搜索不到 NFS服務器。自己花了很多精力按照教程配置好了,但就是搜索不到,你的心里肯定非常難受。
有時即使搜索到了,也有可能打開文件夾以后是空的,或者打不開文件夾。針對這些問題,我收集整理了一些解決方案分享出來,希望對大家有所幫助。
(也可以看視頻版本)
在Windows里安裝Hanewin NFS Server
在群暉里開啟NFS服務,是最常見的兩種方式。
其實出問題最多的還是使用Windows的情況,我先從Windows說起
有很多人,其實一開始使用起來沒有什么問題,但某一天突然就不行了,這種情況很多時候是因為WINDOWS系統更新后導致的兼容問題
我舉個例子,有個網友,他系統版本從1809升級到2004,共享就出問題了,回滾到1809才恢復,所以如果你用作共享的電腦在使用上沒有什么問題,就盡量不要去升級。
還有些人喜歡安裝精簡版的windows系統,很有可能必要的服務就被精簡掉了,這也是導致搜索不到的一個原因。
第2種情況是防火墻對應端口沒有打開
目前最新的1.2.58版本NFS Server,在安裝目錄下有個firewall文件,是用來自動配置防火墻端口的,用右鍵以管理員權限運行即可,不用再像以前那樣手動添加windows防火墻端口了,非常方便。
如果打開防火墻端口還不行,在1.2.58版本里面可以嘗試取消勾選“Use Windows file-id as inode on NTFS volumes ”
如果遇到打開文件夾以后是空的,可以嘗試在掛載目錄后面加上 “-alldirs”, 掛載的時候子文件夾就出來了。
如果你需要最新版的Hanewin NFS Server,可以關注我,并在后臺回復“NFS”,即可獲取安裝包。
如果使用群暉遇到問題,大部分情況是有幾個設置沒有設置正確,我來說一下應該如何設置。
打開群暉的控制面板,選中共享文件夾
選擇你要共享的文件夾點擊編輯
打開NFS權限,我這里已經有了一條規則,就點擊編輯。
服務器名稱或IP地址這里,是填你播放器的IP,我見過有人填的是群暉的IP,那肯定是找不到NFS服務器的,我這里一般使用*,這樣全家的設備都可以訪問到了。
squash要選擇映射所有用戶為admin
下面的允許來自非特權端口的連接,和允許用戶訪問已裝載的子文件夾,都要勾選上。不然藍光機打開共享文件夾就是空的,KODI就會發生打不開共享文件夾的情況。
如果你家里的網絡環境沒有問題,剛才說的這些設置,基本就能解決NFS共享的問題。
但是有些人家里的網絡環境比較復雜,可能有幾個路由器,中間又加了交換機,甚至還會有設備之間IP沖突的問題,就很容易導致搜索不到NFS服務器,對網絡不了解的人,可能根本不知道哪個環節出了問題,這個時候你就需要試試簡化網絡, 只把播放器和服務器都接在一個路由器上,有可能問題就解決了。
然后還有一些文件的規范問題,比如文件夾和文件不要有特殊字符,也不要在共享目錄下有空文件夾,這些都會導致打不開文件夾或者打開文件夾是空的問題。
最后一種可能,就是藍光機系統真的出了bug,可能你恢復藍光機出廠設置就解決了。
據我不完全統計,這些共享問題中,90%都是windows系統, 所以真心建議大家使用群暉做NFS共享,省心很多很多。
好了,局域網共享視頻主要使用的兩個協議就講到這里了,如果還有什么疑問,可以給我留言。
最后如果你覺得不錯就請收藏轉發多多支持,謝謝大家!我們下次再見!