最近(3週間前)のMacBook ProでローカルWindows 2008ファイルサーバーのSMB共有に問題なくアクセスしていました。ただし、現在は数日間、スリープモードからの復帰後にサーバーへの(再)接続に失敗します。
Finderは単に「接続しています...」と表示し、無期限にハングします。コマンドライン(mount -t smbfs
)から試しても同じことが起こります。これはWiFiとケーブルの両方を介して行われます。また、ネットワークのオフとオンを切り替えてみました。唯一役立つのは再起動です。
ヒントはありますか?
編集して明確にする:スリープ状態にされるのはMacであり、サーバーではありません。また、共有を切断してからスリープ状態にすると、起動後に再接続できることもわかりました。
別の編集:
さらに調査を行い、ネットワークトラフィックを傍受しました。MacはNetBIOS名のクエリとステータス要求(NBSTAT)をサーバーに送信し、サーバーは応答しますが、すべて正常に思えます。その後、MacはSMB接続を開くはずですが、何もしません。これ以上パケットは続きません。
それから、本当の問題はもっと深いところにあることがわかりました。もちろん、サーバー側でタイムアウトになった古い接続がまだアクティブであると考えているため、新しい接続を開かないようです。ただし、マウントポイントまたは/ Volumesディレクトリのみにアクセスしようとするプログラムはハングし、強制終了することさえできません。umount /Volumes/share
-ハング。ls /Volumes
-ハング。kill -9
これらのいずれか-助けにはなりません。また、アプリケーションでファイルを開くダイアログを開くと、同様にハングします!
唯一役立つのは、ハードリブートです。タイムアウトした接続がこのような何かを引き起こす可能性がある場合、OSXのSMB実装には根本的に何か問題があるように思えます。
net.inet.tcp.delayed_ack=0 net.inet.tcp.mssdflt=1440 kern.ipc.maxsockbuf=500000 net.inet.tcp.sendspace=250000 net.inet.tcp.recvspace=250000
再起動後、SMB共有に接続し(以前よりもはるかに短い時間で済みました)、しばらくスリープした後でもアクセスできます完全に。