Evitando pontos de montagem AFP "fantasma"

3

Temos um problema com clientes OSX 10.6 vendo pontos de montagem 'fantasma' em um Servidor OSX 10.5 sobre AFP. Ocasionalmente (5 vezes no último mês) a máquina cliente parece ter algum tipo de problema de conexão com o servidor e remonta o compartilhamento. O Finder parece OK durante todo esse processo, mas em /Volumes/ a montagem antiga permanece como um diretório e um novo ponto de referência aparece em /Volumes/ com um sufixo de incremento; Por exemplo:

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

Mas o Finder mostra aos usuários um compartilhamento "Voyager" normal, e não há nenhuma indicação de que algum gremlins esteja funcionando.

Bug do Finder OSX http://www.dietpizza.ch/images/finder-bug.png

Enquanto o Finder permite que as pessoas naveguem até o arquivo de destino no compartilhamento (vemos ' /Voyager/myfile.txt ), qualquer caminho de arquivo usado em nosso software tem o sufixo numerado (como /Voyager-5/myfile.txt ). Depois que o ponto de montagem é remontado com um novo sufixo ( /Voyager-6 ), o caminho antigo se torna inválido. Nosso software mantém uma referência permanente ao arquivo, e quando ele tenta acessá-lo, boom! Mas para o usuário que está procurando pelo Finder, não há nenhum problema aparente.

Eu grep d os logs do sistema para dicas, mas não parecem ter muito para continuar:

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

e grep 'para o registro de data e hora do último' fantasma 'do compartilhamento:

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.

Há coisas de rede lá, mas nada de assustador.

Há um punhado de informações sobre os Intertubes sobre problemas semelhantes, e a maioria das pessoas parece estar dizendo:

  • Desmontar o compartilhamento
  • Excluir pastas / compartilhamentos antigos restantes em / Volumes /
  • Reiniciar
  • Adicionar compartilhamento de volta

Essas máquinas geralmente funcionam 24 horas por dia, 7 dias por semana, em uma redação, e dizendo aos meus usuários de produção 'que façam essas quatro tarefas técnicas e tudo ficará bem por mais alguns dias / semanas, e você terá que fazer novamente em algum ponto ' não vai muito bem.

Eu gostaria de uma correção permanente - esses volumes fantasmas devem desaparecer e nunca mais voltar!

Informações sobre o cliente:

A saída de 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)

Trechos do perfil do sistema aparentemente relevantes:

  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

Informações no servidor:

Trechos do perfil do sistema aparentemente relevantes:

  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
    
por Stu Thompson 04.02.2010 / 18:03

1 resposta

1

A causa provavelmente é específica de um dos seus aplicativos.

Para nós, estava relacionado ao Vectorworks 2008. É um aplicativo de plataforma cruzada e parecia estar mantendo sua própria cópia do diretório atual na caixa de diálogo Salvar / Abrir e não usando os recursos do sistema OS X para isso. Encontramos outros bugs relacionados a caminhos sem escape antes (por exemplo, usuários colocam barras no nome do arquivo, isso é interpretado como um separador de caminho, etc.).

As etapas para reproduzir foram:

  1. Navegue até o servidor no diálogo Vectorworks Open / Save
  2. Sair do aplicativo
  3. Desconectar do servidor
  4. Limpar / Volumes e abrir uma janela do Finder para / Volumes para assistir a novos fantasmas
  5. Iniciar inscrição
  6. Use Arquivo > Abra e assista a um compartilhamento fantasma criado assim que a caixa de diálogo Abrir / Salvar aparecer. Observe que, nesse estágio, não estamos conectados ao servidor, portanto, a caixa de diálogo Abrir / Salvar é redirecionada para o diretório inicial do usuário.

O compartilhamento fantasma criado na etapa 6 tem o mesmo sufixo de número do último compartilhamento real, sugerindo strongmente que é um problema com o código interno do aplicativo. Ie. se a última conexão real for "Active Projects-4", o aplicativo criará uma pasta -4, mas, na verdade, reconectar ao servidor criará um ponto de montagem com -5, ou o que for.

Suponho que você terá que passar por tentativa e erro com qualquer combinação de aplicativos. Uma dica: foi strongmente sugerido para nós olharmos para o Vectorworks quando analisamos o conteúdo desses compartilhamentos fantasmas. Nossas subpastas foram aninhadas em um caminho que normalmente continha apenas documentos do Vectorworks (ou seja, o que você obtém com mkdir -p /path/to/subfolder ).

    
por 25.11.2010 / 19:13