NFS 就是 Network FileSystem 的縮寫,最早之前是由 Sun 這家公司所發展出來的。 它最大的功能就是可以透過網路,讓不同的機器、不同的作業系統、可以彼此分享個別的檔案 (share files)。所以,你也可以簡單的將他看做是一個檔案伺服器 (file server)!
[Server 端]
1、首先要啟動rpc服務(預設已開啟),若沒開啟可執行下列指令
#service rpcbind start (RHEL 6版本)
#service portmap start (RHEL 5以前版本)
2、安裝NFS主程式 nfs-utils
#yum -y install nfs-utils
3、編輯NFS主檔 /etc/exports
#vi /etc/exports
/share_folder 192.168.100.0/24(rw|ro) localhost(rw|ro)
(分享目錄路徑) (分享給哪個IP或網段) (分享給某台主機)
參數值 | 內容說明 |
rw ro |
該目錄分享的權限是可讀寫 (read-write) 或唯讀 (read-only),但最終能不能讀寫,還是與檔案系統的 rwx 及身份有關。 |
sync async |
sync 代表資料會同步寫入到記憶體與硬碟中,async 則代表資料會先暫存於記憶體當中,而非直接寫入硬碟! |
no_root_squash root_squash |
用戶端使用 NFS 檔案系統的帳號若為 root 時,系統該如何判斷這個帳號的身份?預設的情況下,用戶端 root 的身份會由 root_squash 的設定壓縮成 nfsnobody, 如此對伺服器的系統會較有保障。但如果你想要開放用戶端使用 root 身份來操作伺服器的檔案系統,那麼這裡就得要開 no_root_squash 才行! |
all_squash | 不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名使用者,通常也就是 nobody(nfsnobody) 啦! |
anonuid anongid |
anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名使用者的 UID 設定值,通常為 nobody(nfsnobody),但是你可以自行設定這個 UID 的值!當然,這個 UID 必需要存在於你的 /etc/passwd 當中! anonuid 指的是 UID 而 anongid 則是群組的 GID 囉。 |
4、啟動NFS服務
#service nfs start
[Client 端]
1、首先要啟動rpc服務(預設已開啟),若沒開啟可執行下列指令
#service rpcbind start (RHEL 6版本)
#service portmap start (RHEL 5以前版本)
2、查詢server分享的資源
#showmount -e 192.168.100.254(server ip)
3、建立掛載點並且掛載
#mkdir -p /home/nfs
#mount -t nfs 192.168.100.254:/share_folder /home/nfs
4、查詢是否掛載成功
#df