新聞中心
NFS(Network File System)是一種分布式文件系統(tǒng),它可以讓計算機之間共享文件。在Linux下,NFS是一個常用的文件共享協(xié)議,它可以通過網(wǎng)絡訪問遠程文件系統(tǒng)。在許多情況下,我們需要查詢NFS以了解系統(tǒng)的狀態(tài)和運行狀況。本文將介紹如何在Linux下查詢NFS。

一、查詢已安裝NFS的軟件包
在Linux下,我們可以使用rpm或者dpkg等命令來查詢已經(jīng)安裝的軟件包,以驗證NFS是否已經(jīng)安裝。以CentOS系統(tǒng)為例,我們可以在終端中輸入以下命令:
rpm -qa|grep nfs
如果系統(tǒng)中已經(jīng)安裝了NFS軟件包,則會輸出相關(guān)信息,如下:
nfs-utils-1.3.0-0.65.el7_9.x86_64
nfs-utils-lib-1.1.5-18.el7.x86_64
nfs4-acl-tools-0.3.6-1.el7.x86_64
如果沒有任何輸出,則表示系統(tǒng)中沒有安裝NFS軟件包,需要手動安裝。
二、檢查nfs-utils服務是否正在運行
在Linux下,我們可以使用systemctl命令來查詢服務狀態(tài)。在查詢NFS時,我們需要檢查nfs-utils服務是否正在運行。在終端中輸入以下命令:
systemctl status nfs-utils
如果nfs-utils服務正在運行,則會輸出類似如下信息:
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2023-11-26 16:48:24 UTC; 2 days ago
Process: 2023 ExecStartPost=/bin/sh -c systemctl start nfs-server.service (code=exited, status=0/SUCCESS)
Process: 2023 ExecStart=/usr/in/rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT (code=exited, status=0/SUCCESS)
Process: 1994 ExecStartPre=/usr/in/exportfs -r (code=exited, status=0/SUCCESS)
Mn PID: 2023 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
如果nfs-utils服務沒有運行,則會輸出類似如下信息:
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2023-11-26 16:58:53 UTC; 2 days ago
Process: 2023 ExecStartPost=/bin/sh -c systemctl start nfs-server.service (code=exited, status=0/SUCCESS)
Process: 2023 ExecStart=/usr/in/rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT (code=exited, status=0/SUCCESS)
Process: 1994 ExecStartPre=/usr/in/exportfs -r (code=exited, status=0/SUCCESS)
三、使用showmount命令查詢客戶端的NFS掛載點
showmount命令可以查詢NFS服務器上的掛載列表,以及客戶端上掛載的文件系統(tǒng)。在客戶端終端中輸入以下命令:
showmount -e [nfs服務器地址]
其中,[nfs服務器地址]為NFS服務器的IP地址或主機名。
如果客戶端沒有掛載任何文件系統(tǒng),則會輸出類似如下信息:
clnt_create: RPC: Port mapper flure – Unable to receive: errno 111 (Connection refused)
如果客戶端已經(jīng)掛載了文件系統(tǒng),則會輸出類似如下信息:
Export list for [nfs服務器地址]:
/[共享目錄] [客戶端地址]
/[共享目錄] [客戶端地址]
其中,[共享目錄]為NFS服務器上共享的目錄名稱,[客戶端地址]為客戶端的IP地址或主機名。
四、使用rpcinfo命令查詢NFS相關(guān)信息
rpcinfo命令可以查詢與RPC相關(guān)的信息,例如NFS服務器的狀態(tài)等。在終端中輸入以下命令:
rpcinfo -p [nfs服務器地址]
其中,[nfs服務器地址]為NFS服務器的IP地址或主機名。
如果NFS服務器正常運行,則會輸出類似如下信息:
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 20238 mountd
100005 1 tcp 20238 mountd
100005 2 udp 20238 mountd
100005 2 tcp 20238 mountd
100005 3 udp 20238 mountd
100005 3 tcp 20238 mountd
100003 3 udp 2023 nfs
100003 4 udp 2023 nfs
100021 1 udp 37468 nlockmgr
100021 3 udp 37468 nlockmgr
100021 4 udp 37468 nlockmgr
100021 1 tcp 44189 nlockmgr
100021 3 tcp 44189 nlockmgr
100021 4 tcp 44189 nlockmgr
100024 1 udp 51909 status
100024 1 tcp 40709 status
其中,100003代表NFS,100005代表mountd,100021代表nlockmgr。
五、使用nfsstat命令查詢NFS的統(tǒng)計數(shù)據(jù)
nfsstat命令可以查詢NFS的統(tǒng)計數(shù)據(jù)。在終端中輸入以下命令:
nfsstat
如果NFS正常運行,則會輸出類似如下信息:
Server rpc stats:
calls retrans authrefrsh
0 0 0
sends badxids timeouts
0 0 0
newcreds badverfs timers
0 0 0
Client rpc stats:
calls retrans authrefrsh
0 0 0
sends badxids timeousts
0 0 0
newcreds badverfs timers
0 0 0
其中,calls表示RPC調(diào)用數(shù),retrans表示重新傳輸數(shù),badxids表示無效的XID,timeouts表示超時次數(shù)。
綜上所述,本文介紹了在Linux下查詢NFS的方法,包括查詢已安裝NFS的軟件包、檢查nfs-utils服務是否正在運行、使用showmount命令查詢客戶端的NFS掛載點、使用rpcinfo命令查詢NFS相關(guān)信息,以及使用nfsstat命令查詢NFS的統(tǒng)計數(shù)據(jù)。通過這些方法,我們可以了解NFS的運行情況和狀態(tài),并進行必要的維護和優(yōu)化。
相關(guān)問題拓展閱讀:
- Linux 環(huán)境下搭建NFS服務
Linux 環(huán)境下搭建NFS服務
NFS(Network File System),網(wǎng)絡文件存儲系統(tǒng),它最早是由 Sun 公司開發(fā)的,也是 FreeBSD 支持的文件系統(tǒng)中的一個,它允許網(wǎng)絡中的計算機之間通過TCP/IP 網(wǎng)絡共享資源。通過 NFS 協(xié)議,我們本地 NFS 的客戶端應用可以透明的讀寫位于服務端 NFS 服務器上的文件,就像訪問本地文件一樣方便。簡單的理解,NFS 就是可以透過網(wǎng)絡,讓不同的主機,不同的操作系統(tǒng)可以共享存儲的服務。
NFS 在文件傳送或信息傳送過程中依賴 RPC(Remote Procedure Call)協(xié)議,即遠程過程調(diào)用,NFS的各項功能都必須向 RPC 來注冊,如此一來 RPC 才能了解 NFS 這服務的各項功能 Port,PID,NFS 在服務器所監(jiān)聽的 IP 等,而客戶端才能透過 RPC 的詢問找到正確對應的端口,所以 NFS 必須要有 RPC 存在是才能成功的提供服務,簡單的理解二者關(guān)系:NFS 是一個文件存儲系統(tǒng),而 RPC 是負責信息的傳輸。
通過上面的簡介,我們知道 NFS 服務需要依賴 RPC 服務,所以這里 NFS 服務端需要安裝 rpcbind 和 nfs-utils ,客戶端只需要安裝 nfs-utils 即可,由于我們選用 CentOS 系統(tǒng),所以可以使用 yum 快速的安裝。
然后安裝 NFS 服務
另:Ubuntu 16.04 安裝命令
我們在服務端創(chuàng)建一個共享目錄 /data/share ,作為客戶端掛載在遠端入口,然后設置權(quán)限
然后,修改 NFS 配置文件 /etx/exports
說明一下,這里配置后邊有很多參數(shù),每個參數(shù)有不同的含義,具體可以參考下邊。此處,我配置了將 /data/share 文件目錄設置為允許IP為 192.168.0.0/24 區(qū)間的客戶端掛載。然后,如果客戶端IP不在該區(qū)間也想要掛載的話,可以設置IP區(qū)間更大或者設置為 * 即允許所有客戶端掛載,例如: /home *(ro, sync,insecure,no_root_squash) 設置 /home 目錄允許所有客戶端只讀掛載。
接下來,我們先啟動 RPC 服務
我們發(fā)現(xiàn),啟動了 NFS 服務后,RPC 注冊的端口列表明顯增多。現(xiàn)在服務端都啟動起來了,在服務端看下是否正確加載了設置的 /etc/exports 配置
最后,在另一臺Linux虛擬機上測試一下,是否能夠正確掛載。首先,我們可以在客戶端查看下NFS服務端設置可共享的目錄信息
然后,在客戶端創(chuàng)建掛載目錄/share
最后,掛載遠端目錄到本地 /share 目錄
可以看到,可以正確將遠端 NFS 目錄掛載到本地。注意:掛載點 /share 目錄必須已經(jīng)存在,而且目錄中沒有文件或子目錄
最后,我們在 NFS 服務端 /data/share 目錄下創(chuàng)建一個文件,看下客戶端能否正確讀取并修改
都可以了,這里因為上面設置了 NFS 遠端目錄權(quán)限為 rw 擁有讀寫權(quán)限,如果設置為 ro ,那么客戶端只能讀取,不能寫入。根據(jù)實際應用場景合理配置。
NFS 默認使用 UDP協(xié)議進行掛載,為了提供 NFS 的穩(wěn)定性,可以使用 TCP 協(xié)議掛載,那么客戶端掛載命令如下:
最后,卸載命令
linux 查詢nfs的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 查詢nfs,Linux下如何查詢NFS?,Linux 環(huán)境下搭建NFS服務的信息別忘了在本站進行查找喔。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
當前文章:Linux下如何查詢NFS?(linux查詢nfs)
文章地址:http://www.dlmjj.cn/article/cohoshd.html


咨詢
建站咨詢
