Сетевая система хранения данных Dock v1.2 для Nano Pi NEO / NEO 2 , как следует из названия, представляет собой полный комплект мини-сетевого хранилища для 2,5-дюймового диска на плате NanoPi NEO или NEO 2. Рекомендуется использовать плату NEO 2, поскольку, хоть она и немного дороже, должна обеспечивать гораздо лучшие результаты благодаря интерфейсу Gigabit Ethernet. Я получил два комплекта вместе с несколькими другими платами и аксессуарами от FriendlyELEC , и сегодня я покажу, как собрать комплект, настроить OpenMediaVault и запустить некоторые тесты.
NAS Kit V1.2 сборка с платой NanoPi NEO 2
Единственный дополнительный инструмент, который вам понадобится, – это отвертка и, возможно, паяльник, как мы увидим ниже.
Это металлическая коробка, поэтому сначала нужно открыть одну или две крышки, чтобы вынуть содержимое. У нас есть материнская плата, задняя панель NanoPi NEO, задняя плата NanoPi NEO 2, радиатор и термостат, а также набор из 5 винтов для затягивания жесткого диска, что означает, что есть один дополнительный винт. FriendlyELEC всегда добавляет дополнительные винты, и я нахожу, что это очень приятная черта, так как это может быть настоящей проблемой, если вы потеряете винт.
Давайте более подробно рассмотрим плату «1-bay NAS Dock v1.2 for NanoPi NEO/NEO2». Имеется совместимая с UAS USB 3.0 SATA мостовая микросхема между двумя разъемами для платы NanoPi NEO (обратите внимание, что соединение USB будет ограничено USB 2.0, поскольку плата поддерживает только этот формат), светодиод, хост-порт USB 2.0 для принтера, выходы под Wi-Fi или веб-камеру, выключатель питания, гнездо питания, 3-контактный последовательный разъем, разъем I2C для модулей Grove и, конечно, разъем SATA.
На другой стороне платы ничего, кроме отсека аккумулятора CR2032 для RTC.
Прежде чем продолжить, вам нужно перейти в Wiki и получить последнюю версию прошивки OpenMediaVault, в моем случае nanopi-neo2_debian-nas-jessie_4.11.2_20170531.img.zip, которую я затем сохранил с помощью программы Ether на микро SD карту.
Как только это будет сделано, установите радиатор и теплоотвод к вашей плате NanoPi NEO 2 и вставьте карту micro SD в плату.
Заметьте, что я также спаял разъемы. Хотя было бы очевидно, что люди сначала посмотрели бы на схему распиновки, но я прочитал, что некоторые люди подключают плату с помощью 4-контактного разъема (предварительно спаянного), так как они, возможно, полагали, что это USB-разъемы, но, вместо этого, это просто последовательная консоль, и, очевидно поэтому, жесткий диск не был обнаружен. Если вы не хотите припаивать разъемы к плате самостоятельно, обязательно заказывайте опцию «со пайкой разъемов». Это стоит всего 1 доллар.
Теперь мы можем вставить нашу плату «1-bay NAS Dock» вместо жесткого диска и, возможно, модуля I2C. Я подключил дисплей I2C OLED i, как показано на рисунке ниже, поскольку использование дисплея потребует вырезания корпуса. Некоторые люди, возможно, захотят подключить датчик температуры I2C.
Я использовал четыре винта для затягивания жесткого диска на другой стороне платы и установил аккумулятор CR2032 для часов реального времени.
Наконец, вам понадобится источник питания 12 В не менее 1 А, но я не смог найти никаких (безопасных) запасных, поэтому вместо этого я использовал блок питания Maxoak K2 , так как он может выводить 12 В при максимуме 2,5 А.
Настройка OpenMediaVault на плате NanoPi NEO 2
Я подключил все и блок питания, но плата не загружалась, а светодиод Ethernet Link мигал обычным способом, что означало, что что-то было неправильно. Поэтому я достал плату и подключил последовательную плату отладки, подключившись к консоли через minicom, используя 115200 8N1, и вот что я получил:
1 2 3 4 |
U-Boot SPL 2017.05 (May 27 2017 - 15:41:23) BOARD: DRAM: 512 MiB Trying to boot from MMC1 |
Загрузка просто зависла. И я вновь вставил микро SD в мой компьютер, и смог видеть, что загрузки и разделы файловой системы были в порядке.
Тогда я привел плату NanoPi NEO 2 с 5V / 2A источником электропитания, и загрузка удалось:
1 2 3 4 5 6 7 8 9 10 11 12 |
U-Boot SPL 2017.05 (May 27 2017 - 15:41:23) BOARD: DRAM: 512 MiB Trying to boot from MMC1 U-Boot 2017.05 (May 27 2017 - 15:41:23 +0800) Allwinner Technology CPU: Allwinner H5 (SUN50I) Model: NanoPi H5 DRAM: 512 MiB MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1 |
Тогда я вновь попробовал блок питания 12V на NAS Kit и загрузочные удался. Очень странно. Оказывается, плата не будет загружаться дольше по времени, но симптомы не являются воспроизводимыми 100% времени. Эта случайность, как правило, проблема в синхронизации или искаженном сигнале. Я думал, что карта микро SD может не подходить для платы, и сигнал банка питания не может быть настолько чистым. Так, для начала, я попробовал другую микро SD карту, но результаты были такие же. Я использовал другой блок питания на 12V / 5A, но и это не помогло. Наконец, я использовал другую NanoPi NEO 2 плату и это, кажется, сработало.
Вы можете найти плату с помощью FriendlyELEC.local если Bonjour службы запущены на вашем компьютере:
1 2 3 |
ping FriendlyELEC.local PING FriendlyELEC.local (192.168.0.110) 56(84) bytes of data. 64 bytes from 192.168.0.110 (192.168.0.110): icmp_seq=1 ttl=64 time=0.316 ms |
Кроме того, можно проверить IP-адрес и другими способами. В моем случае, я просто ввел friendlyelec.local в Firefox, чтобы получить доступ к веб-интерфейсу. Имя пользователя и пароль по умолчанию – admin и openmediavault.
После авторизации, Вы можете получить доступ к панели отображение информации о системе, и какие службы запущены. Вы можете отключить службы, которые вам не нужны.
Вы можете зайти в хранилище->физические диски(Storage->Physical Disks), чтобы проверить, был ли ваш жесткий диск обнаружен. Для меня это не было проблемой, с 931.51 Гб накопителем.
Затем вы можете настроить исправление IP-адреса. Есть различные способы сделать это, я зашел в Сеть-> Интерфейсы (Network->Interfaces ) и установил eth0, чтобы установить фиксированный IP-адрес. Вам будет предложено, «применить изменения», как только это будет сделано.
Я также изменил имя хоста CNX-NEO2-NAS на вкладке Общие.
После этого, я решил рассмотреть некоторые вопросы безопасности. Во-первых, изменив пароль администратора, перейдя в Общие Настройки-> Пароль Администратора (General Settings-> Web Administrator Password).
Затем я зашел управления доступа->права пользователя(Access Rights Management->User), чтобы выяснить, существует два предварительно настроенных пользователей: пи и фа. Я удалил пользователя-фа, изменил пароль-пи пользователя, и добавил его к SSH группе. Хотя, на самом деле, наверное, даже лучше просто удалить оба пользователя, и создать свой собственный.
Если суперпользователь не имеет права, но вы хотите войти в систему как суперпользователь через SSH сначала и изменить пароль, пароль по умолчанию фа. Как только это будет сделано, вы будете иметь более высокий уровень безопасности, и ваша система не будет легко доступна «хакерам». Для большей безопасности, вы так же можете установить сертификат RSA. Его следует сделать с личным паролем, если вы планируете использовать его только в локальной сети, но, вместо этого, вы можете также рассмотреть установку бесплатного Let’s Encrypt certificate.
Теперь мы можем позаботиться о жестком диске. Я пошел в хранилище->файловые системы (Storage->File Systems ), и нажал на + Создать файловую систему(Create file system), которая позволит вам сделать выбор между Btrfs, EXT3, EXT4, XFS и JFS. Я решил начать с EXT4.
Через несколько минут ваш диск должны быть отформатирован, так что мы можем настроить сетевые ресурсы. Для настоящего обзора, я буду использовать SAMBA и SFTP для передачи файлов, поэтому я зашел Управление-> Общие папки (Access Rights Management->Shared Folders) , чтобы добавить новую общую папку под названием HDD для корня жесткого диска. Вы можете добавить несколько папок, если вы планируете разделить видео, документы, музыку и так далее.
Я нажал кнопку «Сохранить», и выбрал ACL для добавления разрешений на пи пользователя и администратора. Вы можете так же добавлять любых пользователей, которых вы планируете использовать для доступа к общему ресурсу.
Эта папка share3d теперь может быть отведена под сервисы, которые вы планируете использовать. SFTP включен по умолчанию, когда работает SSH, поэтому я создал SAMA/CIFS, перейдя в Сервисы-> SMB / CIFS-> Акции (Services->SMB/CIFS->Shares) добавить свою папку.
Браузер Network с Nautilus покажет обе cnx-neo2-NAS – SMB.CIFS и cnx-neo2-nas – SSH (SFTP) папки.
Конфигурация завершена. Я не нашел простой способ отключить питание системы, так что я, как обычно, открыл сеанс терминала SSH с помощью SSH и запустил команду «завершения работы сейчас». Кнопка программного обеспечения для включения NAS была бы хорошим дополнением комплекта.
Я также часто сталкивался с ошибкой «Сбой программного обеспечения. Нажмите левую кнопку мыши, чтобы продолжить. Сессия не прошла проверку подлинности», прежде чем прервется сеанс пройдет 5 минут. Если вы предпочитаете более длительный перерыв, вы можете изменить его в Общие настройки->Веб-администрирования. (General Settings-> Web Administration).
В случае, если вы хотите использовать RTC, то сначала нужно установить часовой пояс:
1 |
dpkg-reconfigure tzdata |
Проверьте правильность даты, и запишите ее на аппаратные часы:
1 2 3 |
date Sun Jun 18 16:53:20 +07 2017 sudo hwclock -w -f /dev/rtc-ds1307 |
прежде чем вернуться обратно.
1 2 |
sudo hwclock -r -f /dev/rtc-ds1307 Sun Jun 18 17:03:53 2017 -0.494575 seconds |
Вы можете проверить это путем перезагрузки платы без кабеля Ethernet:
1 2 3 4 5 6 7 8 9 10 11 12 |
sudo reboot ... date Thu Jan 1 07:00:34 +07 1970 sudo hwclock -r -f /dev/rtc-ds1307 Sun Jun 18 17:05:32 2017 -0.781570 seconds hwclock -s -f /dev/rtc-ds1307 date Sun Jun 18 17:07:28 +07 2017 |
Отлично! Вы просто должны убедиться, что команда «установить» запускается автоматически во время загрузки, если время и RTC установлены. Было бы хорошо, если бы FriendlyELEC обновил свой образ, сделав это автоматически во время загрузки.
NAS Dock V1.2 + NanoPi NEO 2 Контрольные показатели
Так как я теперь могу копировать файлы и папки через SAMBA и SFTP, мы можем запустить несколько тестов для оценки производительности. Я буду использовать EXT-4, Btrfs и файловые системы XFS на жестком диске и запущу IOzone specicially для тестирования производительности системы хранения данных, путем копирования больших и маленьких файлов через Samba и SFTP для тестирования реальной производительности хранилища NAS. Для копирования файла большого размера, я использую папку с 7 большими файлами общим объемом 6,5 Гб, а для маленьких файлов, я сделал новое извлечение ядра Linux на моем компьютере:
1 |
git clone https://github.com/torvalds/linux |
и удалены символьные ссылки, так как они могут вызвать проблемы во время копирования, а также .git каталог с огромным файлом 1.8GB:
1 2 |
find -type l -delete rm -rf .git |
Конечным результатом является каталогом с 64.013 файлов общим объемом 748,6 Мбайт.
результаты IOzone
EXT-4:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
root@cnx-neo2-nas:/srv/dev-disk-by-label-CNXDATA# iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 64 bit mode. Build: linux Run began: Sat Jun 17 07:46:20 2017 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 10242 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite 102400 4 8668 8947 8978 9164 486 732 102400 16 20660 21090 20761 21579 1891 3512 102400 512 24643 25185 38237 40271 24545 26282 102400 1024 25676 26720 38948 40451 30554 26253 102400 16384 25365 26658 39299 41369 40647 26235 iozone test complete. |
BTRFS:
1 2 3 4 5 6 7 8 9 |
random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite 102400 4 8225 7763 8776 7939 491 7971 102400 16 19279 18923 20854 21008 1874 17037 102400 512 35049 34780 37170 36023 23173 33961 102400 1024 35323 35730 37113 37428 28020 34652 102400 16384 37381 37348 40899 41318 40575 37479 iozone test complete. |
XFS:
1 2 3 4 5 6 7 8 9 |
random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 7896 8199 9681 9392 510 756 102400 16 20343 21484 20715 21173 1983 4372 102400 512 23512 24129 39104 40450 25062 25884 102400 1024 31040 33526 39122 40805 31155 34293 102400 16384 34323 35551 39752 41428 40645 34403 iozone test complete. |
Я взял результаты 16384kB RECLAM для чтения, записи, случайного чтения и записи случайных значений, чтобы нарисовать диаграмму, так как большинство людей, вероятно, будет хранить большие файлы в их сетевом накопителе. Вам будет менее интересен Reclam, если вы планируете обрабатывать файлы меньшего размера.
Все три файловые системы имеют очень хорошую скорость чтения около 40 Мбайт / с, но Btrfs записи, по всей видимости, является самым быстрым среди трех, с EXT-4 является самым слабым на уровне около 25 Мбайт /с. Но, по ряду причин, эти результаты окажутся бесполезны на практике, как мы увидим ниже. Выяснение точной причины, возможно, потребуют изучения и профилирования IOzone и исходного кода ядра, что будет вне рамок данного обзора.
Копирование файлов через SAMBA и SFTP
Результаты для больших файлов, в минутах и секундах.
Копирование файлов Большие файлы | SMB | SFTP | ||
Запись | Чтение | Запись | Чтение | |
EXT4 | 02:49.00 | 02:40.00 | 03:54.00 | 04:15.00 |
BTRFS | 03:20.00 | 02:40.00 | 03:48.00 | 04:32.00 |
XFS | 02:45.00 | 02:38.00 | 03:36.00 | 04:23.00 |
Диаграмма преобразованная в МБ/с.
Во-первых, мы можем увидеть очень хорошую производительность чтения от NAS (NAS на ПК) с 41 до 42 МБ /с, что близко к теоретическому пределу подключения 2.0 USB. Скорость записи немного отличается, так как файлы были переданы медленнее с BTRS, и около 40Мб/с EXT-4 и XFS. Так как SFTP – это зашифрованные файлы, скорость передачи примерно одинакова для всех трех файловых систем. В целом, файловая система которую вы выбираете, на самом деле не влияет на производительность с большими файлами.
Результаты для маленьких файлов в минутах и секундах.
Копирование файлов Маленькие
файлы |
SMB | SFTP | ||
Запись | Чтение | Запись | Чтение | |
EXT4 | 15:26.00 | 18:34.00 | 09:02.00 | 12:48.00 |
BTRFS | 18:48.00 | 18:02.00 | 10:30.00 | 11:30.00 |
XFS | 17:33.00 | 18:22.00 | 09:18.00 | 12:35.00 |
Диаграмма преобразованная в МБ / с.
Передача большого количества мелких файлов по SAMBA очень медленная, чуть-чуть быстрее через SFTP. Опять же, здесь нет никаких существенных различий между файловыми системами. Если вы собираетесь передать большое количество небольших файлов по сети, вы можете либо сжать файлы перед передачей, или сжимать файлы на лету с помощью командной строки:
1 2 3 4 5 6 |
time tar zcf - Network_Test_Files_Small | ssh pi@cnx-neo2-nas.local "cd /srv/dev-disk-by-label-CNXDATA; tar xzf -" pi@cnx-neo2-nas.local's password: real 1m49.704s user 1m29.036s sys 0m8.272s |
Потребовалось всего 1 минуту и 49 секунд, чтобы передать все 64.013 файлы, это более чем в пять раз быстрее, чем SFTP записи в XFS, на основе эффективной 6,86 Мб /с. Итак, знание имеющихся у вас инструментов, возможно, имеет столько же, сколько наличие правильного оборудования.
Я собирался запустить последнюю часть после включения оптимизации, предоставляемых tkaiser, но оказывается FriendELEC уже сделал это в своей прошивке.
Если вы хотите воспроизвести описанные выше настройки, вам необходимо приобрести сетевой накопитель Kit v1.2 за 12,99 долларов США, и NanoPi NEO 2 с припаянными заголовками за 15,99 долларов США. Если вы не имеете 2.5 дюймовый жесткий диск, вам нужно добавить это, а также источник питания 12В, которые можно приобрести на месте, или на сайте FriendlyELEC за 10 долларов США. В общем, это дешевле, чем аналогичный набор с платой Raspberry Pi 3, и вы получите почти в четыре раза большую производительность SAMBA для больших файлов, так как RPI 3 будет ограничено до 10 до 12 Мбайт / с за счет подключения Fast Ethernet.
Благодарим сайт cnx-software.com за предоставленную информацию.
Оригинал статьи размещен здесь