Как использовать Raspberry Pi в качестве сетевого диска Time Machine для вашего Mac
Зачем тратить 300 долларов на AirPort Time Capsule, если вы можете сделать ее самостоятельно с Raspberry Pi и внешним жестким диском? Требуется небольшая настройка, но как только все будет настроено, ваш Mac будет выполнять резервное копирование автоматически, без каких-либо усилий с вашей стороны. Больше не нужно подключать диск к компьютеру.
Еще лучше: когда приходит время восстанавливать файлы, вы можете отключить жесткий диск от Pi и подключить его непосредственно к вашему Mac, что позволит вам восстановить систему после полного сбоя системы с помощью System Recovery. Подобные хаки не работают таким образом.
Что вам нужно
Мы показали вам, как создать резервную копию вашего Mac с помощью Time Machine, и даже как выполнять резервное копирование Time Machine по сети. Но в этих руководствах для резервного копирования по сети требовался другой Mac, выполняющий роль сервера. Поэтому, если вы живете в доме с одним Mac, вы можете подумать, что единственный вариант - подключить жесткий диск USB или купить Apple Time Capsule за 300 долларов..
Это не правда. Raspberry Pi, подключенный к внешнему жесткому диску, представляет собой отличную импровизированную альтернативу Time Capsule или другому Mac, и он намного дешевле. (Да, Time Capsule действительно включает в себя функциональность маршрутизатора, так что на самом деле это достойная цена за то, что он предлагает, но этот метод позволяет вам использовать любой маршрутизатор, который вы хотите, и предлагает больше места для обновлений, когда на диске не хватает места.)
В этом руководстве предполагается, что вы уже знаете основы настройки Raspberry Pi. Это также требует немного оборудования:
- Малиновый пи. Подойдет любая модель, но текущая модель Raspberry Pi 3 Model B.
- SD-карта для операционной системы Raspberry Pi. Старая версия Raspberry Pis будет использовать стандартную SD-карту, в то время как для более новой потребуется карта microSD, поэтому убедитесь, что вы выбрали правильный вариант. Вот большой список карт, протестированных для хорошей работы Pi.
- Блок питания для Пи. Порт питания Pis - просто microUSB, но мы рекомендуем приобрести блок питания, предназначенный для Pi, для надежной работы - этот от CanaKit работает хорошо.
- Проводное сетевое соединение для вашего Pi (вы можете использовать Wi-Fi, но это требует больше настройки, и проводное соединение будет намного лучше для этих больших резервных копий по сети)
- Внешний жесткий диск, который вы будете подключать к Pi через USB. Мы рекомендуем приобрести настольный внешний жесткий диск с собственным выделенным источником питания, если только у вас нет USB-накопителя, который был протестирован для работы с Pi.
Вы можете получить большую часть этого материала (и даже больше) одним махом с хорошим стартовым набором Raspberry Pi, как этот, или купить их отдельно. Ваш звонок.
Я узнал об этом методе из поста в блоге Калеба Вудса и добавил несколько вещей, которые мне не помогли, прочитав этот пост на Badbox.de. Мое искреннее спасибо вам обоим.
Последнее замечание: в моем опыте этот хак работает довольно хорошо, но в конце концов он все еще просто хак. По этой причине я рекомендую иметь какое-то резервное копирование помимо этого, желательно что-то вне сайта. (В любом случае у вас всегда должна быть внешняя резервная копия на случай пожара или другого стихийного бедствия.)
Шаг первый: подготовьте внешний диск для Time Machine
Первое, что вам нужно сделать, это подготовить внешний диск для работы с Time Machine. Подключите диск к вашему Mac, затем запустите Дисковую утилиту. Выберите свой внешний диск, затем нажмите кнопку «Стереть». Вы захотите отформатировать диск как «Mac OS Extended», также известный как HFS+.
Далее, мы хотим убедиться, что ваш Raspberry Pi и каждое устройство будет иметь разрешение на управление накопителем. Пройдите к Finder, затем щелкните правой кнопкой мыши диск на боковой панели. Нажмите «Получить информацию».
В нижней части открывшегося окна вы найдете настройки разрешений.
Нажмите на замок внизу справа, затем введите свой пароль. Затем отметьте «Игнорировать права собственности на этот том». И с этим вы готовы подключить внешний накопитель к Pi..
Шаг второй: установите Raspbian на свой Pi и подключитесь к нему через SSH
Затем вам нужно настроить Raspberry Pi с помощью Raspbian, как описано в этой статье. Мы не будем здесь подробно описывать процесс, поскольку он сам по себе является проектом, поэтому ознакомьтесь с этим руководством, чтобы настроить Raspbian на свой Pi. Я использовал Raspbian Core для своей установки, так как я не подключил Pi к дисплею, но нет никаких причин, чтобы полная версия Raspbian с графическим интерфейсом также не работала.
Кстати, у вас есть два варианта, когда речь идет об остальной части этого урока. Вы можете подключить Raspberry Pi к клавиатуре и контролировать и настроить все таким образом, или вы можете подключиться к Pi через SSH и запускать каждый шаг, не выходя из своего Mac. Мы считаем, что метод SSH намного проще, чем поиск случайного монитора, поэтому вот как это сделать.
Запустите терминал на вашем Mac, затем введите следующую команду:
ssh pi @ 192.168.1.11
Замена 192.168.1.11
с IP-адресом вашего Пи. Вы можете найти IP-адрес любого устройства, подключенного к вашей сети, включая Raspberry Pi, перейдя в веб-интерфейс вашего маршрутизатора..
Затем вам будет предложено ввести пароль для пользователя по умолчанию, число Пи
. Пароль для число Пи
по умолчанию, малина
.
Если вы подключаетесь к новой системе в первый раз, я предлагаю вам настроить несколько вещей, прежде чем продолжить. Первый забег sudo raspi-config
и измените свой пароль по умолчанию. Вы также можете расширить свою файловую систему по умолчанию здесь, если у вас есть большая SD-карта (хотя это не обязательно для этого урока.) Ваш Raspberry Pi перезапустится, и в этот момент вы готовы приступить к работе..
Шаг третий: подключите внешний диск
Прежде чем вы сможете настроить Time Machine, вам необходимо смонтировать диск, чтобы ваш Raspberry Pi мог читать и записывать на него. Для этого требуется установить некоторое программное обеспечение. Во-первых, убедитесь, что все программное обеспечение на Pi обновлено. Запустите эти две команды, одну за другой:
sudo apt-get update
sudo apt-get upgrade
Далее установите два пакета: hfsprogs и hfsplus. Это позволит вашему Raspberry Pi читать ваш диск в формате Mac.
sudo apt-get установить hfsprogs hfsplus
Теперь у вас есть программное обеспечение, способное монтировать ваш диск, но оно должно знать, какой диск монтировать, поэтому вам нужно будет провести некоторое исследование. Начните с запуска Parted.
sudo / sbin / parted
Далее введите Распечатать
чтобы увидеть список подключенных в данный момент дисков. Вы должны увидеть свой внешний диск здесь.
На этом снимке экрана видно, что мой диск - это диск Maxtor объемом 164 ГБ (я обещаю, что я получу больший диск позже). Важная информация здесь / DEV / SDA
. Ваш диск будет иметь похожее имя, которое вы должны записать.
Далее посмотрите на таблицу под этим блоком текста. В моем случае очевидно, что я ищу второй, больший раздел. Поэтому я отмечаю, что раздел, который я хочу смонтировать, sda2
. Возможно, вам понадобится немного другая цифра, если у вас есть более одного диска или более одного раздела на вашем диске.
Теперь, когда у вас есть нужная информация, введите уволиться
и нажмите Enter. Далее мы создадим папку, которая будет служить нашей точкой монтирования ...
sudo mkdir -p / media / tm
… А затем добавьте некоторую информацию в файл fstab. Используйте эту команду, чтобы открыть текстовый редактор:
sudo nano / etc / fstab
Вставьте следующую строку в документ, заменив / DEV / sda2
с разделом вашего диска, если отличается от / dev / sda2.
/ dev / sda2 / media / tm hfsplus force, rw, пользователь, авто 0 0
После того, как вы вставили текст, нажмите Control + X, чтобы выйти из редактора, сохраняя при необходимости.
Затем установите диск с помощью:
sudo mount -a
Если вы не видите сообщение об ошибке, поздравляем! Вы успешно установили свой диск.
Шаг третий: скомпилируйте и установите Netatalk
Netatalk - это программа, имитирующая AFP, сетевой протокол, который Apple в настоящее время использует для резервного копирования Time Machine. Вы можете установить древнюю версию Netatalk, используя sudo apt-get установить netatalk
, но Я настоятельно рекомендую вам не делать этого. По (в основном политическим) сложным причинам Debian, на котором построен Raspbian, предлагает очень устаревшую версию Netatalk в своих репозиториях. Вы можете заставить Time Machine работать, используя эту устаревшую версию Netatalk, но по моему опыту это расстраивает.
Поэтому я рекомендую вам скомпилировать последнюю версию. Это больше хлопот для установки, но оно того стоит.
Во-первых, вам нужно установить зависимости. Вот все, что вам нужно установить, одной командой:
sudo aptitude install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-демон демон libavahi-client-dev libacl1-dev libldap2-dev libcrack systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl трекер libtracker-sparql-1.0-dev libtracker-miner-1.0-dev
Это может занять некоторое время для установки. Далее загрузите последнюю версию Netatalk. На момент написания статьи это 3.1.10, хотя вы можете проверить домашнюю страницу netatalk, чтобы узнать номер последней версии. Затем запустите эту команду, чтобы загрузить ее:
wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.10.tar.gz
Замените номер версии, если вы найдете более позднюю версию на их сайте.
Теперь распакуйте загруженный файл:
tar -xf netatalk-3.1.10.tar.gz
Затем переключитесь на новую папку, которую вы только что создали.
cd netatalk-3.1.10
Затем вы можете настроить все параметры netatalk перед компиляцией программы, используя эту команду:
./ configure \ --with-init-style = debian-systemd \ --without-libevent \ --without-tdb \ --with-cracklib \ --enable-krbV-uam \ --with-pam-confdir = / etc / pam.d \ --with-dbus-daemon = / usr / bin / dbus-daemon \ --with-dbus-sysconf-dir = / etc / dbus-1 / system.d \ --with-tracker- pkg-config-версия = 1.0
Предполагая, что вы не видите никаких сообщений об ошибках, вы можете перейти к следующему этапу и выполнить:
делать
Это займет некоторое время. Вы могли бы также сделать себе кофе, немного булочек и еду из трех блюд. Raspberry Pi не спешит с компиляцией программного обеспечения.
Когда все сделано, вы можете наконец установить Netatalk:
sudo make install
Разве это не было весело? Быстро проверьте, что Netatalk действительно работает:
Netatalk -V
Вы увидите кучу информации о вашей настройке Netatalk. Если все выглядит хорошо, давайте настроим вещи!
Шаг четвертый: настройка Netatalk
Теперь, когда Netatalk установлен, вы должны сказать ему, чтобы поделиться вашим диском. Сначала вам нужно отредактировать nsswitch.conf
.
sudo nano /etc/nsswitch.conf
Здесь нужно добавить mdns4
а также MDNS
к строке, которая начинается с «hosts:», так что это выглядит так:
hosts: файлы mdns4_minimal [NOTFOUND = return] dns mdns4 mdns
Этот твик означает, что ваш диск Time Machine будет отображаться на боковой панели Finder, как только вы подключите Raspberry Pi к сети..
Далее вам нужно будет отредактировать afpd.service
:
sudo nano /etc/avahi/services/afpd.service
Скопируйте этот блок текста и вставьте его в этот файл:
% h _afpovertcp._tcp 548 _device-info._tcp 0 model = TimeCapsule
Помимо прочего, эта информация делает ваш Raspberry Pi имитирующим Apple Time Capsule в комплекте с соответствующим значком.
Наконец, пришло время настроить внешний диск как сетевой ресурс.
sudo nano /usr/local/etc/afp.conf
Внизу этого документа вставьте следующий текст:
[Global] модель имитации = TimeCapsule6,106 [Time Machine] путь = / media / tm time machine = да
Если хотите, во вторых скобках вы можете указать другое имя, чем «Машина времени». Это изменит имя диска, на который вы создаете резервную копию, как показано в Finder и Time Machine..
Наконец, продолжайте и запустите сетевые сервисы. Для того, чтобы выполнить эти две команды:
sudo service avahi-daemon start
sudo service netatalk start
Ваш диск теперь предлагается в сети. Чтобы убедиться, что это происходит каждый раз, когда вы запускаете Raspberry Pi, введите эти команды, снова, одну за другой:
sudo systemctl включить avahi-демон
sudo systemctl включить netatalk
Мы действительно близки!
Шаг пятый: подключитесь к своей машине времени
Отправляйтесь в Finder на вашем Mac, и вы должны увидеть свой Raspberry Pi здесь.
Вы можете подключиться отсюда, нажав «Подключиться как» и введя то же имя пользователя и пароль, которые вы используете для подключения по SSH..
Однако, по моему опыту, Time Machine работает лучше, если вы подключаетесь к диску через его IP-адрес, особенно если вы настроили статический IP-адрес на своем маршрутизаторе (что вам, вероятно, следует). Для подключения откройте Finder, затем нажмите Ctrl + K на клавиатуре.
После того, как вы установили диск, перейдите в «Системные настройки»> «Time Machine», затем выберите диск в качестве резервной копии Time Machine..
Начальное резервное копирование будет выполняться, и после этого резервное копирование будет происходить каждый час. Теперь у вас есть сетевой диск Time Machine. наслаждаться!