Настройка сервера сетевого хранилища с низким потреблением энергии и повышенной надежностью

Mark Harris
|  Создано: 23 Сентября, 2019  |  Обновлено: 16 Марта, 2020

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

Raspberry Pi?

Я начал с рассмотрения возможности создания сетевого хранилища на базе Raspberry Pi; в конце концов, это отличные маленькие одноплатные компьютеры. Однако есть несколько моментов, которые делают их менее идеальными для подобных задач. Во-первых, сетевой порт имеет скорость только 300 Мбит/с в последней модели 3B+ и 100 Мбит/с в старших поколениях. Во-вторых, USB-порты поддерживают только USB 2.0 (480 Мбит/с), что значительно медленнее, чем USB 3.0 (5 Гбит/с). USB-разъемы не всегда лучший выбор для условий высоких вибраций и могут иметь прерывистые ошибки соединения из-за этого или выходить из строя из-за усталости, если кабель не закреплен надежно. USB-кабели, особенно 2.0, также не особенно хорошо работают в условиях высоких ЭМИ, например, рядом с двигателями, управляемыми частотно-регулируемыми приводами.

ODroid HC1!

После сравнения множества привлекательных вариантов на рынке, я выбрал ODroid HC1 (Home Cloud 1) у их британского дистрибьютора (https://odroid.co.uk). Это очень компактный и вполне доступный одноплатный компьютер. Объявленные характеристики HC1 действительно поражают по сравнению с другими одноплатными компьютерами в аналогичном ценовом диапазоне.

При покупке напрямую от Hard Kernel, стоимость устройства составит 49 долларов США, не включая стоимость доставки, блока питания или жесткого диска. Hard Kernel также предлагает несколько впечатляющих плат в форм-факторе RasPi, с огромной вычислительной мощностью для тех, кто готов за это заплатить. HC1 привлек меня тем, что он предназначен исключительно для управления сетевым накопителем, полностью лишен лишних функций. Он также довольно компактен, несмотря на то, что установлен на огромный радиатор, который служит открытым корпусом, с возможностью добавления верхней крышки для тех, кто предпочел бы её иметь.

Мне бы хотелось, чтобы в устройстве была встроенная функция WiFi, а также возможность использовать несколько дисков для RAID и обеспечения безопасности данных в случае отказа диска. Хотя Odroid HC1 не обладает такими функциями, он сохраняет один USB-порт, который, при желании, можно использовать для подключения USB WiFi адаптера. Меня интересовала возможность WiFi для удобства, чтобы иметь возможность проверять содержимое диска с мобильного устройства, а не для записи или чтения больших объемов данных. RAID, с другой стороны, является более сложной задачей для одноплатных компьютеров, если вы не начнете рассматривать машины на базе x86, добавлять графические процессоры или рассматривать другие энергоемкие функции. Было трудно найти компактный вариант с низким энергопотреблением, поэтому мне пришлось отказаться от RAID.

Хранение

Я решил использовать однотерабайтный SSD Samsung 860 Evo SATA для хранения данных и карту памяти Sandisk microSDHC объемом 16 гигабайт в качестве загрузочного устройства. Я пытался обойтись старой двухгигабайтной картой microSD, но она оказалась слишком медленной для операционной системы. 16-гигабайтная карта Sandisk microSDHC была самой дешевой картой из известных брендов. Если вам нужна особо надежная конфигурация, то диски Samsung 860 Evo PRO стоят в два раза дороже, но предлагают почти в четыре раза большую износостойкость флеш-памяти по сравнению с Evo, что может быть весьма выгодным для удаленной установки, собирающей критически важные данные. Версия PRO также значительно меньше потребляет энергии. Более бюджетным вариантом от Samsung является линейка Qvo, которая имеет примерно половину износостойкости флеш-памяти по сравнению с Evo. Я решил остановить свой выбор на продукции Samsung вместо других брендов, потому что мое оборудование не поддерживает опцию RAID. У меня никогда не было проблем с их продукцией в прошлом, и у меня в непрерывной эксплуатации уже 9 таких устройств, поэтому я решил придерживаться того, что хорошо работало для меня ранее.

Механические диски не являются хорошим выбором для устройств с низким потреблением энергии, интенсивными вибрациями или в условиях суровой среды. Они очень дешевы по сравнению с объемом памяти, который они предлагают, если сравнивать с качественным SSD, но вибрации очень быстро их убивают, как и пыль с влагой. SSD потребляет гораздо меньше энергии, чем механический диск, и не страдает от времени разгона при выходе из режима сна, когда вы хотите начать запись данных.

Boxed Samsung 860 EVO SSD and ODroid HC1

SSD Samsung 860 EVO и ODroid HC1 после покупки.

Операционная система

Существует несколько операционных систем для сетевых накопителей, доступных для одноплатных компьютеров. Я решил использовать OpenMediaVault, потому что он работает на значительном количестве одноплатных компьютеров на базе ARM, что позволяет вам следовать инструкциям, даже если вы выберете другой путь (например, Raspberry Pi). Также у него очень простой в использовании веб-интерфейс для настройки и управления общими ресурсами/пользователями, что исключает необходимость использования командной строки или SSH!

Подготовка ОС

Настройка и запуск ODroid HC1 сводится просто к подключению жесткого диска, записи и подключению SD-карты, а затем подключению к сети Ethernet и питанию. Давайте рассмотрим эти шаги по порядку.

Во-первых, давайте загрузим образ прошивки на SD-карту.

  1. Скачайте образ “OMV_4_Odroid_XU4_HC1_HC2.img.xz” с Sourceforge.

  2. Скачайте любую программу для записи образов на ваш выбор. В этой статье мы будем работать с Etcher (https://etcher.io/), потому что он прост в использовании.

  3. Вставьте microSD карту в компьютер.

  4. Откройте Etcher и выберите скачанный образ, затем ваш накопитель.

  5. Нажмите Flash!

Подготовка оборудования

Пока Etcher записывает и проверяет образ на вашей SD-карте, вы можете собрать ODroid HC1 и жесткий диск, просто подключив жесткий диск к SATA-разъему HC1.

An ODroid HC1 connected to a Samsung EVO SSD

ODroid HC1, подключенный к диску Samsung, образуют очень компактное сетевое хранилище.

Затем переверните и используйте включенные винты, чтобы закрепить диск.

После этого вы можете подключить сетевой кабель.

An ethernet cable connected to an ODroid HC1 in its casing and connected to a Samsung EVO SSD

Как только вы подключите сетевой кабель, вы закончите подключение всего оборудования.

После того как Etcher завершит запись на SD-карту, вы можете подключить её к HC1, а затем подключить питание. Для первого запуска OpenMediaVault крайне необходимо наличие стабильного интернет-соединения. При первом запуске моего HC1, подключенного к сети, которая включала в себя беспроводное соединение не очень высокого качества, у меня возникли значительные трудности с заставлением устройства работать. Однако, подключив HC1 напрямую к проводной части сети, я добился мгновенного успеха.

Первый запуск может занять некоторое время, так что можно заварить чай или кофе, или почитать другие статьи на этом блоге. Оставьте HC1 загружаться и устанавливаться как минимум на 15 минут; визуального подтверждения окончания процесса нет, поэтому лучше оставить устройство работать немного дольше, чем приступать к действиям с ним слишком рано.

Настройте Vault

Вы захотите проверить, что обеспечивает выдачу адресов DHCP в вашей сети (обычно это ваш интернет-маршрутизатор в доме или малом офисе), чтобы посмотреть подключенные устройства и найти IP-адрес ODroid. В качестве альтернативы, вы можете использовать инструмент сканирования IP-адресов для его поиска — популярный выбор это Angry IP Scanner (я предпочитаю старую версию, так как она не требует Java). Если это ваш единственный ODroid в сети, вы, вероятно, можете пропустить поиск IP-адреса и перейти по адресу http://odroidxu4/ в вашем веб-браузере. В противном случае, используйте IP-адрес в вашем браузере.

OpenMediaVault login screen

Настройка OpenMediaVault начинается с входа в систему.

Имя пользователя и пароль по умолчанию: admin / openmediavault.

Первое, что вам нужно сделать, это перейти в Система⇒Общие настройки, а затем в Веб-администратор Пароль, чтобы изменить ваш пароль.

eb administrator password change interface in OpenMediaVault

Затем вы можете перейти в Система⇒Управление обновлениями, чтобы убедиться, что у вас установлены все последние пакеты. Нажмите кнопку Проверить, затем кликните по чекбоксу рядом с Информацией о пакете, чтобы выбрать все, и нажмите кнопку Обновить

OpenMediaVault checking for updates interface

 

OpenMediaVault installing updates window

Пожалуйста, подождите, пока OpenMediaVault устанавливает свои обновления.

После того, как обновления будут выполнены, вам захочется перезагрузиться. Вы можете нажать на иконку меню ⋮ в верхнем правом углу панели управления и выбрать перезагрузку.

OpenMediaVault menu, with mouse hovered over the reboot button

Настройка жесткого диска

Если вы используете существующий жесткий диск или ваш жесткий диск поставляется предварительно отформатированным, вам нужно будет удалить разделы перед продолжением. Вы можете перейти в меню Хранилище⇒Файловые системы, выбрать любые записи /dev/sda* и удалить их. Однако, убедитесь, что вы не касаетесь элемента /dev/mmc, так как это SD-карта, с которой вы загружаетесь!

OpenMediaVault storage management interface

Настройка жесткого диска требует создания файловой системы.

Как только у вас будет пустой диск, вы можете нажать кнопку Создать. Дайте вашему диску метку тома, убедитесь, что для файловой системы выбрано EXT4, и нажмите ОК.

OpenMediaVault create file system window asking for device, label, and file system type

Это, вероятно, займет несколько минут.

Create file system process window in OpenMediaVault

После завершения нажмите Закрыть, затем выберите /dev/SDA1 и нажмите кнопку Монтировать. Затем вам нужно будет нажать Применить, чтобы диск был смонтирован.

OpenMediaVault storage management interface after a file system has been created

Кнопку применить можно найти в верхнем правом углу таблицы устройств.

Получение доступа

Далее вам понадобится пользователь для доступа к общему ресурсу. Перейдите в меню Управление правами доступа⇒Пользователь и нажмите Добавить.

Access right management interface in OpenMediaVault with the Add User button being highlighted

Теперь, когда мы закончили с хранилищем, нам нужно настроить управление правами доступа.

Установите имя пользователя и пароль, затем нажмите Добавить. После этого вам нужно будет применить изменения, как вы делали при монтировании новой файловой системы. Теперь у вас есть пользователь для доступа к общему ресурсу.

Add user interface with data for name, comment, email, and password filled in

Нам нужно будет настроить базовые параметры при создании нового пользователя.

Перейдите в Управление правами доступа⇒Общие папки и нажмите Добавить.

Просто дайте папке имя, например, «logdata», и нажмите Добавить. Желательно также установить разрешения, чтобы запретить доступ «другим», так что только пользователи могут получить доступ к папке.

OpenMediaVault add shared folder interface

Создание общей папки позволяет пользователю, которого мы только что создали, передавать данные в сетевое хранилище и из него.

После создания общего ресурса вы можете выбрать его, а затем нажать кнопку Привилегии, чтобы добавить вашего пользователя.

Access rights management window with emphasis on the privileges button above the folders table

Вы хотите выбрать флажок Чтение/Запись, а затем нажать Сохранить. Опять же, вам нужно применить эти изменения.

Shared folder privileges window with the recently created user highlighted

Наконец, нажмите кнопку ACL, рядом с кнопкой Privileges, которую вы нажимали ранее, и сделайте то же самое, затем примените и закройте.

Modify shared folder ACL window in OpenMediaVault

Включение доступа к сети

Перейдите в меню Services - SMB/CIFS. Это файловый сервер на устройстве.

Нажмите Включить, затем Сохранить и Применить.

Services > SMB/CIFS settings window in OpenMediaVault

Не забудьте нажать кнопку применения, чтобы сохранить внесенные изменения.

После включения сервера SMB, нажмите вкладку Shares, а затем кнопку Добавить. Вы можете выбрать ранее созданный общий ресурс и затем нажать кнопку Сохранить, после чего Применить изменения.

Add share interface for the recently created shared folder in OpenMediaVault

В Windows вы можете перейти в \\odroidxu4\ (или \\ipaddress\) в проводнике Windows, чтобы проверить, правильно ли настроен общий доступ. Введите созданные ранее учетные данные, когда будете подсказаны.

Windows security prompting for credentials to connect to the ODroid HC1

Windows operating system network folder showing the accessible shared folder on the OCDroid

Мы можем использовать наши учетные данные, чтобы видеть и получать доступ к общей папке на OCDroid с любого другого компьютера в сети.

При копировании на диск или с диска вы должны видеть скорость передачи около 95-115Мбайт/секунду по проводной сети, что примерно соответствует максимальной скорости передачи данных в гигабитной сети. Пропускная способность на HC1 довольно впечатляет.

Другие методы доступа

OpenMediaVault также поддерживает другие способы передачи файлов. Если устройство, генерирующее все данные, которые вам нужно хранить, не поддерживает файловые системы SMB (общие ресурсы Windows), то вы можете также включить FTP. FTP, как правило, работает не так быстро, как SMB, однако, если вы используете микроконтроллер, его проще реализовать, чем общие ресурсы SMB.

FTP-сервер также может быть довольно удобен для просмотра сервера из удаленного места. Если вы хотите получить доступ к FTP-серверу с базового микроконтроллера, вероятно, вы не хотите, чтобы SSL был обязательным, только опциональным. Если вам нужно запустить FTP-сервер без SSL, вы должны получать доступ к серверу через интернет только через VPN-туннель в сеть, к которой подключен NAS.

Включение FTP

Перейдите в Сервисы⇒FTP, затем отметьте поле Включить и нажмите Сохранить.

Services > FTP settings window in OpenMediaVault

Теперь вы можете перейти на вкладку Общие ресурсы и добавить ресурс так же, как вы делали это для общего ресурса SMB выше. Не забудьте нажать Сохранить, а затем Применить изменения конфигурации.

dd share interface with the enable checkbox ticked

Заключение

Если вы хотите построить удаленный сервер для хранения данных, который использует очень мало энергии и занимает мало места, Odroid HC1 является отличным вариантом. Если вы находитесь в очень влажной или сырой среде, вам может понадобиться использовать конформный лак и тщательно покрыть им плату с обеих сторон, а возможно, и внутреннюю часть вашего жесткого диска (только если вы используете твердотельный диск). Конформный лак обеспечит защиту плат от коррозии.

Большой радиатор на Odroid значительно увеличивает жесткость конструкции, поэтому практически нет опасений, что разъем SATA будет подвержен усталости от вибраций или ударов. В сочетании с твердотельным диском это дает вам надежное устройство сетевого хранилища.

Как было сказано ранее, для наилучшей надежности идеальным вариантом было бы автоматическое зеркалирование данных на двух дисках. Еще лучше, если бы у нас было несколько дисков в RAID 6, но тогда мы бы значительно вышли за рамки понятий «компактность», «низкое энергопотребление» и «стоимость». Корпуса-радиаторы Odroid HC1 можно ставить друг на друга, так что можно просто использовать два NAS вместе и использовать программную синхронизацию, такую как RSync, которую OpenMediaVault может настроить для вас, на второй системе для копирования файлов с первой. Синхронизируя две системы, вы получите некоторые возможности отказоустойчивости и сохранения данных в случае выхода из строя диска.

Хотите узнать больше о том, как Altium Designer® может помочь вам в следующем проекте печатной платы? Обратитесь к эксперту в Altium.

Об авторе

Об авторе

Марк Харрис (Mark Harris) является квалифицированным инженером с более чем 12-летним опытом в различных областях электронной промышленности – от контрактов в области аэрокосмической и оборонной отрасли до небольших стартапов и хобби. До переезда в Великобританию Марк работал в одной из крупнейших исследовательских компаний в Канаде, где каждый день участвовал в различных проектах и решениях задач, связанных с электроникой, механикой и программным обеспечением. Он также опубликовал самую обширную открытую библиотеку компонентов Altium Designer, названную Celestial Database Library. Марк увлекается проектами аппаратного и программного обеспечения с открытым исходным кодом и инновационными решениями повседневных проблем, которые они предлагают. Электроника – его страсть, а наблюдение за тем как изделие из идеи воплощается в реальность и начинает взаимодействовать с миром – источник бесконечного удовольствия.
Вы можете связаться с Марком напрямую: mark@originalcircuit.com.

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.