Linux下NFS伺服器的搭建與配置

2021-08-21 11:52:13 字數 1975 閱讀 6066

一、nfs服務簡介

nfs 就是networkfilesystem 的縮寫,最早之前是由sun 這家公司所發展出來的。 它最大的功能就是可以透過網路,讓不同的機器、不同的作業系統、可以彼此分享個別的檔案 (share files)。所以,你也可以簡單的將他看做是乙個檔案伺服器 (file server) 呢!這個 nfs 伺服器可以讓你的 pc 來將網路遠端的 nfs 伺服器分享的目錄,掛載到本地端的機器當中, 在本地端的機器看起來,那個遠端主機的目錄就好像是自己的乙個磁碟分割槽槽一樣 (partition)!使用上面相當的便利!

因為 nfs 支援的功能相當的多,而不同的功能都會使用不同的程式來啟動, 每啟動乙個功能就會啟用一些埠來傳輸資料,因此, nfs 的功能所對應的埠才沒有固定住, 而是隨機取用一些未被使用的小於 1024 的埠口來作為傳輸之用。但如此一來又造成客戶端想要連上伺服器時的困擾, 因為客戶端得要知道伺服器端的相關埠口才能夠聯機吧!

此時我們就得需要遠端過程呼叫 (rpc) 的服務啦!rpc 最主要的功能就是在指定每個 nfs 功能所對應的 port number ,並且回報給客戶端,讓客戶端可以鏈結到正確的埠口上去。 那 rpc 又是如何知道每個 nfs 的埠口呢?這是因為當伺服器在啟動 nfs 時會隨機取用數個埠口,並主動的向 rpc 註冊,因此 rpc 可以知道每個埠口對應的 nfs 功能,然後 rpc 又是固定使用 port 111 來監聽客戶端的需求並回報客戶端正確的埠口, 所以當然可以讓 nfs 的啟動更為輕鬆愉快了!

所以你要注意,要啟動 nfs 之前,rpc 就要先啟動了,否則 nfs 會無法向 rpc 註冊。 另外,rpc 若重新啟動時,原本註冊的資料會不見,因此 rpc 重新啟動後,它管理的所有服務都需要重新啟動來重新向 rpc 註冊。

當客戶端有 nfs 檔案訪問需求時,他會如何向伺服器端要求資料呢?

客戶端會向伺服器端的 rpc (port 111) 發出 nfs 檔案訪問功能的詢問要求;

伺服器端找到對應的已註冊的 nfs daemon 埠口後,會回報給客戶端;

客戶端了解正確的埠口後,就可以直接與 nfs daemon 來聯機。

由於 nfs 的各項功能都必須要向 rpc 來註冊,如此一來 rpc 才能了解 nfs 這個服務的各項功能之 port number, pid, nfs 在伺服器所監聽的 ip 等等,而客戶端才能夠透過 rpc 的詢問找到正確對應的埠口。 也就是說,nfs 必須要有 rpc 存在時才能成功的提供服務,因此我們稱 nfs 為 rpc server 的一種。事實上,有很多這樣的伺服器都是向 rpc 註冊的,舉例來說,nis (network information service) 也是 rpc server 的一種呢

二、所需要的軟體及軟體結構

要設定好 nfs 伺服器我們必須要有兩個軟體才行,分別是:

nfs 主程式:nfs-utils

就是提供 rpc.nfsd 及 rpc.mountd 這兩個 nfs daemons 與其他相關 documents 與說明檔案、執行檔案等的軟體!這個就是 nfs 服務所需要的主要軟體啦!一定要有喔!

nfs 這個咚咚真的是很簡單,上面我們提到的 nfs 軟體中,配置檔案只有乙個,執行檔也不多, 記錄檔案也三三兩兩而已吶!趕緊先來看一看吧! ^_^

就說不難吧!主要就是這幾個囉!

yum -y install nfs-utils rpcbind

mkdir /opt/nfs

cat /etc/exports

/opt/nfs 172.16.1.1/32(rw,no_root_squash,sync)

exportfs -r

service rpcbind start

service nfs start

showmount -e localhost

mount -t nfs localhost:/opt/nfs /wode

Ubuntu下搭建nfs伺服器

nfs分伺服器和客戶機,當使用遠端檔案時只要用mount命令就可把遠端nfs伺服器 ubuntu系統 上的檔案系統掛載在本地檔案系統之下,操作遠端檔案與操作本地檔案沒有不同。nfs伺服器所共享檔案或目錄記錄在 etc exports檔案中。嵌入式linux開發中,會經常使用nfs,目標系統 開發板a...

NFS 伺服器搭建

首先在vmware上搭建兩個系統我選擇的兩個ubuntu系統 ubuntu1 ip位址192.168.1.49 ubuntu2 ip位址192.168.1.51 兩個系統分別執行下面的命令 sudo apt get install nfs kernel server 安裝 nfs 伺服器端 sudo...

搭建NFS伺服器

搭建乙個nfs伺服器 nfs應用場景及好處 nfs配置 在服務端和客戶端安裝nfs utils 在服務端啟動服務 systemctl start rpcbind nfs serversystemctl start rpcbind首先建立共享目錄,mkdir p nfs 在修改 etc exports...