CIFS はディレクトリの受信状態を維持します。

CIFS はディレクトリの受信状態を維持します。

インストールしたファイル共有に問題があります(リモートサーバーはSMB v3 Windows Srv 2012ファイルサーバーです)。複数のフォルダがあり、各フォルダには約200〜1500のサブディレクトリがあります。

最大のフォルダ(ls /du */autocomplete)の内容を表示しようとすると、コマンドは永久に中断されます(少なくとも4時間)。 -9オプションを使用してのみコマンドを終了できます。

全体的なパフォーマンスはかなりよさそうだ。

time dd if=/media/Data/BigFile.tmp  of=/dev/null bs=8k
593639+1 records in
593639+1 records out
4863092573 bytes (4.9 GB, 4.5 GiB) copied, 55.9581 s, 86.9 MB/s

システム:Ubuntu 16.04 LTS | CPU: Xeon 2.4Ghz メモリ: 8GB

システムテーブル

//server.example.local/Data /media/Data cifs credentials=/etc/samba/ad-usr,noexec,ro,sec=ntlmsspi,vers=3.0 0 0

フォルダの内容が分割されないようにしたい。フォルダ検索はWindowsクライアントでもうまく機能します。

答え1

問題は、LinuxカーネルのSMBv2 / 3の無効なCIFSヘッダーサイズが原因で発生します(SMBv2は何らかの理由でまだ機能しています)。

この問題はカーネルv4.12.11で修正されていますが、サポートされているカーネルバージョンではないため、インストールの責任はユーザーにあります

確認するhttps://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.11、コミット9e37b1784f2be9397a903307574ee565bbadfd75を探しています。

このカーネルバージョンをインストールするには(Ubuntu 16.04を使用していることがわかります):

  1. コンソールなどからSSH経由でLinuxシステムに接続します。
  2. root権限を取得します。

    sudo -i
    CD /tmp/

  3. /tmp/ディレクトリに他の.debパッケージがないことを確認してください。

    rm -f *.deb

  4. カーネルパッケージをダウンロードします。

    得るhttp://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.11/linux-headers-4.12.11-041211_4.12.11-041211.201709070418_all.deb && wgethttp://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.11/linux-headers-4.12.11-041211-generic_4.12.11-041211.201709070418_amd64.deb && wgethttp://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.11/linux-image-4.12.11-041211-generic_4.12.11-041211.201709070418_amd64.deb

  5. カーネルパッケージをインストールします。

    dpkg -i linux-*.deb

  6. サーバーを再起動して新しいカーネルをロードします。

関連情報