web-dev-qa-db-ja.com

「ゴースト」AFPマウントポイントの防止

OSX 10.6クライアントで、AFPを介したOSX Server10.5への「ゴースト」マウントポイントが表示されるという問題があります。ときどき(過去1か月に5回)、クライアントマシンにサーバーとの接続に何らかの問題があるようで、共有を再マウントします。 Finderはこのプロセス全体を通して問題ないように見えますが、/Volumes/では古いマウントがディレクトリとして残り、新しいポイントポイントが/Volumes/に接尾辞を付けて表示されます。例えば。:

lrwxr-xr-x   1 root    admin    1 Feb  3 12:39 Macintosh HD -> /
dr-x------@  9 cutter  staff  264 Jun  4  2008 Produktion
drwxrwxr-x  10 cutter  staff  408 Jan  5 07:44 Simplex TimeMachine
dr-x------@  7 cutter  staff  264 Jun  4  2008 Transfer
drwxr-xr-x+  3 cutter  admin  102 Jan 13 14:24 Voyager
drwxr-xr-x+  3 cutter  admin  102 Jan 18 10:28 Voyager-1
drwxr-xr-x+  3 cutter  admin  102 Jan 25 09:20 Voyager-2
drwxr-xr-x+  3 cutter  admin  102 Jan 25 16:31 Voyager-3
drwxr-xr-x+  3 cutter  admin  102 Feb  3 08:30 Voyager-4
drwx------@ 10 cutter  staff  296 Jan 13 13:12 Voyager-5

しかし、Finderはユーザーに通常の「Voyager」シェアを表示し、グレムリンが機能していることを示すものはありません。

OSX Finderバグhttp://www.dietpizza.ch/images/Finder-bug.png

Finderを使用すると、共有上のターゲットファイルに移動できますが(「/Voyager/myfile.txt」を参照)、ソフトウェアで使用されるファイルパスには番号付きのサフィックス(/Voyager-5/myfile.txtなど)が付いています。マウントポイントが新しいサフィックス(/Voyager-6)で再マウントされると、古いパスは無効になります。私たちのソフトウェアはファイルへの永続的な参照を保持し、それにアクセスしようとするとブームになります!しかし、Finderを見ているユーザーにとって、明らかな問題はありません。

手がかりを得るためにシステムログをgrepしましたが、実際にはあまり多くのことを続ける必要はないようです。

manoa:Logs stu$ grep mount *
system.log.4:Feb  3 08:53:33 Streaming1-MacPro fseventsd[38]: check_vol_last_mod_time:XXX failed to get mount time (25; &mount_time == 0x10043f8b8)
system.log.4:Feb  3 09:31:44 Streaming1-MacPro UnmountAssistant[811]: Volume unmounted successfully
system.log.5:Feb  2 09:28:56 Streaming1-MacPro UnmountAssistant[10763]: Volume unmounted successfully
system.log.6:Feb  1 12:26:17 Streaming1-MacPro UnmountAssistant[2277]: 
system.log.7:Jan 28 13:54:05 Streaming1-MacPro fseventsd[38]: check_vol_last_mod_time:XXX failed to get mount time (25; &mount_time == 0x10077f8b8)
system.log.7:Jan 28 13:55:34 Streaming1-MacPro UnmountAssistant[27673]: Volume unmounted successfully
system.log.7:Jan 28 13:55:36 Streaming1-MacPro UnmountAssistant[27673]: Volume unmounted successfully

共有の最後の「ゴースト」のタイムスタンプをgrep'ing:

system.log.4:Feb  3 08:30:33 localhost com.Apple.launchd[1]: *** launchd[1] has started up. ***
system.log.4:Feb  3 08:30:37 localhost mDNSResponder[17]: mDNSResponder mDNSResponder-214 (Oct 16 2009 06:09:30) starting
system.log.4:Feb  3 08:30:38 Streaming1-MacPro configd[15]: setting hostname to "Streaming1-MacPro.local"
system.log.4:Feb  3 08:30:38 Streaming1-MacPro configd[15]: network configuration changed.
system.log.4:Feb  3 08:30:42 Streaming1-MacPro bootlog[44]: BOOT_TIME: 1265182233 0
system.log.4:Feb  3 08:30:45 Streaming1-MacPro configd[15]: network configuration changed.
system.log.4:Feb  3 08:30:46 Streaming1-MacPro com.Apple.usbmuxd[26]: usbmuxd-176 built for iTunesNineDot on Sep 24 2009 at 16:11:05, running 32 bit
system.log.4:Feb  3 08:30:46 Streaming1-MacPro configd[15]: network configuration changed.
system.log.4:Feb  3 08:30:46 Streaming1-MacPro com.intego.commonservices.daemon[53]: Using preferences format 3
system.log.4:Feb  3 08:30:46 Streaming1-MacPro com.Apple.SystemStarter[27]: Starting Qmaster services
system.log.4:Feb  3 08:30:47 Streaming1-MacPro blued[45]: Apple Bluetooth daemon started
system.log.4:Feb  3 08:30:47 Streaming1-MacPro /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow[34]: Login Window Application Started
system.log.4:Feb  3 08:30:49 Streaming1-MacPro loginwindow[34]: Login Window Started Security Agent
system.log.4:Feb  3 08:30:49 Streaming1-MacPro WindowServer[72]: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
system.log.4:Feb  3 08:30:49 Streaming1-MacPro com.Apple.WindowServer[72]: Wed Feb  3 08:30:49 Streaming1-MacPro.local WindowServer[72] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.

