奇妙なSambaとgvfsの動作 - ディレクトリ/ファイルの約半分がランダムに「欠落している」と表示されます。

奇妙なSambaとgvfsの動作 - ディレクトリ/ファイルの約半分がランダムに「欠落している」と表示されます。

状態:Gentoo LinuxとSambaがサーバーにインストールされています。約15台のWindows PC、MacBook Pro、UbuntuがインストールされたSamsungノートブックがあります。ドメインはなく、ワークグループのみがあり、サーバーはSamba共有にのみ使用されます。 Ubuntuではgvfsを使用してSamba共有をマウントします。

問題は次のとおりです。ある日、ディレクトリの約半分が消えましたが、このUbuntuノートブックで見たときにだけ消えました。 SSHを介してサーバーに接続すると、欠落しているファイル/ディレクトリが表示され、winまたはmacシステムで見つからないものも表示されます。

一時的な解決策:一部の欠落ディレクトリの名前を変更すると、シンボルであっても欠落しているディレクトリが再表示されます。 gvfsマウント共有を再ロード/更新する必要はありません。すぐに以前のディレクトリ/ファイル名に名前を変更すると、以前に失われたすべてのディレクトリ/ファイルがすぐに再び失われます。

したがって、約 1 か月後にこの問題が再発する場合は、いくつかの提案を使用して確認を開始できます。

ベストアンサー1

同様の問題があったかもしれませんが、ファイルが1つしかありません。 Linux Sambaマウントのサポートに問題があるようです。

クライアントで次のテストを実行できますか?

cd [サブディレクトリが見つからないディレクトリ]

ls-al | grep [名前なし] ->何も見つかりません(readdirが破損しています)
ls -al [不足している名前] -> 要素を一覧表示する(統計操作)-- [不足している名前]がディレクトリの場合 -dを使用する

カーネルがこれらのファイルを非表示にしていることを確認するには、次の手順を実行します。

SMB共有のマウント解除
"tcpdump -p -i [ネットワークカード] -s0 -w net.dumpホスト[Sambaホスト]"を起動します。
マウント共有
"ls -al | grep [不足している名前]" テストの実行
tcpdumpを停止
ファイル名が tcpdump にあるがディレクトリリストに表示されないことを確認してください。だから:
string --encoding=b net.dump | grep [名前なし]
string --encoding=l net.dump | grep [名前なし]

名前が複数回含まれる場合、Sambaサーバーは完全なリストを送信しますが、Linuxはいくつかのエントリを削除します。

おすすめ記事