Создание устройства Интернета вещей или, возможно, непрерывная запись видео требует низкопотребляющей системы хранения большого объема данных, желательно с использованием недорогого оборудования. В определенных случаях ваше устройство может быть удаленным или может сталкиваться с высокими вибрациями, например, будучи установленным на промышленном оборудовании, на роботе или в транспортном средстве. Такие обстоятельства делают необходимым использование твердотельных накопителей.
Я начал с рассмотрения возможности создания сетевого хранилища на базе Raspberry Pi; в конце концов, это отличные маленькие одноплатные компьютеры. Однако есть несколько моментов, которые делают их менее идеальными для подобных задач. Во-первых, сетевой порт имеет скорость только 300 Мбит/с в последней модели 3B+ и 100 Мбит/с в старших поколениях. Во-вторых, USB-порты поддерживают только USB 2.0 (480 Мбит/с), что значительно медленнее, чем USB 3.0 (5 Гбит/с). USB-разъемы не всегда лучший выбор для условий высоких вибраций и могут иметь прерывистые ошибки соединения из-за этого или выходить из строя из-за усталости, если кабель не закреплен надежно. USB-кабели, особенно 2.0, также не особенно хорошо работают в условиях высоких ЭМИ, например, рядом с двигателями, управляемыми частотно-регулируемыми приводами.
После сравнения множества привлекательных вариантов на рынке, я выбрал 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 потребляет гораздо меньше энергии, чем механический диск, и не страдает от времени разгона при выходе из режима сна, когда вы хотите начать запись данных.
SSD Samsung 860 EVO и ODroid HC1 после покупки.
Существует несколько операционных систем для сетевых накопителей, доступных для одноплатных компьютеров. Я решил использовать OpenMediaVault, потому что он работает на значительном количестве одноплатных компьютеров на базе ARM, что позволяет вам следовать инструкциям, даже если вы выберете другой путь (например, Raspberry Pi). Также у него очень простой в использовании веб-интерфейс для настройки и управления общими ресурсами/пользователями, что исключает необходимость использования командной строки или SSH!
Настройка и запуск ODroid HC1 сводится просто к подключению жесткого диска, записи и подключению SD-карты, а затем подключению к сети Ethernet и питанию. Давайте рассмотрим эти шаги по порядку.
Во-первых, давайте загрузим образ прошивки на SD-карту.
Скачайте образ “OMV_4_Odroid_XU4_HC1_HC2.img.xz” с Sourceforge.
Скачайте любую программу для записи образов на ваш выбор. В этой статье мы будем работать с Etcher (https://etcher.io/), потому что он прост в использовании.
Вставьте microSD карту в компьютер.
Откройте Etcher и выберите скачанный образ, затем ваш накопитель.
Нажмите Flash!
Пока Etcher записывает и проверяет образ на вашей SD-карте, вы можете собрать ODroid HC1 и жесткий диск, просто подключив жесткий диск к SATA-разъему HC1.
ODroid HC1, подключенный к диску Samsung, образуют очень компактное сетевое хранилище.
Затем переверните и используйте включенные винты, чтобы закрепить диск.
После этого вы можете подключить сетевой кабель.
Как только вы подключите сетевой кабель, вы закончите подключение всего оборудования.
После того как Etcher завершит запись на SD-карту, вы можете подключить её к HC1, а затем подключить питание. Для первого запуска OpenMediaVault крайне необходимо наличие стабильного интернет-соединения. При первом запуске моего HC1, подключенного к сети, которая включала в себя беспроводное соединение не очень высокого качества, у меня возникли значительные трудности с заставлением устройства работать. Однако, подключив HC1 напрямую к проводной части сети, я добился мгновенного успеха.
Первый запуск может занять некоторое время, так что можно заварить чай или кофе, или почитать другие статьи на этом блоге. Оставьте HC1 загружаться и устанавливаться как минимум на 15 минут; визуального подтверждения окончания процесса нет, поэтому лучше оставить устройство работать немного дольше, чем приступать к действиям с ним слишком рано.
Вы захотите проверить, что обеспечивает выдачу адресов DHCP в вашей сети (обычно это ваш интернет-маршрутизатор в доме или малом офисе), чтобы посмотреть подключенные устройства и найти IP-адрес ODroid. В качестве альтернативы, вы можете использовать инструмент сканирования IP-адресов для его поиска — популярный выбор это Angry IP Scanner (я предпочитаю старую версию, так как она не требует Java). Если это ваш единственный ODroid в сети, вы, вероятно, можете пропустить поиск IP-адреса и перейти по адресу http://odroidxu4/ в вашем веб-браузере. В противном случае, используйте IP-адрес в вашем браузере.
Настройка OpenMediaVault начинается с входа в систему.
Имя пользователя и пароль по умолчанию: admin / openmediavault.
Первое, что вам нужно сделать, это перейти в Система⇒Общие настройки, а затем в Веб-администратор Пароль, чтобы изменить ваш пароль.
Затем вы можете перейти в Система⇒Управление обновлениями, чтобы убедиться, что у вас установлены все последние пакеты. Нажмите кнопку Проверить, затем кликните по чекбоксу рядом с Информацией о пакете, чтобы выбрать все, и нажмите кнопку Обновить
Пожалуйста, подождите, пока OpenMediaVault устанавливает свои обновления.
После того, как обновления будут выполнены, вам захочется перезагрузиться. Вы можете нажать на иконку меню ⋮ в верхнем правом углу панели управления и выбрать перезагрузку.
Если вы используете существующий жесткий диск или ваш жесткий диск поставляется предварительно отформатированным, вам нужно будет удалить разделы перед продолжением. Вы можете перейти в меню Хранилище⇒Файловые системы, выбрать любые записи /dev/sda* и удалить их. Однако, убедитесь, что вы не касаетесь элемента /dev/mmc
, так как это SD-карта, с которой вы загружаетесь!
Настройка жесткого диска требует создания файловой системы.
Как только у вас будет пустой диск, вы можете нажать кнопку Создать. Дайте вашему диску метку тома, убедитесь, что для файловой системы выбрано EXT4, и нажмите ОК.
Это, вероятно, займет несколько минут.
После завершения нажмите Закрыть, затем выберите /dev/SDA1 и нажмите кнопку Монтировать. Затем вам нужно будет нажать Применить, чтобы диск был смонтирован.
Кнопку применить можно найти в верхнем правом углу таблицы устройств.
Далее вам понадобится пользователь для доступа к общему ресурсу. Перейдите в меню Управление правами доступа⇒Пользователь и нажмите Добавить.
Теперь, когда мы закончили с хранилищем, нам нужно настроить управление правами доступа.
Установите имя пользователя и пароль, затем нажмите Добавить. После этого вам нужно будет применить изменения, как вы делали при монтировании новой файловой системы. Теперь у вас есть пользователь для доступа к общему ресурсу.
Нам нужно будет настроить базовые параметры при создании нового пользователя.
Перейдите в Управление правами доступа⇒Общие папки и нажмите Добавить.
Просто дайте папке имя, например, «logdata», и нажмите Добавить. Желательно также установить разрешения, чтобы запретить доступ «другим», так что только пользователи могут получить доступ к папке.
Создание общей папки позволяет пользователю, которого мы только что создали, передавать данные в сетевое хранилище и из него.
После создания общего ресурса вы можете выбрать его, а затем нажать кнопку Привилегии, чтобы добавить вашего пользователя.
Вы хотите выбрать флажок Чтение/Запись, а затем нажать Сохранить. Опять же, вам нужно применить эти изменения.
Наконец, нажмите кнопку ACL, рядом с кнопкой Privileges, которую вы нажимали ранее, и сделайте то же самое, затем примените и закройте.
Перейдите в меню Services - SMB/CIFS. Это файловый сервер на устройстве.
Нажмите Включить, затем Сохранить и Применить.
Не забудьте нажать кнопку применения, чтобы сохранить внесенные изменения.
После включения сервера SMB, нажмите вкладку Shares, а затем кнопку Добавить. Вы можете выбрать ранее созданный общий ресурс и затем нажать кнопку Сохранить, после чего Применить изменения.
В Windows вы можете перейти в \\odroidxu4\ (или \\ipaddress\) в проводнике Windows, чтобы проверить, правильно ли настроен общий доступ. Введите созданные ранее учетные данные, когда будете подсказаны.
Мы можем использовать наши учетные данные, чтобы видеть и получать доступ к общей папке на OCDroid с любого другого компьютера в сети.
При копировании на диск или с диска вы должны видеть скорость передачи около 95-115Мбайт/секунду по проводной сети, что примерно соответствует максимальной скорости передачи данных в гигабитной сети. Пропускная способность на HC1 довольно впечатляет.
OpenMediaVault также поддерживает другие способы передачи файлов. Если устройство, генерирующее все данные, которые вам нужно хранить, не поддерживает файловые системы SMB (общие ресурсы Windows), то вы можете также включить FTP. FTP, как правило, работает не так быстро, как SMB, однако, если вы используете микроконтроллер, его проще реализовать, чем общие ресурсы SMB.
FTP-сервер также может быть довольно удобен для просмотра сервера из удаленного места. Если вы хотите получить доступ к FTP-серверу с базового микроконтроллера, вероятно, вы не хотите, чтобы SSL был обязательным, только опциональным. Если вам нужно запустить FTP-сервер без SSL, вы должны получать доступ к серверу через интернет только через VPN-туннель в сеть, к которой подключен NAS.
Перейдите в Сервисы⇒FTP, затем отметьте поле Включить и нажмите Сохранить.
Теперь вы можете перейти на вкладку Общие ресурсы и добавить ресурс так же, как вы делали это для общего ресурса SMB выше. Не забудьте нажать Сохранить, а затем Применить изменения конфигурации.
Если вы хотите построить удаленный сервер для хранения данных, который использует очень мало энергии и занимает мало места, Odroid HC1 является отличным вариантом. Если вы находитесь в очень влажной или сырой среде, вам может понадобиться использовать конформный лак и тщательно покрыть им плату с обеих сторон, а возможно, и внутреннюю часть вашего жесткого диска (только если вы используете твердотельный диск). Конформный лак обеспечит защиту плат от коррозии.
Большой радиатор на Odroid значительно увеличивает жесткость конструкции, поэтому практически нет опасений, что разъем SATA будет подвержен усталости от вибраций или ударов. В сочетании с твердотельным диском это дает вам надежное устройство сетевого хранилища.
Как было сказано ранее, для наилучшей надежности идеальным вариантом было бы автоматическое зеркалирование данных на двух дисках. Еще лучше, если бы у нас было несколько дисков в RAID 6, но тогда мы бы значительно вышли за рамки понятий «компактность», «низкое энергопотребление» и «стоимость». Корпуса-радиаторы Odroid HC1 можно ставить друг на друга, так что можно просто использовать два NAS вместе и использовать программную синхронизацию, такую как RSync, которую OpenMediaVault может настроить для вас, на второй системе для копирования файлов с первой. Синхронизируя две системы, вы получите некоторые возможности отказоустойчивости и сохранения данных в случае выхода из строя диска.
Хотите узнать больше о том, как Altium Designer® может помочь вам в следующем проекте печатной платы? Обратитесь к эксперту в Altium.