Linux

在第一次嘗試時無法通過 autofs 訪問文件,只有在之後

  • September 14, 2012

我在 CentOS 5.1 中遇到了一個相當奇怪的 autofs 問題。

本質上,我正在嘗試使用自動掛載訪問文件,但是第一次嘗試訪問未找到的文件時。只有在隨後的嘗試中,安裝才可以訪問,直到稍後由於不活動而自動解除安裝,然後循環重新開始。

以下是當我嘗試兩次列出文件時發生的情況,它們之間只有一秒鐘左右的延遲:

*_107> ls /net/netfiler/vol/Archive/build.xml
ls: /net/netfiler/vol/Archive/build.xml: No such file or directory
*_108> ls /net/netfiler/vol/Archive/build.xml
/net/netfiler/vol/Archive/build.xml

經過進一步調查,mount 報告 netfiler:/vol/Archive 在第一次嘗試之前沒有安裝,而是在之後安裝,這允許第二次嘗試成功。就好像作業系統在嘗試訪問文件之前沒有等待自動掛載完成它的工作。

我的 /etc/auto.master 有以下內容:

/net    /etc/auto.net

雖然我也嘗試過預設的:

/net    -hosts

無濟於事。

如果不是因為它破壞了我們的許多自動化腳本,這不會是一個大問題,因為它們在第一次嘗試時無法找到文件。我從未在任何其他發行版中看到過這個問題,所以我希望這裡有人有解決方案。

看起來 CentOS 5.1 的 vanilla 安裝有一個導致此問題的已知核心錯誤:

http://bugs.centos.org/view.php?id=2448

前段時間已修復,升級到最新的 5.1 核心修復了該問題。

引用自:https://serverfault.com/questions/198772