linux之 NFS伺服器與客戶端的安裝與配置

2021-09-08 13:49:30 字數 2994 閱讀 7019

今天實驗室需要搭建nas,我負責的是nfs的安裝與配置,現將整理的文件分享一下:

步驟:

一、伺服器端

(1)安裝rpm包

rpm -ivh nfs4-acl-tools-0.3.3-1.el5.x86_64.rpm

rpm -ivh libgssapi-0.10-2.x86_64.rpm

rpm -ivh libgssapi-devel-0.10-2.x86_64.rpm

rpm -ivh libevent-1.1a-3.2.1.x86_64.rpm

rpm -ivh libevent-devel-1.1a-3.2.1.x86_64.rpm

rpm -ivh nfs-utils-lib-1.0.8-7.6.el5.x86_64.rpm

rpm -ivh nfs-utils-lib-devel-1.0.8-7.6.el5.x86_64.rpm

rpm -ivh portmap-4.0-65.2.2.1.x86_64.rpm

rpm -ivh nfs-utils-1.0.9-42.el5.x86_64.rpm

(2)建立nfs檔案系統服務端目錄(例:/opt/nfs),並賦予使用者許可權

mkdir /opt/nfs

chown nastors:storage /opt/nfs

chmod 777 /opt/nfs

/opt/nfs *(rw,sync,no_root_squash)

注:①/opt/nfs為伺服器掛載目錄

②ip:*處指定客戶端ip,*表示所有ip

(4)啟動服務

/etc/init.d/portmap start  啟動rpc程序,為nfs提供埠

/etc/init.d/nfs start

/etc/init.d/nfslock start  來控制檔案一致性

(5)檢視埠和服務

rpcinfo –p localhost  看到portmap,nfs,mountd程序都已經開啟

(6)檢視nfs的設定

showmount -e localhost  檢視exports檔案

showmount -a localhost  檢視nfs與主機連線情況

(7)重新修改 /etc/exports ,使用exportfs[-aruv]來使系統明白

-a:全部掛載(或卸除) /etc/exports 檔案內的設定

-r :重新掛載 /etc/exports 裡面的設定,此外,亦同步更新 /etc/exports

及/var/lib/nfs/xtab 的內容!

-u :卸除某一目錄

-v :在 export 的時候,將分享的目錄顯示到螢幕上!

修改後一定記得重啟nfs服務:service nfsrestart

二、客戶端

(1)開啟客戶端的rpc

/etc/init.d/portmap start

(2)開啟客戶端的nfslock(與伺服器端對應)

/etc/init.d/nfslock start

(3)檢查一下rpc是否開啟

showmount –e 222.31.76.177[s2]

如果顯示出在伺服器端寫的exports檔案的內容,則說明成功

(4)進行nfs掛載

原因:①伺服器端做修改後未重啟服務:

exportfs -a

service nfs restart

②伺服器配置檔案/etc/exports中指定的客戶端ip不對

測試用例:

在222.31.76.177(伺服器)上建了兩個共享目錄/opt/nfs和/opt/nfs_cwn,前者是對所有ip都開放,後者只對222.31.76.195(客戶端)開放。經實驗,在195上能成功載入這兩個共享目錄,而另一台虛擬機器222.31.76.48(客戶端)只能掛載/opt/nfs。

結論:nfs能同時存在多個共享目錄,並分別指定共享範圍,都在伺服器配置檔案/etc/exports下設定。另一方面,多個客戶端也能同時使用這些共享目錄。

[s1]* rw:read-write,可擦寫的許可權;

* ro:read-only,唯讀的許可權;

* sync:資料同步寫入到記憶體與硬碟當中;

* async:資料會先暫存於記憶體當中,而非直接寫入硬碟!

* no_root_squash:

登入 nfs 主機使用分享目錄的使用者,如果是 root 的話,那麼對於這個分享的目錄來說,他就具有 root 的許可權! 這個專案『極不安全』,不建議使用!

* root_squash:

在登入 nfs 主機使用分享之目錄的使用者如果是 root 時,那麼這個使用者的許可權將被壓縮成為匿名使用者,通常他的 uid 與 gid 都會變成nobody(nfsnobody) 那個系統賬號的身份;

* all_squash:

不論登入 nfs 的使用者身份為何, 他的身份都會被壓縮成為匿名使用者,通常也就是nobody(nfsnobody) 啦!

* anonuid:

anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名使用者的 uid 設定值,通常為 nobody(nfsnobody),但是您可以自行設定這個 uid 的值!當然,這個 uid 必需要存在於您的 /etc/passwd 當中!

* anongid:同 anonuid ,但是變成 group id 就是了!

[s2]此ip為伺服器的ip

Ubuntu配置NFS伺服器與客戶端

環境 ubuntu16.04 64位 配置nfs伺服器。安裝nfs伺服器端 apt get install nfs kernel server mkdir opt nfs folder配置伺服器端配置 vi etc exports 在最後一行寫入 opt nfs folder rw,sync,no ...

linux伺服器nfs筆記

nfs是sun開發的,用於unix linux機器之間的資源共享。nfs是系統間進行檔案共享的一種網路協議 在nfs伺服器主機中進行設定 安裝nfs伺服器軟體包 啟動nfs伺服器程式 設定nfs共享目錄輸出 在nfs客戶機中進行設定 使用mount命令掛載nfs伺服器中的nfs共享目錄到檔案系統中 ...

檔案伺服器之NFS伺服器

nfs是network file system縮寫,可以通過往裡,讓不同的機器,不同的操作協同可以共享彼此的檔案。nfs最大問題在 許可權 客戶端與伺服器端必須具有相同的賬號才能夠訪問某些目錄或檔案。nfs啟動需要通過所謂的遠端呼叫 rpc nfs預設埠是隨機的,小於1024.rpc主要功能就是指定...