だから私は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 reboot
RaspberryPi、その後再インストールして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%で使用されることを示しています。iotop
htop
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操作中は、ドライブがスリープモードになります。