电脑技术学习

FreeBSD Network File System (NFS)系统

dn001

◎敘述: 透過NFS檔案分享,我們可以將A機器上(server 端)的目錄或檔案系統,開放給B機器(clIEnt端)掛載。 讓A機器和B機器共享檔案. 常見用途舉例: 1.共用光碟機. 2.共用/home資料夾.讓所有的使用者管理檔案. 3.共用/usr/ports/distfiles資料夾,就不用每台電腦都要去抓同一檔案. 4.讓資源高的機器處理資源低機器的資料. (這也是我重寫NFS架設的原因..QQ) ◎設定 NFS 伺服端: 所謂NFS伺服端就是要提供其他機器目錄或是檔案系統的機器. 以 4.9-RELEASE 為例說明,跟以往我們安裝NFS不同的差別是要多啟動portmap服務. a.修改 /etc/rc.conf : (從 /etc/default/rc.conf 找到相關部分) 新增內容: nfs_server_enable="YES" # This host is an NFS server (or NO). portmap_enable="YES" # Run the portmapper service (YES/NO). single_mountd_enable="YES" # Run mountd only (or NO). b.編輯 /etc/exports 檔案: (此檔案說明要分享檔案及可存取的機器) ex:將 /backup 分享,允許 192.168.0.10 存取(root身份)。 /usr/home/netflow/raw -maproot=root 192.168.0.10 若想看看其它範例和詳細寫法,exports(5)。
   常見問題:
   若想要將 /usr/a/usr/b 允許 192.168.0.10 存取(root身份)。
   很直覺地修改/etc/exports檔案:
   /usr/a -maproot=root 192.168.0.10
   /usr/b -maproot=root 192.168.0.10
   
   這樣是會失敗的.. /var/log/message 會出現 can't change attributes for ..的錯誤訊息.
   原因在於 這兩個分享區屬於同一磁區,且針對同一clinet (192.168.0.10)所以必須合併為一行.
   /usr/a /usr/b -maproot=root 192.168.0.10
c.啟動server端 存檔後 重新開機 或是 手動啟動server端 # nfsd -u -t -n 4 # /usr/sbin/portmap -d # mountd -r (一定要先編輯完 /etc/exports 才能啟動NFS server喔) ◎設定client端 所謂client端指的是要去存取 (mount) 他人提供出來的目錄或檔案系統的機器。 FreeBSD: 把 /etc/default/rc.conf 中,有關client的部分抄入 /etc/rc.conf,也就是下面這行 nfs_client_enable="YES" # This host is an NFS client (or NO). 存檔後重開機或是手動啟動client端 # nfsiod -n 4 Redhat Linux: 不用修改.(我沒有很詳細測試..因為手邊的機器都不用改..^^) ◎Client端掛載遠端的目錄 #mount -v ohaha.ks.edu.tw:/backup /home/backup 說明: ohaha.ks.edu.tw : 伺服端ip或是FQDN,若單純使用hostname, 建議在clinet端的/etc/hosts加入伺服端紀錄. /backup : 伺服端分享資料夾 /home/backup : 本機掛入點 ◎讓client端每次開機都自動掛上NFS 手動測試正常可以掛載寫入資料後,寫入 /etc/fstab 檔案 # Device Mountpoint FStype Options Dump Pass# ohaha:/backup /backup nfs rw 2 2 ◎參考資料: export(5) nfsd(8) portmap(8)

标签: