RaspberryPi Sambaファイルの転送速度が非常に遅い

RaspberryPi Sambaファイルの転送速度が非常に遅い

だから私はSambaファイルの転送が遅すぎて利用できない理由について非常に混乱しています。最初は速いように見えましたが、リセットする必要があるほど停止したり、非常に遅くなりました。過去には、RaspberryPiを使った同様のアプローチが私にとって効果的でした。

rasp1設定のために言えば、少なくとも2つのRaspberryPiがありますrasp2。その後、rasp1マウントしてdrive1再度rasp2マウントしますdrive2。これらのドライブはntfsまたはext4でフォーマットされたUSBドライブで、サイズは2〜6TBです。したがって、RaspberryPiには実際にUSB経由でマウントされた1つ以上のドライブがありますmount /<device>/<identifier> <target_directory>。次に、ドライブをネットワークに公開するように Samba を設定します。

[storage]
  path = <path_to_directory_containg_mountpoints>
  public = no
  browseable = yes
  writeable yes
  create mask = 0777
  directory mask = 0777
  valid user = <list of valid users>

そして起動してsudo /etc/init.d/samba start。どちらのデバイスにrasp2も、USBドライブをネットワークに公開し、クライアントがUSBドライブにインストールできるように、rasp1同様の設定があります。rasp2全体の原理は、RaspberryPiの自家製NASおよび外部USBドライブと比較することができます。

今の顧客のためです。私たちの場合、顧客は興味のあるドライブをインストールし、drive1各ドライブを個別にdrive2調べるだけですsudo mount -t cifs //<RaspberryPi_IP>/storage/<mountpoint_for_drive1> <target_directory> -o user=<user_from_list_of_valid_users>,gid=<local_usergroup>,sid=<local_user>。彼らはすべてローカルネットワークにあります。

このアプローチの主な問題は、クライアントマウントポイントを介してdrive1クライアントへのファイル転送速度がdrive2不都合であることです。ファイル転送の進行状況をインスタンス化すると、mv -vi "drive1/file1" "drive2/"進行状況はrsync -a --info=progress2 --remove-source-files "drive1/file1" "drive2/"ファイルのサイズによって異なります。ファイルサイズが1.8M未満の場合、期待どおりにファイルを簡単に転送できます。しかし、ファイルが大きい場合は何も起こらないようです。iotop初期データ転送の急増が表示されますsmbd。その後、マウントは0%で停止し、別の急増が発生する前に長時間そのままになります。したがって、技術的には、これらの急増が数分間しか発生しない場合でも、ファイルは転送されます。

私の考えでは、次のようになります。今、小さなパケットの場合、まずネットワークについてもっと推測することは問題ではありません。 64バイトのpingを実行すると、RaspberryPiからクライアントmsへ、またはクライアントから〜0.3の定数を取得します。 ping。ラズベリーパイ。いくつか試した結果、再起動(sudo rebootRaspberryPi、その後再インストールしてSambaを再起動)すると、以前の同時IO作業量に応じて特定の量のIO操作または数分間問題を解決できるようです。彼らは止まる。たぶんこれはResource temporarily unavailable私が何度も経験したエラー、つまりこの設定で経験した別の問題に関連している可能性があります。場合によっては、マウントポイントを一覧表示するのに時間がかかりますが(特にコマンドを介さずにmount)、複数のドライブがマウントされたディレクトリに移動することがあります。私はこのドライブがスリープモードになると思ったので(たとえば、クエリを実行するとスリープモードになると思いました)、スタンバイモードを無効にしましたが、find . -type f [...]これsudo /usr/bin/sdparm --clear=STANDBY /<device>/<identifier>までに期待した結果は得られませんでした。私が考えるもう一つの問題は、犯人がファイルシステムエラーであるということです。遅すぎる複数のrsyncインスタンスとmvインスタンスを終了したので、おそらくそのうちの1つを早期に終了しました。したがって、sudo fsck /<device>/<identifier>ext4とntfsを別々に実行しますsudo ntfsfix。実際にドライブの1つに問題がありましたが、修理後も問題が解決しました(ドライブがインストールされているディレクトリの一覧が遅く、データ転送が遅かった)fsck。場合によっては、RaspberryPiは、コアの1つが予想される応答も表示されなくなるhtopまで、数秒間100%で使用されることを示しています。iotophtop

RaspberryPI OS is: Linux raspberrypi 4.14.34-v7+ #1110 SMP <time> armv7l GNU/linux
Client can be windows or linux
Samba on RaspberryPi is: ( `samba --version` ) Version 4.5.12-Debian

簡単に言うと:

  • Sambaマウントドライブを使用するRaspberryPiは、ファイルの移動(読み取り)速度が非常に遅いです。

  • lsを介してマウントポイントを表示するのに時間がかかり、時々終了することがありますResource temporarily unavailable

  • (別途問題がある可能性があります)IO操作中は、ドライブがスリープモードになります。

ベストアンサー1

おすすめ記事