Time Machine server на FreeBSD: backup, restore, полный restore...
[Оглавление раздела Hackinthosh]
Как многие знают, Time Machine на Mac OS X 10.7 не поддерживает SMB
Пришлось осилить AFP и к нему mDNSResponder. И если с AFP все тривиально, то с mDNSResponder пришлось помудохавозиться, ибо документации к нему в сети сыскать не удалось, исключительно методом тыка разбирался.
Идеальное решение должно уметь:
- Бэкап TimeMachine на FreeBSD-сервер.
- Пофайловое восстановление с TimeMachine за нужную дату.
- Накатка целого бэкапа из инсталлятора Lion/Snow Leopard
Нижеприведенный текст - для FreeBSD, для Linux/Solaris будет отличаться процедура установки пакетов, а настройка должна быть примерно такая же.
Netatalk и его настройка
Первые две задачи решаются установкой netatalk из портов:make && make install
Настройка получилась такая (имена томов/серверов условные):
/backup/mac1/ "TMmac1" allow:lexa options:tm,usedots
/backup/mac2/ "TMmac2" allow:lexa options:tm,usedots
/backup/mac3/ "TMmac3" allow:lexa options:tm,usedots
# === /usr/local/etc/afpd.conf ====
"server" -uamlist uams_dhx2.so -ipaddr 192.168.1.1
"server" -uamlist uams_dhx2.so -ipaddr 192.168.2.1
# ===/usr/local/etc/netatalk.conf ====
ATALK_NAME=server
# ===/etc/rc.conf ===
netatalk_enable="YES"
afpd_enable="YES"
cnid_metad_enable="YES"
- Я решил завести три отдельные AFP-share, по одной для каждого из MacOS-устройств. Так удобнее, ибо все мои макоси пытаются назвать себя Alex Tutubalin's MacBook (Mac, MacPro), отчего имеется много путаницы.
- На сервере много сетевых интерфейсов, но AFP я хочу только на двух из них.
- ATALK_NAME, как мне показалось, ни на что не влияет, но все его ставят - и я тоже.
- В Finder можно приконнектиться (Cmd-K) по afp://ip-адрес-сервера (логин-пароль - FreeBSD-шный)
- После такого приконнекчивания TimeMachine видит тома в списке (по кнопке Select Disk), причем никаких TMShowUnsupportedNetworkVolumes 1 не нужно.
А приконнектившись - можно бэкапить и (выборочно) ресторить. Для автоматического поиска томов, бэкапов и т.п. нужен mDNS.
mDNS
Прежде чем перейти к сути, хочу высказать фе сразу всем: компании Apple, авторам портов и т.п. Этот кусок - либо вовсе недокументирован, либо документация зарыта где-то в глубинном вебе, гугление по словам mDNSResponder.conf и тому подобным - находит очень мало хорошего.
Впрочем, полезные вещи в глубинном вебе тоже встречаются, я руководствовался такими вот текстами и утилитами:
- FreeBSD and OS X Lion Time machine - у меня так, как там написано - не заработало.
- Bonjour Browser - утилита, которая позволяет посмотреть, что же творится в этом самом бонжуре. Ибо Finder показывает катастрофически мало, да и mDNS (Mac)/mDNSBrowse (FreeBSD port) тоже не подарок.
- Вот этот вот тред про FreeNAS, откуда более-менее понятно что смотреть, куда копать и какие (нецензурно) бывают флаги.
- И немножко документации Эппла где описаны флаги у тома.
Сухой остаток из чтения вышеперечисленных текстов и личной практики:
- ports/net/mDNSResponder не ставим, он чудовищный какой-то.
- Ставим ports/net/howl обычным способом (make && make install)
- Настройка описана ниже
mdnsresponder_enable="YES"
mdnsresponder_flags="-i em0 -i igb0"
# === /usr/local/etc/howl/mDNSResponder.conf ==
"server" _afpovertcp._tcp local. 548
"server" _adisk._tcp local 9 "sys=waMA=0,adVF=0x100" "dk0=adVF=0xa1,adVN=TMmac1" "dk1=adVF=0xa1,adVN=TMmac2" "dk2=adVF=0xa1,adVN=TMmac3"
В mDNSResponder.conf первая строчка описывает afp-сервер, вторая - с тем же именем сервера - поддерживаемые на нем тома. Указывать MAC-адрес в sys=waMA= необязательно, 0 вполне работает.
При этом server виден в Finder (в левой колонке) и по кнопке 'Connect as...' дает ввести логин-пароль, после чего дает доступ к трем перечисленным томам и к четвертому (home-каталогу пользователя).
Флаги, насколько я их понял:
- В колонке sys= 0x100 - сервер 10.5/10.6. Можно поставить 0x1010, тогда эта штука притворится TimeCapsule и в списке томов в Finder не будет тома с именем пользователя.
- В колонке dkN= 0x80 - поддержка TimeMachine, 0x01 - поддержка AFP. В разных местах в интернете встречаются комбинации этих флагов вида 0x81, 0x83, 0xa1. У меня работали все три варианта, какой-то разницы я не увидел, оставил 0xa1
Запускаем mDNSResponder:
- В TimeMachine наши тома видны сразу, не нужно коннектиться к afp:// в Finder. Это работает и в 10.7.2 и в 10.6.8. Пофайловое восстановление тоже, естественно, работает.
- Инсталлятор OS X 10.7 Lion умеет найти эти тома в сети (если она сконфигурирована в момент инсталляции) и поресторить с них систему. Это я проделал.
- Инсталлятор 10.6.7 (от iMac, скачаный с рутрекера) на старом MacBook Pro сказал, по смыслу, следущее: неподдерживаемая система, ставиться не буду, могу восстановиться из Backup. И нашел тома AFP в сети, дал залогиниться, предложид выбрать из бэкапов, а дальше я не стал. Т.е. работает.
Как мне объяснили, то что DVD идущий с конкретной моделью может не инсталлировать на другую - это фишка. Сюрприз от Apple. Но что этот сюрприз умеет накатить бэкап - большой плюс.
- 10.6.3 Retail, 10.6.0 Retail: выбираем в Utilities "Restore System from Backup", выбор тома-бэкапа работает, дальше - не пробовал.
Типичные (мои) ошибки:
- Имена томов в AppleVolumes и в mDNSResponder.conf должны быть одинаковы, регистр имени - важен.
- Если login/пароль на сервере и на маке/хакинтоше разные, то не надо ожидать, что простой клик в имя тома в Finder принесет счастье, не забывайте про 'Connect as'
Больше всего изумляет, конечно, процедура полного восстановления:
- Грузимся с флешки
- Включаем WiFi
- Выбираем "восстановить с TimeMachine backup"
- После чего оно часа полтора восстанавливает (т.к. WiFi, по проводу было бы гораздо быстрее), перегружается
- И мы видим систему, в которой даже запущенные программы - те же, что были запущены на момент бэкапа (это, вроде, только Lion-овская фишка).
Comments
Про последнее (что даже запущенные программы видно) -- это т
Про последнее (что даже запущенные программы видно) -- это только Lion :)
Причём насколько я понимаю, неподдерживаемый софт просто перезапускается со скриншотом (то бишь сразу кажет скриншот и немедленно запускает, в надежде что юзер не заметит), что немножко смешно :)
>Больше всего изумляет, конечно, процедура полного восстанов
>Больше всего изумляет, конечно, процедура полного восстановления:
в последних макбук-аирах (и всех маках где предустановлен лион, как я понимаю) процедура полного восстановления даже не содержит первого пункта ("грузимся с флещки"), оно теперь в биосе есть (или как он там называется) - и может восстановить из тайм-машины (вроде как). а если нет её, то залезть на сервер apple и накатить lion оттуда...
то есть к примеру меняем системный SSD на чистый, включаем мак, зажимая cmd-R, настраиваем вайфай и вперёд.
На каких-то не в BIOS, а Restore Partition на диске. Т.е. в
На каких-то не в BIOS, а Restore Partition на диске. Т.е. в случае поломки диска - придется таки с флэшки.
Я так и написал - на последних маках, где на заводе предуста
Я так и написал - на последних маках, где на заводе предустановлен Lion, вот там поддерживается Интернет-восстановление.
Соответственно все маки, на которых предустановлен снегопард и ранее - не поддерживают, при замене диска грузиться надо с флешки.
В текущий air (с Lion-ом) в коробку теперь флешку с ОСью не кладут даже.
С Lion-ом сейчас продается все (как минимум, с сайта Apple).
С Lion-ом сейчас продается все (как минимум, с сайта Apple).
А эта самая Internet Recovery есть только в Air и Mini
А, точно, сорри. Я неправильно понял у них на сайте (http://
А, точно, сорри.
Я неправильно понял у них на сайте (http://www.apple.com/ru/macosx/recovery/ ) "Функция восстановления системы через Интернет устанавливается на каждом новом Mac, начиная от Mac mini и MacBook Air.", надо понимать не так, что "все что продается сейчас с Lion" а "всё новое железо, которое будет выпущено после новых Air mid 2011 и Mini 2011."
Да, и там ниже приписано "Не все компьютеры Mac с системой OS X Lion поддерживают восстановление через Интернет. "