debian上安裝nfs服務器

安裝:

#apt-get install nfs-common portmap(客戶端)

#apt-get install nfs-kernel-server nfs-common portmap(服務器)

配置

安裝好NFS服務器後,/etc下會有一個NFS的配置文件exports,初次配置時此文件是空的,需要向該文件中添加內容。此文件的格式在exports(5)中,具體可以man一下,這裏舉一些例子:

 

#File system to share      Allowed client hosts (optional list)

/nfs_server             192.168.1.123(rw,no_root_squash)

解釋:

第一行是註釋,提醒exports文件的格式;

後面每一行都列出了要共享的文件系統以、可以訪問文件系統的主機,還指定了可以訪問文件系統主機的可能方式:

  • 使用通配符(*.zju.edu.cn),表示在.zju.edu.cn域中的所有主機都可以訪問/usr/local文件系統;
  •  使用NIS網絡組(在NIS網絡組dept_hosts中的所有主機都可以安裝/var/mail文件系統)。注意,這個例子只有在使用NIS的情況下有效。
  • 使用IP地址(所有IP地址在10.13.72.6/12範圍內的主機都可以訪問/var/spool/news

每一行中還列出了一些可選項,以指明訪問權限:

  • ro: readonly; rw: readwrite;
  • async選項指定了使用NFSv3中的文件服務器向磁盤寫入數據的方式,允許服務器在完成寫數據之前向客戶端返回結果,故是異步的。
  • Sync:可想而知,它應該在向客戶端返回控制權以前就應完成數據的寫入。這是NFSv2的方法。
  • root_squash: 表示客戶端上的root用戶應該映射爲服務器上的nobody用戶的UID。通常在所有的NFS設置中都需要這樣做,否則的話客戶端上的root用戶就會在服務器的輸出文件系統中具有root的特權了。
  • All_squash: 這個選項把root_squash擴展爲所有的用戶,即客戶端上的所有UID都映射爲服務器上的nobody用戶的UID

啓動

在準備好共享文件後,需要啓動文件服務以處理客戶端請求的程序和守護進程:exportfs(8), rpc.quotad(8c), rpc.muntd(8), rpc.nfsd(8)。啓動以上這些程序和守護進程的最簡單方式是運行/etc/init.d/nfs-kernel-server start命令(root 身份)。

一些操作實例

Exportfs(8)命令用來維護服務器當前的共享文件系統表,這個表就是/var/lib/nfs/xtab。對於典型的NFS服務器來說,exportfs要使用-r選項開始運行,這樣可以將內存中的/var/lib/nfs/xtab文件與/etc/exports文件進行同步。因此當我們對exports文件作了修改,則需要手工運行exportfs –r。注意,不要手動編輯/var/lib/nfs/xtab文件,而要使用exportfs命令。

       還有一種情況是我們只想臨時性的共享一個目錄,因此不想編輯/etc/exports文件,這可以通過以下方式做到:

exportfs –o –ro 10.13.72.6: /mnt/cdrom

這樣,cdrom的共享是臨時性的,在系統重啓後不再輸出。當然,我們可以使用以下命令來收回cdrom的共享:

exportfs –u 10.13.72.6: /mnt/cdrom

另一個值得注意的地方是,當我們需要增加一個共享文件系統時,在編輯好/etc/exports文件後,要使用exportfs命令進行同步。但exportfs同步命令有兩個選項 –a-r。如果當前的共享文件中存在臨時的文件系統,則使用exportfs –r後,/var/lib/nfs/xtab/etc/exports文件完全同步,導致臨時共享文件系統會被系統收回。而exportfs –a命令可以保持當前共享的文件系統,只添加在/etc/exports文件中列出的所有文件系統。

最後,可以通過exportfs –v(詳細模式)來查看當前共享的文件系統。

 

補上NFS客戶端推薦的參數配置

nfsvers=3,wsize=32768,rsize=32768,rw,bg,intr,hard,tcp

參數                        意義
nfsvers=3                   NFSv3,默認是 NFSv2,而 NFSv4 比較複雜,不是所有內核都支持。
wsize=32768             設置 32K 的寫緩存,對於 UDP 方式來說,8K 是推薦值。
rsize=32768               設置 32K 的讀緩存,對於 TCP 方式來說,32K 是推薦值。
rw                              讀寫方式,根據權限需要有時也設置爲 ro(read only)
bg                              如果安裝失敗(服務器沒有響應), 在後臺一直嘗試,繼續發其他的安裝請求
hard                            如果服務器當機,讓試圖訪問它的操作被阻塞,直到服務器恢復爲止
intr                            允許用戶中斷被阻塞的操作(並且讓它們返回一條錯誤消息)
tcp                             選擇通過 TCP 來傳輸,默認的 UDP 不好。

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章