首頁  >  文章  >  運維  >  linux nfs是什麼意思

linux nfs是什麼意思

青灯夜游
青灯夜游原創
2022-04-14 16:53:495231瀏覽

在linux中,nfs是指“網路檔案系統”,是能使用戶存取伺服器的檔案系統;它可以將遠端的磁碟掛載到本地,當作本地磁碟使用。透過NFS,使用者和程式可像存取本機檔案一樣存取遠端系統的檔案;NFS採用C/S架構,服務端需開啟TCP2049連接埠。

linux nfs是什麼意思

本教學操作環境:linux5.9.8系統、Dell G3電腦。

一、NFS簡介

  NFS是Network  File System(網路檔案系統),是能讓使用者存取伺服器的檔案系統。主要功能是透過網路讓不同的伺服器之間可以共用檔案或目錄。

NFS是一種可以將遠端的磁碟掛載到本機,當作本機磁碟所使用的技術。透過NFS,使用者和程式可以像存取本機檔案一樣存取遠端系統上的檔案。

NFS採用C/S架構,服務端開啟TCP2049埠等待客戶端連線。

二、NFS安裝與啟動

在NFS安裝時,由於NFS是基於rpcbind,因此在安裝NFS時,需要先安裝rpcbind,NFS服務安裝指令為:

yum install -y rpcbind nfs-utils

同樣的,在啟動時,也是先啟動rpcbind,再啟動NFS,相關命令如下:

systemctl start rpcbind
systemctl start nfs-utils

NFS服務啟動後,會監聽本地2049端口,如下所示:

linux nfs是什麼意思

三、NFS使用實戰

要進行NFS的設置,首先需要在服務端配置允許掛載的客戶端IP位址和權限,需要開啟/etc/exports文件,在文件中寫入:

/nfs 192.168.136.101(rw)

其中,前面的/nfs表示允許掛載的目錄,後面的192.168.136.101表示允許掛載的客戶端,也可以用*表示允許任意主機進行掛載,rw表示掛載的權限是讀寫權限。
除了rw權限外,其他常用的權限有:
1、ro——表示唯讀權限
2、sync——表示資料同步寫入到記憶體和磁碟中
3、async ——表示資料先存於記憶體中,而非直接寫入磁碟
4、secure——表示NFS在傳輸檔案時使用1024以下的連接埠
5、insecure——表示NFS在傳輸檔案時使用1024以上的連接埠
6、all_squash——表示檔案的UID和GID為anonymous,適合共享目錄配置
7、no_all_suash——表示保留檔案的UID和GID
在完成上述操作後,需要執行指令:

exportfs -rv

進行重新讀取NFS的設定檔。
接下來,在客戶端上,執行掛載指令:

showmount -e 192.168.136.210mount 192.168.136.210/nfs /media

就可以成功掛載文件,掛載成功後,執行指令df -h查看掛載結果,如下所示:

linux nfs是什麼意思

注意:在進行掛載操作之前,必須關閉服務端的防火牆!否則掛載會失敗。

但是,這樣雖然可以成功掛載,並且在服務配置上有讀寫權限,但是在實際操作中,可能在客戶端並沒有對掛載目錄的寫入權限,這是因為在服務端系統中還存在一個權限檢查的問題。由於NFS服務預設是由使用者nfsnobody運行的,而如果該使用者對/nfs目錄並沒有寫權限的話,客戶端就也不能對該目錄進行寫如操作,因此,我們需要授予nfsnobody使用者寫的權限,如:

chonw nfsnobody.nfsnobody -R /nfs

這樣,我們就可以像本地掛載一樣,使用NFS檔案系統了。

四、NFS掛載最佳化

在上述實戰中,我們雖然可以進行NFS的掛載,並完成了預期的效果,但是在實戰場景中,為了提升NFS的讀寫速度,我們不會使用如下的mount指令:

mount -t nfs -o noatime,nodiratime,rsize=131072,wsize=131072,intr 192.168.126.210:/nfs  /media

在上述指令中,-t參數表示指定掛載的目標檔案系統為nfs,noatime表示取消更新檔案系統上的inode存取時間,nodirtime表示取消更新檔案系統上的directory inode存取時間,在高並發環境下可以使用這兩個選項以提升系統效能,rsize和wsizei表示讀取和寫入的區塊的大小,這個設定值UID影響客戶端和伺服器寫入資料的緩衝儲存量,在裝置效能較高的情況下,可以將該值設定的大一些,以提升NFS系統進行檔案傳輸的能力。

相關推薦:《Linux影片教學

以上是linux nfs是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn