Time Capsule своими руками за 2 часа и 5000р

Задача

У меня есть macbook, старенький по нынешним временам, но любимый. С ростом объемов баз Aperture и iTunes проблема резервного копирования встала довольно остро, для чего был в свое время приобретен WD mybook на 500 Гигабайт и Hitachi с USB-коробкой на 400. Хитачи использовался как диск с данными, а WD для резервного копирования Time Machine, подключалось же все по USB. Данная схема меня не устраивала обилием проводов и привязкой к столу: отключаясь от USB я терял связь с накопителями, пойти на кухню с ноутбуком и музыкой я не мог. Я решил сделать файловый сервер, который бы раздавал нужные мне файлы по сети, скажем через WiFi. Здесь обнаружились некоторые проблемы:

• если я буду раздавать файлы по NFS или CIFS, то сами носители мне придется как-то конвертировать из HFS+ в ext3. На сколько мне известно, единственный способ, это стереть и разметить заново, что с 250Gb нужных данных как минимум муторно.
• если я буду раздавать файлы по NFS или CIFS, то TimeMachine будет игнорировать эти диски и как объекты для резервного копирования, и как ресурсы для резервного копирования.
• Spotlight не будет правильно работать с CIFS.

Конечно, я могу реализовать Time Machine своими руками на bash’е, cron’e и rsync’е, но знание решения этой задачи делает ее неинтересной. Кроме того, Time Machine просто работает ™ и тесно интегрирована с различными программами Apple. Удобная она. Решение мне подсказали коллеги, надо использовать iSCSI, который работает на уровне устройства и отдает файл или дисковый массив с сервера (так назваемый target) на клиент (initiator) как блочное устройство. Для клиента такой диск ничем не отличается от локально подключенного SCSI-устройства, что решает мои проблемы.

Специальные требования

В целях борьбы с гаджетоманией и косньюмеризмом бюджет был определен в 5000р максимум без учета стоимости накопителей, что дешевле Time Capsule в несколько раз. Решение не должно иметь ни одного вентилятора, а желательно чтобы оно не имело движщихся частей вообще.

Аппаратная часть

Я знал, что один мой коллега когда-то делал беспроводную точку доступа, совмещенную с файловым сервером своими руками, но что-то у него не заладилось и компьютер отправился на шкаф. В результате за символические деньги мне досталась старая безвентиляторная VIA Epia c процессором VIA Samuel-2 в хорошем корпусе и 128 мегабайт оперативной памяти к ней. Конечно, следовало бы купить Intel D301GLY, цена которой в Москве 1500р, Mini ITX корпус (еще 1500-2000р) и память DDR II (еще около 1000р). Оставшиеся деньги можно вложить в карточку WiFi и flash, с которой будет загружаться операционная система. Я просто взял флешку, которой не часто пользовался, а WiFi у меня раздает роутер Asus WL-500W. Если роутера нет, то можно использовать свободный PCI-слот для сетевой карты с несколькими портами, а WiFi повесить на USB или использовать Apple Airport Express, что вплотную приблизит нас к формфактору Time Capsule.

Замечу, что даже с учетом роутера, даже более дорогого гигабитного LinkSys и жесткого диска, вся система получается дешевле оригинального Time Capsul и функциональнее ее, хотя и больше по размеру.

Можно также в качестве платформы использовать Ausus EEEPC или просто старый ноутбук.

Программная часть

В качестве операционной системы был использован Debian Etch в минимальной конфигурации и build essential для сборки сервера. Для Linux есть реализация iSCSI-target, то есть сервера,http://iscsitarget.sourceforge.net/. С раздела downloads требуется скачать архив, так как готовой сборки нет, распаковать его, выполнить make && make install. Все проходит без ошибок, собственно, сервер вполне готов к работе.

