2015年5月25日

Cent OS Linux NFS 使用

最近系統環境使用到NFS做檔案的傳遞介接,做一下紀錄。使用的方式主要是在本案的VM環境中為NFS  Server,讓client端可以透過mount的方式丟檔過來,並同時需要透過client端刪除Server端的檔案

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



假設環境如下:

CentOS 6.5 - Server NFS IP : 192.168.211.1
CentOS 6.5 - Client NFS IP : 192.168.211.2

要檢查是否有安裝NFS可鍵入

rpm -qa | grep nfs

若無任何顯示則代表沒安裝
否則會顯示

nfs-utils-lib-1.1.5-9.el6.x86_64

nfs-utils-1.2.3-54.el6.x86_64

而若無安裝的話則鍵入

yum install nfs-utils

安裝後接著
在Server根目錄底下開了一個資料夾

mkdir nfs

接著並鍵入 

vim etc/exports

輸入以下內容

/nfs 192.168.211.2/24(rw, rw_squash, anonuid = 500, anongid = 500 , Sync)

在Server上設定這行後代表允許.2這台主機來mount它

參數值內容說明
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 囉。


因此我們在到.2上轉成root身分

mount -t nfs 192.168.211.1:/nfs /nfs

第一個/nfs是server端的NFS資料夾
第二個則是client端的NFS資料夾
若沒有要先mkdir




內容參考鳥哥

沒有留言:

張貼留言

<Javascript> How to uncompressed GZIP at front-end using Javascript

It's been a while I haven't share my coding work. In this article I would like to share how to receive a Gzip file via stream, unzip...