linux nfs是什么意思

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享