Wednesday, October 10, 2007

NFS 分享資料夾的設定方法

這是以前寫在別的地方的筆記,因為最近有用到所以挖了出來,autofs 的部份這次並沒有測試。

NFS 是用於 Linux 與 Linux 系統網路連線的工具,功能類似 Windows 下的網路芳鄰。一般 Linux 與 Windows 連線必須使用 Samba ,然而 Linux 與 Linux 則是使用 NFS 較簡單快速。

1.架設NFS Server
在 debian 下要架設 NFS 伺服器必需安裝以下套件
apt-get install nfs-common nfs-kernel-server portmap

接著修改 /etc/exports 以設定要分享的目錄
$ sudo vim /etc/exports

#[欲分享的目錄]
  [主機名稱1或IP1(參數1,參數2)]  [主機名稱2或IP2(參數3,參數4)]
/tmp     *(rw,sync)
/home/public 192.168.0.*(rw,sync)  
 *(ro,sync)
/home/public 192.168.0.0/24(rw,sync) 
*(ro,sync)
執行
$ sudo /usr/sbin/exportfs
以重新載入 /etc/exports 的設定,或是執行
$ sudo /etc/init.d/nfs-kernel-server restart
重新啟動 NFS 伺服器

2.NFS Client
首先在 Client 下建立目錄,例如你要把Server端分享的目錄掛載在 /mnt/nfs/share ,則要先建立此目錄︰
$ sudo mkdir -p /mnt/nfs/share
接著手動將遠端目錄 mount 上去
$ sudo mount -t nfs hostname(orIP):/directory /mnt/nfs/share

ps. 此處的 directory 是伺服端分享資料夾在系統中的絕對路徑,例如若是分享 /var/lib/www 這個目錄,則應該使用以下語法︰

$ sudo mount -t nfs IP_ADDRESS:/var/lib/www /mnt/nfs/share

3.開機自動掛載
如果要讓 NFS 在開機時自動掛載,必須在 /etc/fstab 中加入一行
hostname(orIP):/directory /mnt/nfs/share nfs rsize=8192,wsize=8192,timeo=14,intr
4.使用 autofs 掛載 NFS 檔案系統
autofs 可以在需要使用時再自動掛載,請先安裝 autofs 套件︰
$ sudo apt-get install autofs
要掛載遠端機器 hostname 上的 /directory 目錄到您機器的 /mnt/nfs/share 掛載點,請將下列這一行加入到 auto.master 檔案中:
/mnt/nfs /etc/auto.nfs --timeout 60
增加下列這一行至 /etc/auto.nfs 檔案中:
share -rw,soft,intr,rsize=8192,wsize=8192 hostname:/directory

參考資料︰
鳥哥私房菜 http://linux.vbird.org/linux_server/0330nfs.php
摩托學園 http://moto.debian.org.tw/viewtopic.php?t=3419
Red Hat Linux 用戶自訂手冊 http://www.php5.idv.tw/documents/redhat ... mount.html

No comments: