NFS on FreeBSD 7.0 Beta3

NFS
預設就有,免安裝
分成client跟server兩部分,而後追加AMD(automatic mount device?)

網路上加很多東西,可是我rc.conf只加三行(#的flag好像都是預設值)

rpcbind_enable="YES"
nfs_server_enable="YES"
#nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
#mountd_flags="-r"

分享出去的設定在
/etc/exports

設定是
[本機資料夾名稱] [屬性]
常用到的屬性有幾個
-alldirs :讓client可以從其下任何一個子目錄mount起來
-maproot= :讓對NFS寫入root的人變成誰,例如nobody
-network= :開放哪個網域/網址使用(可用-mask配合)
-ro :唯讀
更詳細的可以man exports

設完後重開機會自動啟動服務,或者手動啟動

/etc/rc.d/rpcbind start
nfsd -u -t -n4
mountd -r

就可以用

showmount -e

看到分享出來的資源了
若是無法看到或者無法使用,可以用

rpcbind [host]

來檢查三個服務有沒有都在上面

至於client的部分我完全沒做任何設定,用

mount_nfs 機器:分享資源 掛載點(需先建立空資料夾)

就可以掛起來
值得一提的是,不知道為什麼網卡mtu不設9000存取起來就會當掉的樣子
(在rc.conf下作類似下列設定)

ifconfig_em1="inet 192.168.7.5 netmask 255.255.255.0 mtu 9000"

至於amd,我沒有親自測試,不過拿其他已經有在跑的機器來研究後發現

amd_enable="YES"
amd_flags="-a /.amd_mnt -l /var/log/amd.log -x all /net /etc/amd.map"

(amd_flags不下的話會是以-p -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map為參數)
這幾樣參數可以寫在/etc/rc.conf,似乎也可以寫在/etc/rc.d/amd
而amd mount起來的東西要放在哪,就是決定在amd_flags而不是其主要設定檔
/etc/amd.map
下,這個檔只負責記錄要掛哪些東西
/.amd_mnt 表示實體會掛在哪
/net 表示虛擬點在哪

在虛擬點被要求的時候(例如去/net作ls),amd才會把NFS掛到/.amd_mnt(而且自動按機器分類)並作symbolic link到/net供使用

nfsref:
http://blog.havenlin.org/index.php/archives/category/技術文件/freebsd
http://fanqiang.chinaunix.net/a1/b2/20010419/144107_b.html
man exports

amdref:
http://blog.chifeng.name/2007/11/freebsdautomount.html
http://www.cs.unc.edu/~jeffay/dirt/FAQ/nfs_auto.html

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: