web-dev-qa-db-ja.com

Nautilusによる遅いsamba共有をデバッグする方法は?

私はGnome3とNautilus3.18.5-1.fc23を搭載したFedora23を持っています。 SMB速度に問題があります。約4.4MB /秒ですが、他の方法(ターミナルからのsmbclientなど)では、Sambaサーバーから11MB /秒を取得しました。ありますか。これをデバッグする方法。ドライブをマウントしてもNautilusがrsizeを正しく設定しない可能性があることをいくつかのフォーラムで読みました。それについてはよくわかりません。lsblkでマウントされたドライブが見つかりませんでした。一部のフォーラムによると、ネットワークドライブがマウントされています。 /rungvfsフォルダーに移動します。これは確認できますが、次のパスを取得しました。

/run/user/1000/gvfs/smb-share:server=odroid-server,share=asmedia-hdd

mount | grep gvfsによって私は以下を手に入れました:

gvfsd-Fuse on /run/user/1000/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

このrsizeのことを確認する方法が見つかりませんでした。それはおそらく私の問題を解決しないでしょう、私はよくわかりません。ドライブでオフにしたかったもう1つのことは、relatimeです。少なくとも、サーバーではnoatimeに設定されています。

Nautilus configでこれを行う方法はありますか(fstabで可能であることはわかっています)?この遅いSMB速度の問題を何らかの方法でデバッグする別の方法はありますか?

5
inf3rno

フォーラムに準拠すると、問題はgvfsにあり、cifsははるかにうまく機能します。私はこれらの用語に精通していませんが、それは確認できます。ドライブを手動でマウントする場合:

_mount -t cifs -o username=root,password=xxxxx //192.168.0.186/asmedia-hdd /media/asmedia-hdd
_

ノーチラスで10MB /秒を達成できます。ネットワーク検出がなく、nautilusからドライブをアンマウントできないという唯一の問題。したがって、これは実際の解決策ではないと思います。

Nautilusにgvfsの代わりにcifsを使用するように強制する方法はありますか?

次へ

私は非常に関連しているように見える設定ファイルを見つけました:

/usr/share/gvfs/mounts/smb.mount

_[Mount]
Type=smb-share
Exec=/usr/libexec/gvfsd-smb
AutoMount=false
Scheme=smb
_

Gvfsはパーティションタイプではなく、cifsも使用していると思います。だから私はどういうわけかここでcifsバッファサイズを設定できると思います。私はまだそれを行う方法を見つけることができませんでした。

ウィキによると、gvfsは仮想ファイルシステムであるため、cifsの上に置くことができるので、私は正しかった。

次へ

私はこの答えを見つけました: https://unix.stackexchange.com/a/44318/126217 ターミナルからgvfsマウントを試みることによって。それによると、gvfsコマンドを使用する前にexport $(dbus-launch)が重要です。ターミナルからgvfsコマンドを使用できず、問題に関する漠然としたエラーメッセージしか表示されなかったことを確認しました。

Gvfsを使用してドライブを手動でマウントできました。

_gvfs-mount smb://WORKGROUP\;[email protected]/asmedia-hdd
_

マウントされたドライブを一覧表示できました

_gvfs-mount -l

    Drive(0): Kingston SV300S37A120G
      Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
    Drive(1): ST31000528AS
      Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
      Volume(0): data
        Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
      Volume(1): system
        Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
      Volume(2): Rendszer számára fenntartott
        Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    Drive(2): TSSTcorp CDDVDW SH-222AB
      Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
    Mount(0): asmedia-hdd on 192.168.0.186 -> smb://WORKGROUP;[email protected]/asmedia-hdd/
      Type: GDaemonMount
_

これらのマウントされたドライブの構成に関する情報はまだ多くありません。 Nautilusはマウントされたドライブを表示しませんでした。これは興味深いことです。ターミナルでmountコマンドを使用すると、マウントされたドライブがnautilusに表示されたためです。

ここでマウントポイントを見つけました:

_cd ~/.gvfs/smb-share\:domain\=WORKGROUP\,server\=192.168.0.186\,share\=asmedia-hdd\,user\=root/
_

Gvfsでマウントされたドライブからmkvファイルをcpすることができ、

_watch -- du -h test.mkv
_

転送速度を測定すると、約4.3MB /秒でした。 smbclientコマンドを使用したときに、cp速度を測定することで同じ手法を使用しました。そのため、Nautilusがバックグラウンドで行っていることを再現することができました。可能であれば、cifsバッファサイズを変更するオプションを追加するだけで済みます。

結論:

最終的にfstabに以下を追加しました。

_//192.168.0.186/asmedia-hdd          /media/asmedia-hdd          cifs            rw,workgroup=WORKGROUP,username=root,password=xxxxx,noauto,users,iocharset=utf8      0     0
_

使用済み

_chmod 4755 /usr/sbin/mount.cifs
_

nautilusが書いたので、rootパスワードプロンプトを表示する代わりに、rootだけがドライブをマウントできます。

Nautilusはネットワークドライブをこのように検出しないため、このソリューションは好きではありません。このドライブをマウントするためにすべてのユーザーにアクセス許可を与える必要があり、そのためのプロンプトもなかったため、smbパスワードを与える必要があるという別の問題。ダウンロード速度は大丈夫でした、そして私はアップロードでも同じようになりました。アップロードによって、nautilusから誤った速度とファイルサイズのレポートを受け取りました。最初は120MB/sと書き込みますが、これは常に減少しています。 gvfsにマウントされたドライブでファイルサイズをチェックすることで、実際の速度に関する情報を取得することができました。約10MB /秒でした。

私はこれをgvfsで解決しようとしています。それができたら、回答を投稿しますが、それまでは、このcifsにマウントされた回避策を使用します。

次の〜2016

ここにバグレポートを追加しました: https://bugzilla.gnome.org/show_bug.cgi?id=762384 おそらく彼らは答えを持っています。

次〜2017

Gnomeの開発者によると、これはSambaのバグです。彼らはパッチを書くかもしれませんが、保証はありません。 Samba devs 気にしませんでした 過去3年間(2014-17)、プロジェクトが維持されているかどうかさえわかりません。

私はwifi接続を介してこの10MB /秒を測定しました。これをデバッグしようとしたときに、同じOdroidXU4を使用してイーサネットを介していくつかの測定を行いました。 (GVFSはlibsmbclientを使用するため、smbgetを呼び出すのと同様のことを行います。)

ノーチラスでコピー(18-19MB/s)

_# mount with nautilus on GUI
# copy with nautilus on GUI
_

smbgetのデフォルトのブロックサイズ(23〜24MB /秒)でコピー

_# mount with nautilus on GUI
smbget -u root -w WORKGROUP smb://192.168.0.186/asmedia-hdd/testfile
_

smbget 16K(1-64K)ブロックサイズ(38-57MB/s)でコピー

_# mount with nautilus on GUI
smbget -u root -w WORKGROUP smb://192.168.0.186/asmedia-hdd/testfile --blocksize=16777216
_

cIFSマウントでコピー(70-90MB/s)

_# mount in fstab
//192.168.0.186/asmedia-hdd /media/asmedia-hdd cifs rw,workgroup=WORKGROUP,username=root,password=...,noauto,users,iocharset=utf8 0 0
# copy with nautilus on GUI
_

したがって、明らかなボトルネックは、ここGVFSではブロックサイズが小さすぎることですが、速度は約1kブロックサイズを超え、CIFS速度の最大63%に達するため、smblibに別の未確認のボトルネックがあるはずです。

4
inf3rno