Конфигурационный файл iSCSI-target находится в /etc/ietd.conf. Единственные строчки, играющие принципиальное значение на этапе тестирования нашей системы, это имя ресурса, которое вообще говоря может быть любым, и запись вида Lun 0 Path=/dev/sda, где /dev/sda – устройство, которое мы собираемся отдавать. Клиентом на Macintosh будет globalSAN iSCSI initiator, который совершенно бесплатен. Для Windiws есть также бесплатный Microsoft iSCSI software initiator. Обе программы обладают очевидным интерфейсом: надо вписать IP сервера на 1й вкладке и выбрать Lun по имени на второй, после чего в системе появится еще 1 жесткий диск, который можно разбивать, форматировать или использовать уже существующие разделы.

Так как все мои компьютеры находятся в 1й локальной сети без доступа извне, то шифрования канала и авторизации я не делал, хотя iSCSI поддерживает CHAP, а сам iSCSI можно инкапсулировать в IPSec, если вы хотите работать со своими дисками скажем издалека.

Производительность и результат

Что тут можно сказать? Даже моя откровенно слабая и старая VIA Epia огараничена сверху производительностью сети, скорость работы с диском чуть менее 100 мегабит в секунду. Кеширование диска происходит и на стороне клиента и на стороне сервера, так что больший объем оперативной памяти на сервере – лучше. Aperture стала заметно быстрее работать с коллекцией, точнее, ее работа перестала сказываться на отклике самого ноутбука. Time Machine сразуже опознала свой старый диск и синхронизировала резервную копию. Теперь я могу ходить с ноутбуком по всему дому не теряя связи со своими накопителями.

Роботы и я

Сегодня измерял температуру тела ртутным термометром. Электронные все заиграли дети, а ртутный – вот он лежит, в надежном, недоступном им месте, удобно. Чтобы засечь 10 минут сказал телефону: “Сири, таймер на 10 минут”, все-таки, 21й век на дворе, надо же ей когда-то пользоваться начать. Примерно через 9-30 сам посмотрел на часы, термометр вынул, температура нормальная, все хорошо. Говорю: “Сири, выключи таймер”, а она в ответ: “О, я могу, но у тебя что, есть другие персональные помощники?” И не выключает таймер. Вот это что такое было? Бунт машин? Жаль, скриншот не сделал.

Переезда на Fusion Drive

В Маке начиная с версии 10.8 появилась такая вещь как Core Storagе. По сути своей она очень напоминает LVM2, даже утилиты имеют в чем-то похожий синтаксис. До нее были какие-то проблемы использовать одновременно шифрование и аварийный раздел, например, или Software RAID + шифрование. В 10.8 добавили т.н. Fusion Drive, когда SSD служит кешом для HDD: часто используемые файлы туда, а все большое и редко используемое остается на HDD. Раньше у меня на SSD была система, на HDD – фотографии и музыка. Это не очень удобно, так как приходилось следить за местом на SSD и при обновлении иногда ломались симлинки к iTules, Steam, Lightroom и т.п. Но самое неудобное, конечно, Lightroom: когда все на HDD превьюшки строятся заметно медленно, не комильфо в 21 веке.

Сам процесс перехода оказался очень прост:

– загружаемся с аварийного раздела, никаких загрузочных флешек/дисков не надо.
– diskutil cs delete старые разделы.
– diskutil cs create ssd hdd. При чем аргумент hdd теперь может быть не всем диском, а только нужным томом. Прямо как в LVM.
– закрываем терминал, форматируем как надо, восстанавливаемся если хотим с Time Machine. При чем у меня нормально все прошло, Time Machine на соседнем разделе уцелел без вопросов.

Но я все решил переставить с нуля, так как в системе были огрызки всякого говнософта типа CrashPlan и ОРФО. Грабли, конечно, последовали:

– Adobe до сих пор не умеет работать с case-sensitive разделами. Позор.
– Двухфакторная аутентификация в Office 365 не работает с Office for Mac 2011. Пока ее не отключишь она в Office 365 не войдет ни за что.
– Migration Assist не умеет восстанавливать домашнее окружение отдельно взятого пользователя, печалька.

