Как превратить Raspberry Pi в устройство хранения данных с низким энергопотреблением
Смешайте вместе один Raspberry Pi и множество дешевых внешних жестких дисков, и вы получите рецепт для сверхнизкого энергопотребления и всегда включенного сетевого устройства хранения данных. Продолжайте читать, пока мы покажем вам, как настроить собственный NAS на основе Pi.
Почему я хочу это сделать?
Преимущество наличия постоянно включенного сетевого запоминающего устройства состоит в том, что чрезвычайно удобно, чтобы ваши данные (или место назначения резервного копирования) всегда были доступны для компьютеров как внутри, так и за пределами вашей сети. Недостатком, в большинстве случаев, является то, что вы потребляете достаточное количество энергии для удобства.
Наш офисный сервер, например, работает круглосуточно и потребляет почти 200 долларов в год. С другой стороны, сетевое запоминающее устройство на основе Raspberry Pi потребляет около 5 долларов в год..
Мы будем первыми, кто сообщит вам, что у полноценного сервера будет больше места для хранения и возможность выполнять больше работы (например, транскодировать многотерабайтную коллекцию видео за разумный промежуток времени). Однако для большинства людей главная цель иметь постоянно включенный компьютер где-то в доме - это служить файловым сервером и хранилищем резервных копий файлов. Для таких задач Raspberry Pi более чем достаточно силен и сэкономит вам массу изменений в энергопотреблении..
Что мне нужно?
Этот урок основан на нашем предыдущем уроке: HTG Guide по началу работы с Raspberry Pi, и мы предполагаем, что вы уже завершили это - другими словами, у вас уже есть Raspberry Pi, он включен, подключен к мыши и клавиатуре и вы установили на него Raspbian.
В дополнение к устройству, которое вам понадобится из учебного пособия «Начало работы с Raspberry Pi», у вас будет только следующее оборудование:
- Один (как минимум) внешний жесткий диск USB для простого резервного копирования по сети и обслуживания файлов
или же
- Два (как минимум) внешних жестких диска USB для локальной избыточности данных
Это оно! Если вам нужен простой сетевой диск, вам понадобится только один жесткий диск. Мы настоятельно рекомендуем использовать как минимум два жестких диска, чтобы обеспечить локальную (у Raspberry Pi) избыточность данных. Для целей данного руководства мы используем подходящую пару портативных внешних жестких дисков Seagate Backup Plus емкостью 1 ТБ. Они очень маленькие, не требуют внешнего источника питания и были в продаже, когда мы покупали запчасти.
Вы можете использовать любые внешние жесткие диски, которые есть у вас под рукой, но по возможности идеально использовать небольшие диски с низким энергопотреблением, поскольку основная задача проекта - создать крошечный и маломощный NAS, который можно просто убрать с дороги и забудь о.
Прежде чем мы продолжим, есть несколько вариантов дизайна, которые мы сделали с точки зрения конфигурации нашего NAS Raspberry Pi, о которых вы должны знать. Хотя большинство пользователей захотят следовать в точности так, как мы это сделали, вы можете настроить конкретные шаги, чтобы лучше соответствовать вашим потребностям и способам использования компьютеров в сети..
Во-первых, мы используем жесткие диски в формате NTFS. Если Raspberry Pi NAS потерпит неудачу по какой-либо причине или же мы хотим быстро копировать информацию через соединение USB 3.0, а не через сеть, поскольку диски в формате NTFS упрощают использование переносных USB-накопителей, которые мы используем в сборке NAS, и подключаем их прямо к одной из множества Windows машины мы используем каждый день.
Во-вторых, мы используем Samba для наших общих сетевых ресурсов, опять же, из-за удобства объединения Raspberry Pi NAS с нашей преимущественно сетью Windows.
Подготовка и установка внешних жестких дисков
После того, как вы собрали аппаратное обеспечение, а затем вместе с учебным пособием «Начало работы с Raspberry Pi», чтобы набрать скорость (и запустить Raspian), пришло время приступить к настройке вашего Pi в качестве NAS..
Первым делом стоит подключить жесткие диски к Raspberry Pi (или к подключенному USB-концентратору в зависимости от вашей конфигурации и от того, работают ли жесткие диски с автономным или внешним питанием). После того, как жесткие диски подключены и Pi включен, пришло время приступить к работе.
Замечания: Мы используем два жестких диска. Если вы решили использовать только один жесткий диск, просто не обращайте внимания на все команды в этом разделе, предназначенные для монтирования / изменения или иного взаимодействия со вторым жестким диском..
Мы собираемся делать всю нашу работу в терминале. Таким образом, вы можете либо работать непосредственно на Raspberry Pi, используя LXTerminal в Raspian, либо вы можете использовать SSH в Raspberry Pi, используя такой инструмент, как Putty. В любом случае это хорошо.
Когда вы попали в командную строку, первое, что вам нужно сделать, - это добавить поддержку Rasbian для дисков в формате NTFS. Для этого введите следующую команду:
sudo apt-get установить ntfs-3g
Загрузка, распаковка и установка пакетов займет минуту или две. После установки пакета NTFS пришло время искать размонтированные разделы подключенных внешних жестких дисков..
sudo fdisk -l
Как минимум вы должны увидеть два диска, если вы добавили дополнительный диск для зеркалирования данных (как у нас), вы должны увидеть три таких:
Первый диск / DEV / mmcb1k0
это SD-карта внутри Raspberry Pi, в которой находится наша установка Raspbian. Мы собираемся оставить это полностью в покое.
Второй диск, / DEV / SDA
наш первый внешний жесткий диск емкостью 1 ТБ. Третий диск, / DEV / SDB
наш второй 1TB внешний жесткий диск. Фактические разделы, которые нас интересуют на этих двух дисках: / Sda1 /
а также / Sdb1 /
, соответственно. Запишите имена жестких дисков.
Прежде чем мы сможем смонтировать диски, нам нужно создать каталог для монтирования дисков. Для простоты мы собираемся просто создать каталоги с именами USBHDD1 и USBHDD2 для каждого диска. Сначала мы должны сделать диски. В командной строке введите следующие команды:
sudo mkdir / media / USBHDD1
sudo mkdir / media / USBHDD2
После того, как вы создали две директории, пришло время монтировать внешние диски в каждую папку. Снова в командной строке введите следующие команды:
sudo mount -t auto / dev / sda1 / media / USBHDD1
sudo mount -t auto / dev / sdb1 / media / USBHDD2
На данный момент у нас есть два внешних жестких диска, подключенных к каталогам USBHDD1 и USBHDD2 соответственно. Пришло время добавить определенную директорию на оба диска для хранения наших общих папок (чтобы сохранить порядок и разделить нашу работу на дисках). Введите следующие команды:
sudo mkdir / media / USBHDD1 / общие ресурсы
sudo mkdir / media / USBHDD2 / общие ресурсы
Теперь пришло время установить Samba, чтобы мы могли получить доступ к хранилищу из любой точки сети. В командной строке введите:
sudo apt-get установить samba samba-common-bin
Когда будет предложено продолжить, введите Y и введите. Расслабьтесь и расслабьтесь, поскольку все распаковывает и устанавливает. Как только пакет Samba завершит установку, пришло время немного настроить. Прежде чем делать что-то еще, давайте создадим резервную копию файла конфигурации Samba на тот случай, если нам понадобится вернуться к нему. В командной строке введите следующую командную строку:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Это просто создает резервную копию файла конфигурации с именем файла smb.conf.old и оставляет его в том же каталоге, что и исходный файл конфигурации..
После того, как мы создали резервную копию, пришло время сделать простое редактирование в конфигурационном файле Samba. Введите в командной строке следующее:
sudo nano /etc/samba/smb.conf
Это откроет текстовый редактор nano и позволит нам внести некоторые простые изменения. Если вы впервые используете nano, мы настоятельно рекомендуем ознакомиться с Руководством для начинающих по Nano, текстовому редактору командной строки Linux. Вы должны увидеть что-то вроде следующего в окне терминала:
Nano полностью управляется с клавиатуры, используйте клавиши со стрелками для перемещения курсора в место, которое вы хотите редактировать. Когда вы щелкнете вниз по настройкам конфигурации, вы увидите, что стоит отметить или изменить.
Первый - это идентификатор рабочей группы, по умолчанию рабочая группа = WORKGROUP. Если вы используете другое имя для своей домашней рабочей группы, перейдите и переместите стрелку, чтобы изменить его сейчас, в противном случае оставьте его по умолчанию.
Наша следующая остановка - включить аутентификацию пользователей для нашего хранилища Samba, иначе любой, у кого есть общий доступ к нашей сети (например, гостевые пользователи Wi-Fi), сможет сразу войти. Прокрутите вниз файл конфигурации Samba, пока не дойдете до раздел, который гласит:
Удалите символ # из строки security = user (выделив его курсором и нажав delete), чтобы включить проверку имени пользователя / пароля для общих ресурсов Samba..
Далее мы собираемся добавить совершенно новый раздел в файл конфигурации. Прокрутите весь путь до самого конца файла и введите следующий текст:
[Резервное копирование]
комментарий = папка резервного копирования
путь = / медиа / USBHDD1 / общие ресурсы
действительные пользователи = @users
принудительная группа = пользователи
создать маску = 0660
маска каталога = 0771
только чтение = нет
Заметка: Что бы вы ни указали в скобках в верхней строке, это будет имя папки в том виде, в каком оно отображается в общем сетевом ресурсе. Если вы хотите другое имя, кроме «Резервное копирование», сейчас самое время отредактировать его.
Нажмите CTRL + X для выхода, нажмите Y, когда вас спросят, хотите ли вы сохранить изменения и перезаписать существующий файл конфигурации. Вернувшись в командную строку, введите следующую команду, чтобы перезапустить демоны Samba:
sudo /etc/init.d/samba restart
На этом этапе нам нужно добавить пользователя, который может получить доступ к общим ресурсам самбы Pi. Мы собираемся создать учетную запись с резервными копиями имен пользователей и резервных копий паролей4ever. Вы можете сделать свое имя пользователя и пароль по своему усмотрению. Для этого введите следующие команды:
sudo useradd резервные копии -m -G пользователей
резервные копии sudo passwd
Вам будет предложено ввести пароль дважды для подтверждения. После подтверждения пароля пришло время добавить «резервные копии» в качестве законного пользователя Samba. Введите следующую команду:
sudo smbpasswd -a резервные копии
Введите пароль для резервной учетной записи, когда будет предложено. После того, как вы создали учетную запись пользователя и пароль, вам больше не нужно перезапускать демон Samba, поскольку мы уже указали, что он должен искать аутентифицированных пользователей. Теперь мы можем подключиться к любому компьютеру с поддержкой Samba в нашей сети и проверить подключение к общему сетевому ресурсу..
На соседней машине с Windows мы открыли проводник Windows, щелкнули по сети, подтвердили, что имя хоста RASPBERRYPI входит в рабочую группу WORKGROUPS, и нажали на общую папку Backups:
При появлении запроса введите учетные данные, которые вы создали на предыдущем шаге (если вы следуете за линией за строкой, имя входа - резервные копии, а пароль - backups4ever).
Как только ваши учетные данные будут приняты, вы попадете в пустую папку, поскольку в общем ресурсе еще ничего нет. Чтобы дважды проверить, что все работает гладко, давайте создадим простой файл с компьютера, с которым мы проверяли соединение (в нашем случае, с рабочим столом Windows 7). Создайте текстовый файл так:
Теперь из командной строки, с которой мы работали все это время, давайте проверим, правильно ли отображается файл, который мы создали на рабочем столе Windows, в каталоге общего ресурса, который мы создали. В командной строке введите следующую команду:
CD / медиа / USBHDD1 / акций
Ls
hello-is-it-me-you-look-for-for.txt находится в каталоге; наш простой эксперимент с общими каталогами успешен!
Прежде чем мы покинем этот раздел учебника, у нас есть только одна вещь, которую нужно сделать. Нам нужно настроить наш Pi так, чтобы при перезапуске он автоматически монтировал внешние жесткие диски. Для этого нам нужно запустить редактор нано и сделать быстрое редактирование. В командной строке введите:
sudo nano / etc / fstab
Это откроет таблицу файловых систем в nano, поэтому мы можем добавить несколько быстрых записей. В редакторе нано добавьте следующие строки:
/ dev / sda1 / media / USBHDD1 auto noatime 0 0
/ dev / sda2 / media / USBHDD2 auto noatime 0 0
Нажмите CTRL + X для выхода, нажмите Y для сохранения и перезапишите существующий файл.
Если вы используете только один жесткий диск для простого общего доступа к сети без избыточности, то это все! Вы все сделали с процессом настройки и можете начать пользоваться своим сверхнизким энергопотреблением NAS.
Настройка NAS Raspberry Pi для простого резервирования данных
До сих пор наш Raspberry Pi NAS подключен к сети, передача файлов работает, но отсутствует одна очевидная вещь. Этот вторичный жесткий диск настроен, но находится в режиме ожидания.
В этом разделе руководства мы собираемся использовать два простых, но мощных инструмента Linux, rsync и cron, для настройки нашего NAS Raspberry Pi для выполнения ночного зеркалирования данных из папки / shares / на основном диске в / shares /. папка на дополнительном диске. Это не будет RAID-подобным зеркалированием данных в реальном времени, но ежедневное (или полудневное) резервное копирование данных на дополнительный диск является отличным способом добавить еще один уровень безопасности данных..
Во-первых, нам нужно добавить rsync в нашу установку Rasbian. Если вы впервые используете rsync и хотите получить более подробное представление о команде, мы рекомендуем проверить, как использовать rsync для резервного копирования ваших данных в Linux.
В командной строке введите следующую команду:
sudo apt-get установить rsync
После установки rsync самое время настроить задание cron для автоматизации процесса копирования файлов с USBHDD1 на USBHDD2. В командной строке введите следующую команду:
crontab -e
Команда откроет вашу таблицу расписаний cron в текстовом редакторе nano, которая должна быть вам знакома в этом уроке. Идите вперед, прокрутите вниз до конца документа и введите следующую строку:
0 5 * * * rsync -av - удалить / media / USBHDD1 / Share / Media / USBHDD2 / Share /
Эта команда указывает, что каждый день в 5:00 (часть 0 5), каждый день (* * *, подстановочные знаки в году, месяце, точках дня) мы хотим, чтобы rsync сравнивал две директории, копируя все с HDD1 на HDD2 и удаление в каталоге резервных копий чего-либо, что больше не соответствует чему-либо в первичном каталоге, т.е. если у нас есть файл фильма на HDD1, который мы удаляем, мы также хотим, чтобы этот файл был удален из резервной копии при следующей синхронизации.
Важной частью настройки этой команды является то, что вы выбираете время, которое не мешает никакой другой сетевой активности для общих папок, которые вы, возможно, запланировали. Например, если вы используете NAS Raspberry Pi в качестве места назначения для резервного копирования какого-либо автоматизированного программного обеспечения, которое копирует ваши файлы на NAS в 5 утра каждое утро, то вам нужно либо отрегулировать время резервного копирования в своем программном обеспечении для резервного копирования, либо вам нужно чтобы настроить время для задания cron на Pi, но у вас не может быть удаленного резервного копирования, сбрасывающего данные на общий сетевой ресурс, и Raspberry Pi, пытающегося синхронизировать эти данные между локальными дисками одновременно.
Как только вы ввели запись в crontab, нажмите CTRL + X, чтобы выйти и сохранить файл. Если вы хотите немедленно запустить rsync, чтобы данные быстрее зеркалировались и сделать начальное задание cron немного более легким в системе, продолжайте и введите ту же команду rsync, которую вы поместили в crontab, в командной строке следующим образом:
rsync -av - удалить / media / USBHDD1 / Share / Media / USBHDD2 / Share /
Это оно! Все, что вам нужно сделать на этом этапе, это зарегистрироваться на Raspberry Pi в течение следующего дня или двух, чтобы убедиться, что запланированное задание запускается, как ожидалось, и данные из / USBHDD1 / акции /
появляется в / USBHDD2 / акции /
.
С этого момента все, что вы вставляете в NAS Raspberry Pi, будет ежедневно отображаться на обоих жестких дисках..
Прежде чем мы оставим тему полностью, вот несколько дополнительных статей с практическими рекомендациями, которые вы, возможно, захотите проверить, чтобы добавить больше возможностей в ваш новый NAS с Raspberry Pi:
- Как сделать резервную копию вашей учетной записи Gmail с помощью компьютера с Ubuntu, хотя инструкции для Ubuntu, вы можете легко изменить их для Rasbian, чтобы превратить ваш Pi NAS в автоматическое устройство резервного копирования электронной почты.
- Какие файлы вы должны сделать резервную копию на вашем ПК с Windows? -Если вы не уверены, какие файлы вы должны делать резервные копии на NAS, это хорошее место для начала.
- Как удаленно выполнять резервное копирование данных с помощью CrashPlan-CrashPlan - это бесплатное приложение для резервного копирования, доступное для компьютеров под управлением Windows, Mac и Linux, которое позволяет легко планировать регулярное резервное копирование на NAS..
Есть ли у вас проект Raspberry Pi, который вы хотели бы увидеть? Большие или маленькие, мы любим играть с отключенным пи-саундом в комментариях с вашими идеями..