Для роботи Time Machine сервера необхідна наявність протоколу роботи з файлами AFP. І так як ми будемо встановлювати AFP на Ubuntu, то автоматично цей сервер також стає звичайним файловим сервером для Мак-оточення. Макінтош-комп'ютери зможуть використовувати його для централізованого зберігання файлів.
В першу чергу, необхідно створити набір папок на сервері, які будуть використовуватися для зберігання різного типу інформації. Слід врахувати, що так як бекап Time Machine має тенденцію до нескінченного зростання, то вкрай бажано спеціально для бекапу виділяти не папку на диску сервера, а зробити логічний розділ. Таким чином, бекап не виросте більше обсягу цього розділу, і клієнт Time Machine буде автоматично видаляти старі резервні копії, коли місце буде закінчуватися.
Наприклад, на моєму домашньому сервері інформація організована так:
/ Media / TM - тому для Time Machine
/ Media / Data / AxisCaptured
/ Media / Data / AtomStore
Де media - це точка монтування, TM і Data - це логічні розділи, на які розбитий диск, AxisCaptured і AtomStore - папки в логічному розділі Data.
Після створення папок треба переконатися, що у них виставлені правильні власники, що необхідно для успішної роботи деяких сервісів.
Наприклад, я роблю так:
sudo chown andrey: root / media / TM
sudo chown motion: admin / media / Data / AxisCaptured
sudo chown andrey: admin / media / Data / AtomStore
andrey: root для томи TM гарантує, що крім мене більше ніхто не отримає доступ до бекапному розділу (root не береться до уваги).
motion: admin для папки AxisCaptured гарантує, що програма motion зможе безперешкодно писати в цю папку свої файли, а члени групи admin матимуть до неї доступ.
Тепер, коли структура для зберігання майбутньої інформації створена, можна приступити до установки необхідного програмного забезпечення. Нам знадобиться файловий протокол AFP і протокол автоматичного виявлення сервісів Bonjour (він же Zeroconf). Відзначимо, що AFP і Bonjour це зареєстровані марки Apple, а в світі вільного ПЗ ці ж технології називаються відповідно Netatalk і Avahi.
Встановлюємо Netatalk стандартним чином:
sudo apt-get install netatalk
Відкриваємо конфігураційний файл Netatalk:
sudo pico /etc/netatalk/AppleVolumes.default
/ Media / TM "Time Machine" allow: andrey options: usedots, upriv, tm
Для всіх інших файл-куля (не для Time Machine бекапу) можна опустити опцію tm:
/ Media / Data / AtomStore "Data" allow: andrey options: usedots, upriv
Для деяких папок, які ви хотіли б надати лише для читання, незалежно від того який користувач підключився, використовуйте опцію read-only, точніше ro:
/ Media / Data / AxisCaptured "Data" allow: andrey options: usedots, upriv, ro
У мене конфиг такий:
Параметри, які використовувалися:
allow - дозволяє перерахувати через кому імена користувачів і груп, яким дозволено використовувати ресурс. Імена груп повинні починатися з @.
usedots - коли встановлена ця опція, деякі імена файлів стають неприпустимими. Наприклад. Parent і все що починається з .Apple.
upriv - змушує використовувати AFP3-Unix права доступу. Розробники рекомендують ознайомитися з «новими Unix-правами» які використовуються в Mac OS X перш ніж використовувати цю опцію
tm - включає підтримку Time Machine для цього тому
ro - read only
sudo /etc/init.d/netatalk restart
Можна перевірити сканером портів, і переконатися що відкрився 548-й порт, який використовується Netatalk / AFP.
Тепер нас цікавить Bonjour, вибачте, Avahi. Avahi вже повинен бути встановлений якщо використовується хоча б Ubuntu 10.04. Тому встановлювати його не потрібно, потрібно лише налаштувати.
sudo pico /etc/nsswitch.conf
І додаємо mdns в кінці рядка «hosts: files mdns4_minimal [NOTFOUND = return] dns mdns4" щоб виглядало так:
hosts: files mdns4_minimal [NOTFOUND = return] dns mdns4 mdns
Потім потрібно створити і відредагувати конфігураційний XML файл, щоб Ubuntu правильно оголошувала про наявність AFP сервісу всіх наявних в мережі Макам, щоб вони могли його використовувати. Після цього, будь-який Мак в мережі не тільки побачить загальний сервер в панелі ресурсів Finder, але також Time Machine побачить доступний для бекапу мережевий диск (так, це буде саме той розділ, для якого в конфігах AFP прописаний параметр tm).
model = Xserve - це той самий параметр, який вказує, яку іконку використовувати для ресурсу. В даному випадку сервер в мережі буде виглядати як Xserve RAID.
sudo service avahi-daemon restart
Можна взагалі перезавантажити сервер. Тепер, перш ніж підключити тому Time Machine, потрібно залогінитися на сервер через бокове меню Finder:
потім відкрити настройки TM, і натиснути «Вибрати диск»:
Time Machine побачить мережевий тому, яким ми поставили опцію ТМ:
Вибираємо цей том, Тime Мachine попросить ввести пароль до нього: