Samba [TimeMachine] общий ресурс, используемый для резервного копирования “Time Machine” на MacOS и копирования файлов через “Finder”.

Вопрос или проблема

Я хочу использовать “общий доступ” Samba для резервных копий MacOS Time Machine, а также для обмена файлами (копирование файлов с использованием Finder).

Возможно ли это, и если да, то как это исправить?

Я могу выполнять резервное копирование MacOS с помощью программного обеспечения Time Machine, однако, при копировании файлов на тот же “общий доступ” “Time Machine” возникает ошибка:

Операция не может быть завершена, так как произошла неожиданная ошибка (код ошибки 100093).

Когда я копирую файлы, создается пустой файл (ноль байт), и отображается ошибка. Я могу создавать папки, но не могу копировать файлы с помощью Finder.

Вот моя конфигурация Samba:

[homes]
comment = Home Directories
browsable = no
writable = yes
create mask = 0600
directory mask = 0700

[timemachine]
# https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html
comment = Time Capsule
path = /media/timemachine
browseable = yes
writeable = yes
create mask = 0600
directory mask = 0700
read only = no
guest ok = no
valid users = <user_name> # измените это на вашу учетную запись
write list = <user_name>  # измените это на вашу учетную запись
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:time machine = yes

var/log/messages содержит следующую запись:

Jan  8 19:21:05 pi daemon.err smbd[13131]: [2025/01/08 19:21:05.611930,  0] ../../source3/modules/vfs_fruit.c:2684(fruit_pwrite_meta_stream)
Jan  8 19:21:05 pi daemon.err smbd[13131]:   fruit_pwrite_meta_stream: On-demand create [iDeaVim.txt:AFP_AfpInfo] in write failed: Нет такого файла или каталога

похоже, что сбой происходит здесь, ссылка на код github


Детали файловой системы для записи [timemachine]

/dev/sda1 on /media/timemachine type exfat (rw,relatime,uid=1000,gid=1000,fmask=0002,dmask=0002,allow_utime=0020,iocharset=utf8,errors=remount-ro)

uid 1000 и gid 1000 — это мои идентификаторы пользователя.


Вот конфигурация global:

[global]
create mask = 0664
directory mask = 0775
veto files = /.DS_Store/lost+found/
delete veto files = true
nt acl support = no
inherit acls = yes
ea support = yes
security = user
passdb backend = tdbsam
map to guest = Bad User

vfs objects = catia fruit streams_xattr recycle

acl_xattr:ignore system acls = yes
recycle:repository = .recycle
recycle:keeptree = yes
recycle:versions = yes

fruit:aapl = yes
fruit:metadata = stream
fruit:model = MacSamba
fruit:veto_appledouble = yes
fruit:posix_rename = yes
fruit:zero_file_id = yes
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes

server max protocol = SMB3
server min protocol = SMB3
workgroup = WORKGROUP
server string = NAS
server role = standalone server
dns proxy = no

Команды, которые я использовал для изменения файловой системы, после этого все работает.

1: rc-service samba stop
2: mkfs.ext4 /dev/sda1
3: vim /etc/fstab
/dev/sda1   /media/timemachine  ext4    rw,defaults 0 0
4: mount -a
5: cd /media && chown -R <user_name>:<group> ./timemachine
6: rc-service samba start

У вас есть streams_xattr, но вы используете файловую систему, которая не поддерживает xattr — exFAT не может хранить расширенные атрибуты, которые Samba пытается использовать для эмуляции альтернативных потоков (как и не может хранить реальные альтернативные потоки, как это делает NTFS в Windows).

Вы можете попробовать использовать streams_depot вместо этого, но вам действительно стоит перейти на более надежную файловую систему с самого начала, например, Ext4 или XFS, для хранения резервных копий. (Обе эти системы поддерживают расширенные атрибуты по умолчанию.)

Ответ или решение

Чтобы успешно настроить Samba "share" для использования с "Time Machine" на MacOS для резервного копирования и одновременного копирования файлов через "Finder", необходимо учесть несколько важных аспектов, которые вы затронули в вашем вопросе.

Фактическое состояние проблемы:

Ваша текущая конфигурация Samba обеспечивает успешное резервное копирование с помощью "Time Machine", но при попытке копирования файлов через "Finder" на тот же раздел возникает ошибка с кодом 100093. Это может быть связано с тем, что файловая система exFAT, используемая для хранения, не поддерживает расширенные атрибуты (xattr), которые необходимы для работы Samba с модулями "vfs_fruit" и "streams_xattr", имитирующими потоки данных.

Решение проблемы:

  1. Замена файловой системы:
    Ваша файловая система exFAT не поддерживает необходимые расширенные атрибуты. Рекомендуется перейти на более подходящую файловую систему, такую как Ext4 или XFS. Эти файловые системы поддерживают необходимые возможности по умолчанию:

    • Вы уже успешно изменили файловую систему на ext4, что должно решить проблему с поддержкой xattr. Убедитесь, что все шаги выполнены корректно для предотвращения повторения ошибки.
  2. Корректировка конфигурации Samba:
    После изменений в файловой системе важно убедиться, что конфигурация Samba правильно настроена для работы с новыми условиями:

    • Проверьте, что в конфигурации вы используете правильные параметры для "vfs objects". Например, при использовании ext4 вам больше не потребуется "streams_depot", и можно оставить "streams_xattr".

    • Убедитесь, что учетные данные (имя пользователя и группа) корректны и совпадают с правами доступа на новые директории.

  3. Тестирование подключения:
    Перезапустите службу Samba и протестируйте подключение с MacOS. Выполните как резервное копирование с помощью "Time Machine", так и копирование файлов через "Finder". Обратите внимание на новые сообщения об ошибках (если они появятся) в логах для быстрого устранения возможных проблем.

  4. Ожидаемые результаты:
    После выполненных настроек вы должны иметь возможность без ошибок выполнять как резервное копирование с "Time Machine", так и копирование файлов через "Finder".

  5. Регулярное наблюдение и обслуживание:
    После успешной настройки обеспечьте регулярный мониторинг логов и производительности системы для предотвращения возможных проблем и поддержания надежности работы вашего хранилища.

Правильная настройка файловой системы и Samba не только устранит текущие проблемы, но и улучшит производительность и надежность вашей среды резервного копирования и обмена файлами.

Оцените материал
Добавить комментарий

Капча загружается...