Gentoo Linux 透過 NFS mount FreeBSD partition 的問題 - BBS

Damian avatar
By Damian
at 2009-03-29T19:41

Table of Contents

NFS client 是 Gentoo Linux,
kernel 是 2.6.29-gentoo,
跟 NFS 相關的套件裝的是 nfs-utils 1.1.5,
系統有裝 iptables 不過 default policy 都是 pass,
只是用來搭 sshguard 擋暴力 try 密碼的東西而已;
該開的 RPC service 和 portmap 這些東西都有開。

NFS server 是 FreeBSD 7.1-STABLE (目前已升到 7.2-PRELEASE 做測試),
有使用 pf 搭 sshguard,
其餘都是 pass,
hosts.allow 第一條 rule 就是 ALL : ALL : allow,
該開的 RPC service 都有打開。

目前 Linux 這端無論使用 autofs 或是寫死在 /etc/fstab,
過了一段時間之後跟 FreeBSD 的 NFS 連線都會 hang 住,
觀察發現無論用哪種方法 Linux 這端都會在閒置一段時間後切斷 NFS 的連線,
也就是會把 tcp socket 給 shutdown 掉。

問題就在這個 shutdown 的過程有時候會成功有時候卻不成功,
在使用 tcpdump 觀察後發現會成功的流程是:
1. Linux (client) -----FIN----> FreeBSD (server)
2. Linux (client) <----ACK----- FreeBSD (server)
3. Linux (client) <----FIN----- FreeBSD (server)
4. Linux (client) -----ACK----> FreeBSD (server)

會 hang 住的情況就是只有進行完 1. 和 2.,
FreeBSD 這端並沒有主動發送 FIN 給 Linux 這端,
導致 Linux 這端的 tcp socket 進入 FIN_WAIT2 狀態:
tcp 0 0 linux:789 freebsd:nfs FIN_WAIT2
而 FreeBSD 那端對應的 nfsd 也會停在 CLOSE_WAIT 狀態。

Google 查過各式各樣的關鍵字不過都沒有看到有效的解法,
比方說是在 mount option 裡加入 rsize=1024 和 wsize=1024 也是無效,
在 FreeBSD 裡把 net.inet.tcp.keepidle 改成一分鐘也是沒有改善,
打死它都不肯回傳一個 FIN,
不曉得有沒有人遇過相似的問題並解決的呢?

--
Tags: BBS

All Comments

啟動apache時產生的訊息

Tracy avatar
By Tracy
at 2009-03-27T17:41
※ 引述《xunlu (xunlu)》之銘言: : freebsd版本 7.1 : apache 版本 2.2 : 請問我再起啟動apach的時候發生以下訊息該如何處理呢 : apache與freebsd剛灌好而已 : 新手起步 煩請指導 謝謝 : # pwd : /usr/local/sbin : # ap ...

啟動apachectl時產生的訊息

Tracy avatar
By Tracy
at 2009-03-27T15:48
freebsd版本 7.1 apache 版本 2.2 請問我再起啟動apach的時候發生以下訊息該如何處理呢 apache與freebsd剛灌好而已 新手起步 煩請指導 謝謝 # pwd /usr/local/sbin # apachectl start httpd: apr_sockaddr_inf ...

cvsup.tw.FreeBSD.org

Mia avatar
By Mia
at 2009-03-27T11:21
感謝回覆, 經過同事及你的解說 , 應該瞭解了 cat ktimer.patch Index: sys/kern/kern_time.c =================================================================== --- sys/kern/ker ...

軟體管理一問

Sierra Rose avatar
By Sierra Rose
at 2009-03-26T22:26
※ 引述《windincloud (雲淡風輕)》之銘言: : 想問一下大家~ : 今天我從一個網站下載一個軟體 : 解壓縮後想放給整個站的usr用(解壓縮後以是可執行檔) : 他的檔案結構 : ┌ program1 : ├ pro ...

cvsup.tw.FreeBSD.org

Dorothy avatar
By Dorothy
at 2009-03-26T21:41
※ 引述《usnei (usnei)》之銘言: : 這個patch 是3/23 發佈的 : http://security.freebsd.org/advisories/FreeBSD-SA-09:06.ktimer.asc : 不好意思, 一直線的想法, 可能不知變通 , 僅想把這些問題釐清 : ...