У меня проблемы с моим сервером netatalk 3.0.1 на FreeBSD-9.1 RELEASE. Netatalk был установлен из коллекции портов и использует некоторые каталоги по сети.
Обновить также netatalk версии 3.0.2 имеет те же проблемы на моей машине
afpd.conf
[Global]
; Global server settings
[Homes]
basedir regex = /home
home name = $f - $u 's Home
[testvolume]
path = /var/tmp
[Storage]
path = /tank
[Time Machine Backup]
path=/tank/TM_backup
vol size limit = 2000000
time machine = yes
/tank
в моем случае является корнем пула ZFS с различными файловыми системами под ним. Я подключил к нему Mac под управлением Mac OS X 10.7.5, и он отлично работает как устройство Time Machine. Однако, если я хочу использовать общий ресурс хранилища для создания на нем новой библиотеки апертуры, Aperture просто останавливается и не может создать новую библиотеку на сервере. Глядя на журнал сервера, он выводит следующее:
журнал сервера
Feb 17 20:09:09 glacier afpd[3501]: afp_disconnect: primary reconnect failed
Feb 17 20:09:09 glacier afpd[3210]: Terminated disconnected child[3229], client rebooted.
Feb 17 20:09:09 glacier afpd[3505]: AFP3.3 Login by towe
Feb 17 20:09:09 glacier kernel: pid 3501 (afpd), uid 501: exited on signal 6
Feb 17 20:09:09 glacier afpd[3505]: afp_disconnect: trying primary reconnect
Feb 17 20:09:09 glacier afpd[3210]: Reconnect: transfering session to child[3501]
Feb 17 20:09:09 glacier afpd[3210]: read: Bad file descriptor
Feb 17 20:09:09 glacier afpd[3210]: Reconnect: error sending DSI id to child[3501]
Feb 17 20:09:14 glacier afpd[3505]: afp_disconnect: primary reconnect failed
Feb 17 20:09:14 glacier afpd[3210]: Terminated disconnected child[3229], client rebooted.
Feb 17 20:09:14 glacier kernel: pid 3505 (afpd), uid 501: exited on signal 6
Feb 17 20:09:14 glacier afpd[3506]: AFP3.3 Login by towe
Feb 17 20:09:14 glacier afpd[3506]: afp_disconnect: trying primary reconnect
Feb 17 20:09:14 glacier afpd[3210]: Reconnect: transfering session to child[3505]
Feb 17 20:09:14 glacier afpd[3210]: read: Bad file descriptor
Feb 17 20:09:14 glacier afpd[3210]: Reconnect: error sending DSI id to child[3505]
Таким образом, сервер застревает в 5-секундном повторяющемся цикле переподключения, который всегда терпит неудачу.
Это результат zfs list
команда:
NAME USED AVAIL REFER MOUNTPOINT
tank 725G 4.62T 682K /tank
tank/Downloads 1.61G 4.62T 1.61G /tank/Downloads
tank/TM_backup 495G 4.62T 495G /tank/TM_backup
tank/movies 169G 4.62T 169G /tank/movies
tank/music 26.4G 4.62T 26.4G /tank/music
tank/pictures 24.3G 4.62T 24.3G /tank/pictures
Мои вопросы
ОБНОВИТЬ Теперь я обнаружил, что проблема возникает, только если я пишу в файловую систему RAIDZ. Обычный том ZFS работает.
Я не уверен, возникла ли у вас такая же проблема, но у меня была очень похожая проблема в недавнем прошлом (FreeBSD 8 + ZFS + Netatalk). При чтении файлов на томе клиенты отключались и истекал тайм-аут.
Для меня исправлением была перекомпиляция порта netatalk и отключение параметра SENDFILE в порту netatalk. Если у вас включена опция SENDFILE, возможно, стоит попробовать.