Samba の利用が遅い

Samba の利用が遅い

先日、Asus RT-N56U ルーターの USB ポートにハードディスク (1 TB、ext3 ファイル システム) を接続しました。Samba をセットアップし、2 つのフォルダーを追加し、ユーザーを作成し、ユーザー権限を設定しました。その後、多数のサブディレクトリに分散された 200 GB に及ぶ 100 万以上のファイルをコピーしました。あまり高速ではありませんが、問題なく動作しているようです。

デバイスが起動すると、しばらくの間、Samba 共有にアクセスできなくなります。システム ログを見ると、Samba の準備に約 30 分 (!) かかることがわかります。

Jan  1 01:00:17 kernel: sd 0:0:0:0: [sda] Spinning up disk....ready
Jan  1 01:00:17 kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0
Jan  1 01:00:26 FTP Server: daemon is stoped
Jan  1 01:00:26 Samba Server: smb daemon is stoped
Jan  1 01:01:16 ntp: start NTP update
Sep 19 18:22:52 rc_service: ntp 407:notify_rc restart_upnp
Sep 19 18:40:32 Samba Server: daemon is started
Sep 19 18:46:18 nmbd[502]: [2016/09/19 18:46:18, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(392)
Sep 19 18:46:18 nmbd[502]:   Samba name server RT-N56U is now a local master browser for workgroup WORKGROUP on subnet xxx.xxx.xxx.xxx

その後、ファイルアクセスと転送速度は正常になります。

ここで何が起こっているのでしょうか、そしてそのプロセスをスピードアップするにはどうすればいいのでしょうか?

答え1

この問題は、デバイスの Linux オペレーティング システムによって発生します。通常、Linux のすべてのディスク IO は非同期であり (ユーザーにとって使いにくいため、一部のディストリビューションは除外しません)、ユーザーはシャットダウン前に同期を実行する必要があります (または、シャットダウン中に、シャットダウン スクリプトから同期コマンドを実行して)。

しかし、ルーターにはそのような同期コマンドがすぐに利用できるように用意されていません。電源を切るたびに、ディスクにクリーンシャットダウンのマーカーが設定されず、その結果、デバイスは起動時に回復スクリプトを実行し、非常に時間がかかりました。

さらに悪いことに、同期が失われたために一部のデータが失われました。そのため、私はそのデバイスを Samba に使用しておらず、使用しないことを強くお勧めします。

関連情報