インストールしたファイル共有に問題があります(リモートサーバーは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を使用していることがわかります):
- コンソールなどからSSH経由でLinuxシステムに接続します。
root権限を取得します。
sudo -i
CD /tmp//tmp/ディレクトリに他の.debパッケージがないことを確認してください。
rm -f *.deb
カーネルパッケージをダウンロードします。
得る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
カーネルパッケージをインストールします。
dpkg -i linux-*.deb
サーバーを再起動して新しいカーネルをロードします。