そこにはネットワーキング関連のものがありますが、怖いものは何もありません。

同様の問題に関する情報がTheIntertubesにわずかにあり、ほとんどの人が次のように言っているようです。

  • シェアをアンマウントします
  • / Volumes /に残っている古いフォルダ/共有を削除します
  • 再起動
  • シェアを追加し直す

これらのマシンは通常、ニュースルームの設定で24時間年中無休で稼働し、本番ユーザーに 'これらの4つの技術的なタスクを実行するだけで、あと数日/週は問題ありません。ある時点でもう一度やり直してください 'はあまりうまく行きません。

恒久的な修正が必要です-これらの厄介なゴーストボリュームは消えて、二度と戻ってこないはずです!

クライアントに関する情報:

mountの出力:

/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1s2 on /Volumes/Simplex TimeMachine (hfs, local, nodev, nosuid, journaled)
afp_4gqctq000egI0000oM0000VU-1.2d000003 on /Volumes/Produktion (afpfs, nodev, nosuid, mounted by cutter)
afp_4gqctq000egI0000oM0000VU-2.2d000004 on /Volumes/Voyager-5 (afpfs, nodev, nosuid, mounted by cutter)
afp_4gqctq000egI0000oM0000VU-3.2d000005 on /Volumes/Transfer (afpfs, nodev, nosuid, mounted by cutter)

一見関連性のあるシステムプロファイルスニペット:

  Model Identifier:              MacPro4,1
  Processor Name:                Quad-Core Intel Xeon
  Processor Speed:               2.66 GHz
  Number Of Processors:          2
  Memory:                        8 GB
  Boot ROM Version:              MP41.0081.B03
  SMC Version (system):          1.39f5
  SMC Version (processor tray):  1.39f5

  Type:         afpfs
  Mount Point:  /Volumes/Voyager-5
  Automounted:  No

サーバーに関する情報:

一見関連性のあるシステムプロファイルスニペット:

  Model Identifier:     Xserve1,1
  Processor Name:       Dual-Core Intel Xeon
  Processor Speed:      2.66 GHz
  Number Of Processors: 2
  Boot ROM Version:     XS11.0080.B03
  SMC_version:          1.11f5
  LOM Revision:         1.2.8

Fibre Channel Domain 2:
  Vendor:   LSILogic
  Product:  LSI7404EP
  Revision: Firmware 1.3.14.0
  Speed:    2 Gigabit

SCSI Target Device @ 0:
  Manufacturer: Apple
  Model:        Xserve RAID
  Revision:     1.50
SCSI Logical Unit @ 0:    
  Capacity:           2,18 TB
  Manufacturer:       Apple
  Model:              Xserve RAID
  Revision:           1.50
  Mac OS 9 Drivers:   No
  Partition Map Type: APM (Apple Partition Map)
  Volumes:
R_Xraid-Mars:
  Capacity:      2,18 TB
  Writable:      Yes
  File System:   Journaled HFS+
  Mount Point:   /Volumes/R_Xraid-Mars
3
Stu Thompson

原因は、アプリケーションの1つに固有である可能性があります。

私たちにとって、これはVectorworks 2008に関連していました。これはクロスプラットフォームのアプリであり、[保存/開く]ダイアログに現在のディレクトリの独自のコピーを保持しているようで、OSXシステム機能を使用していません。以前に、エスケープされていないパスに関連する他のバグを発見しました(たとえば、ユーザーがファイル名にスラッシュを入れたり、これがパス区切り文字として解釈されたりするなど)。

再現する手順は次のとおりです。

  1. Vectorworksの[開く/保存]ダイアログでサーバーに移動します
  2. アプリケーションを終了します
  3. サーバーから切断します
  4. / Volumesをクリーンアップし、Finderウィンドウを開いて/ Volumesに移動し、新しいゴーストを監視します
  5. アプリケーションを起動します
  6. [ファイル]> [開く]を使用して、[開く/保存]ダイアログが表示されたらすぐにゴースト共有が作成されるのを確認します。この段階ではサーバーに接続されていないため、[開く/保存]ダイアログはユーザーのホームディレクトリに再ターゲットすることに注意してください。

手順6で作成されたゴースト共有には、最後の実際の共有と同じ番号のサフィックスが付いています。これは、アプリケーション内部のコードに問題があることを強く示唆しています。つまり。最後の実際の接続が「ActiveProjects-4」の場合、アプリケーションは-4フォルダーを作成しますが、実際にサーバーに再接続すると、-5などのマウントポイントが作成されます。

アプリの組み合わせが何であれ、試行錯誤を繰り返す必要があると思います。ヒント:これらのゴーストシェアの内容を確認するときは、Vectorworksを確認することを強くお勧めします。私たちのものは、通常はVectorworksドキュメント(つまり、mkdir -p /path/to/subfolderで取得するもの)のみを含む1つのパスにネストされたサブフォルダーでした。

1
Ryan McCuaig