Из результатов. Полюсы: один раздел, приемлемая производительность всего, отличная производительность Lightroom. Есть непроверенной подозрение, что все-таки Fusion Drive как-то учитывает поведение популярного и тяжелого софта. Минус: разрушится что-то в одном из устройств – разрушится все. Но есть резервная копия.

Огромный минус: копирование с раздела не в Fusion Drive на Fusion Drive, если этот раздел на устройстве, которое входит во Fusion Drive другим разделом, напрочь глушит все остальное. Например, когда я восстанавливал с резервной копии много файлов (~300Gb) и одновременно ставил Flash, оба процесса завершились одновременно. Правда, в обычном режиме это влиять не должно.

После обновления

По некоторым причинам обновил рабочий ноутбук с Macbook Air mid 2012 (минимальный, стандартный) до Macbook Pro mid 2014 (средний, стандартный).

– во-первых, МВидео – нехорошие люди. Писать на ценнике “4Гб памяти” дополнительно, учитывая, что других не бывает, как-то странно. Мне кажется, что это должно означать неведомую конфигурацию с 12Гб памяти, а не стандартную на 8.
– прочитав пост Тохочки про то, что он не перетягивает настройки и все такое со старой машины, а сетапит все заново, чтобы не было старого мусора и т.п. – сделал так же. Словил подлянку от Microsoft: теперь без двухфакторной аутентификации через Google Authenticator (зацените иронию), ничего вообще не логинится. Просто тихо говорит “пароль не пароль”, sms не присылает. Чтобы решить проблему надо зайти в аккаунт, выключить двухфакторную аутентификацию и включить ее заново. Естественно, что нигде про измененный метод ни слова.
– железка прекрасна во всем. Понял, что примерно года 3 уже как меня в ноутбуке волнует в порядке убывания значимости: цена, влезает ли он в мой портфель, вес, размер тачпада, качество экрана, качество исполнения корпуса, размер встроенного SDD. Остальное вообще не важно, а вот требование к влезанию в портфель – очень.
– в остальном все восстановилось само из разных облаков, кроме настроек дока, заставки на рабочий стол, паролей к wifi’ям и всего такого.

PS

Что-то давно ничего не писал.

10.10

Сегодня утром накатил 10.10. Новый интерфейс понравился, возможность хранить файлики в iCloud – наконец-то до них дошло. Автозамена в любых полях ввода смешная, но скорее помогает исправлять опечатки. Новые уведомления полезнее старых, например, можно сразу ответить на письмо или удалить его. Хорошо бы, конечно, еще и iOS 8, чтобы отвечать с компа на телефонные звонки. Новый iTunes выглядит логичнее и лаконичнее.

Глюков пока не заметил.

iOS adblock

Скачал тут программу, которая позиционирует себя как adblock для iOS на уровне всей системы. Интересно было как они собираются выходить из песочницы. Оказалось, что очень просто: вот вам, товарищи, прокси-сервер, забиваете его в “настройки сети”, а от для вас все отфильтрует. Очень сомнительное решение, рассчитанное на пользователей, которые не смогут понять его сомнительности.

Подскажите почтовик

Подскажите хороший почтовый клиент для iOS, чтобы он работал и на iPad, и на iPhone. На последнем у меня есть Seed, но его нет под iPad. Требования: без свистоперделок, но с проверкой всех папок IMAP, а не только корня, возможно, с поддержкой фирменных гугловых фишечек (рабочая почта суть gmail). На большом компе идеальным для меня оказался Mozilla Thunderbird.

Netbook strikes back0

Сделал себе возвращение нетбука: купил клавиатуру Logitech к своему (да, отобрал!) iPad’у. В принципе, на 99% полноценное рабочее место (если кое-кто кое-что пропишет кое-куда).