Download presentation
Presentation is loading. Please wait.
1
NFS Network File System
蘇柏宇 鍾燿宇
2
NFS 簡介 NFS Server 端的使用設定 NFS Client 端的使用設定
3
NFS 基本簡介 NFS(Network File System)是由昇陽公司於1984年開發。幾乎所有版本的UNIX/Linux都有支援NFS。 主要使用 RPC ( Remote Procedure Call:遠端程序呼叫 ) 機制來運作。運作原理是在用戶端上,透過網路將遠端主機共用的檔案系統,利用掛載方式加入本機的檔案系統。 分享目錄的一端稱為NFS伺服端,而使用的一端稱為NFS用戶端,主要是讓主機之間,能透過掛載的方式來存取對方所分享出來的資源。
4
RPC 是讓用戶端電腦上所執行的程式呼叫遠端電腦程式來幫忙執行相關服務,再將結果回傳給用戶端。
NFS Server 啟動後,portmap 就會動態分配 port number 給提供 NFS 服務的相關 daemon。
5
參考http://linux.vbird.org/ NFS 主機分享目錄與 Client 掛載示意圖
6
RPC(Remote Procedure Call)
開放軟體基金會(OSF)所定義之分散式計算環境(DCE)規格裡頭的一部份。 由於NFS不處理網路封包的問題,因此封包實際的傳輸就經由RPC協定來處理,因此在使用NFS時,Server端跟Client端都必須安裝RPC系統。 RPC把網路的通訊,看成是程式中的程序,當程式需要遠端程序提供某種服務或接受訊息時,直接呼叫一個程序,而這個程序有相對應的遠端程序,可以在呼叫後被執行。
7
Portmap Portmap可以在RPC程序啟動後,將使用中的Port記錄起來,之後Client端在連結時就會透過Portmap所使用的Port 111查詢遠端程序所使用的Port。 查詢是否開啟Portmap服務,可使用rpcinfo來檢查。 rpcinfo -p [Hostname|Address] 啟動Portmap:#service portmap start 開機時啟動Portmap:#chkconfig portmap on
8
NFS 套件及瀏覽套件內容 檢查相關套件是否安裝 # rpm -qa | grep nfs # rpm -qa | grep portmap
9
NFS Server 端相關設定 系統服務啟動設定 開機時啟動 NFS # chkconfig nfs on
用法: chkconfig --list [名稱] chkconfig --add <名稱> chkconfig --del <名稱> chkconfig [--level <執行等級們>] <名稱> <on|off|reset|resetpriorities> 開機時啟動 NFS # chkconfig nfs on 開機時不啟動 NFS # chkconfig nfs off
10
NFS 服務 啟動 NFS # service nfs start 停止 NFS # service nfs stop
檢查NFS狀態 # service nfs status 重新啟動NFS # service nfs restart 重新載入NFS # service nfs reload
11
NFS 分享設定 系統→管理→伺服器設定→NFS 此視窗下可設定資料夾分享的、對象、權限等。
12
點選新增 目錄:欲分享之資料夾位置。 主機:欲分享之遠端主機。 (例: 基本權限 192.168.117.128 192.168.117.*
*.* ) 基本權限
14
相關權限參數 ro 分享目錄只能唯讀。 rw 分享目錄可以讀取和寫入。 insecure 允許來自大於戶號1024的連線。
insecure_locks 允許非安全的檔案鎖定。 no_subtree_check 停用subtree的檢查。
15
sync、async no_wdelay nohide mp 要求同步寫入操作。 強制立即同步寫入操作。 隱藏以下的檔案系統。
只匯入掛載的。
16
root_squash no_root_squash all_squash
Client 若以 root 存取,會把 root 的權限改為和 anonymous 一樣。 no_root_squash Client 若以 root 存取,不限制權限。 all_squash Client 是否為 root,其權限都只跟 anonymous 一樣。
17
NFS 設定檔 # cat /etc/exports
18
在防火牆下使用NFS NFS的rpc.statd、rpc.lockd 及 rpc.mountd 的port number都是動態分配的。
因此想讓iptables能夠開放這三個服務的port,就必須將這三項服務的port number固定。
19
Portmap預設port為固定number 111。
並固定 NFS 所使用到的相關port number
20
防火牆安全性設定 將NFS4打勾 新增其他port portmap rpc.statd rpc.lockd rpc.mountd
21
NFS Client 端的使用設定與操作 在用戶端掛載NFS分享目錄 使用showmount指令查詢NFS伺服器所分享的目錄與對象主機。
showmount -e servername 可查看Server端有哪些分享目錄 。 showmount -a 可看出目前所有的mount。
23
建立與掛載目錄 # mkdir /share # mount servername:/share /share # cd /share
手動建立一個空白資料夾 # mount servername:/share /share 將伺服器分享之資料夾掛載至本機資料夾中 Ex: mount :/share /share # cd /share # ls -l
24
無法連接的原因 mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive 被防火牆阻擋,伺服器端相關的port number未開啟。 mount: mount to NFS server ' ' failed: System Error: No route to host. 伺服器端防火牆選項設定中信任的服務”NFS4”並未開啟。 rpc mount export: RPC: Unable to receive; errno = No route to host 伺服器端相關port number不通。
25
無法掛載的原因 mount: servername:/share failed, reason given by server: Permission denied 客戶端權限不足。 mount: RPC: Port mapper failure - RPC: Unable to receive mount: RPC: Program not registered 伺服器端NFS服務或portmap服務尚未啟動。 mount: mount to NFS server ' servername ' failed: timed out (retrying). 伺服器端防火牆udp port 未開啟。
26
開機時自動掛載 # vi /etc/fstab 加入 0:是否要檢查檔案系統,通常是ext2檔案系統才需要設為1。
0:檢查檔案系統的順序,0 表示第0 順位。
27
取消 NFS 掛載 umount folder name 若出現以下訊息
umount: folder name: device is busy 請確認目前該資料夾是否正在使用中。
28
參考資料 藍色部落-Linux網管實驗室 http://itgroup.blueshop.com.tw/yjhwang/linuxlab
Similar presentations