私は日常的にmacOS(15.6.x)とTS-853A(QTS 5.2.6.3229)を併用していますが、ここ数ヶ月の間に、macOS Finderでファイルのコピーやリネームを行う際に、操作が完全に実行できなかったり、ファイルが「ロック」されてしまい、それ以上の操作ができなくなることに気付きました。ターミナルウィンドウからファイルコピーを行うと問題が発生しないため、明らかにmacOS Finderがメタデータを書き込もうとする際の問題のようです。
macOSからネットワーク共有へのメタデータ書き込みを無効にするなど、設定をあれこれ試しましたが、依然として問題が解決せず、アイデアが尽きかけています。
例えば、QNAPのSMB高度なオプションの推奨設定は何でしょうか?
例えば、ネットワークドライブ上で.DS_storeの書き込みを無効にするには:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
さらに、/etc/config/smb.conf の global セクションに以下を追加しています:
vfs objects = catia fruit streams_xattr
fruit:metadata = stream
fruit:resource = stream
fruit:locking = netatalk
fruit:encoding = native
それでも問題が解決しません。少しイライラし始めているので、何か提案があれば教えてください。
NA9D
2
私は複数のMACを複数のNASユニットで使用していますが、あなたが指摘するような問題は一度も経験していません。.DS_Storeはそのままにしています。MacOSの煩わしい側面ですが、私は気にせず無視しています。誰が気にするでしょうか。
それよりも、むしろパーミッションの問題のように思えます。NASのユーザーにNAS上でR/W(読み書き)権限があることを確認していますか?私がメインのNASで使っている設定を紹介します(注意:Sonosシステムが動作するためにSMB v1を有効にしています。このNASはSonosのサーバーです)。
私の設定もほぼ同じなので、それを参考にMacをかなり細かく調整してきましたが、最終的に工場出荷時設定にリセットしたところ、問題は解消されました。明らかにクライアント側で少しやりすぎていたようです。
私が修正しようとしていたのは、Macがsmb共有を頻繁にアンマウントしてしまうという一般的な煩わしさです。そのため、ボリュームを再度使うには手動でクリックして再マウントする必要があったり、頻繁にサーバーに再接続してボリュームを戻す必要がありました。
私の質問は、Windowsシステムのようにsmb共有を安定してマウントし続けるにはどうしたらよいか、ということです。最近Win 11からmacOS v15.xに移行したばかりで、これが唯一で本当に気になる点です。
現状、私が試したのは/etc/nsmb.confファイルを以下の内容で作成することだけですが、特に改善は見られませんでした。
[default]
signing_required=no
port=445
port445_only=yes
minauth=smb3
dead_time=60
reconnect=1
no_msdns=yes
しかし、それでもsmb共有はアンマウントされてしまいます。どのように解決していますか?
@NA9D さん、記事ありがとうございます。また、私が持っていた内容ともある程度重なる部分がありました。例えば「veto files」のような誤ったパラメータも含まれていましたが、これはSMBサーバー側専用のパラメータなので、正しく設定するためにこのトピックを深掘りする必要があると気付きました。
まず、macOS v15.x が実際にサポートしているパラメータを確認するのが理にかなっているので、どのパラメータを使うべきか結論に至った経緯として、まずはそれから始めましょう。ターミナルウィンドウで以下をコピペするだけで、Linuxシステムで利用できると思っていたものが、macOSでは必ずしも同じとは限らないことがすぐに分かります。
man page: nsmb.conf
上記をもとに、私が調整した設定は以下の通りで、今のところ私の環境ではより安定して動作しています。
[default]
# タイムアウトを延長して予期せぬ切断を防止
max_resp_timeout=90
# 冗長性のためにマルチチャネルを有効化(最小限のチャネル数)
mc_on=yes
mc_max_channels=3
mc_prefer_wired=yes
# ディレクトリキャッシュを最適化してサーバークエリを削減
dir_cache_max=180
dir_cache_min=60
dir_cache_async_cnt=5
# サブマウントを無効化して接続を簡素化
submounts_off=yes
# 最新かつ安全な接続のためSMB 2.xおよび3.xのみに制限
protocol_vers_map=6
# 互換性問題を避けるため署名を無効化
signing_required=no
# サーバー障害時のハング防止のためソフトマウントを使用
soft=yes
いくつか冗長なパラメータ(mc_onやsigning_required)はmacOSでデフォルトで有効になっていますが、自分自身の確認のために設定ファイルに含めておきました。また、QNAP NASの負荷を軽減するために、いくつかの既定パラメータも調整しています。
さらに、protocol_vers_map=6 を設定すると SMB 1.x の使用が無効化されるため、以前の設定で使用していたnetbiosパラメータは不要になります。
加えて、以下のコマンドもターミナルウィンドウから実行して一緒に使うと良いでしょう。
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE