Обзор сетевое хранилище NanoPi NEO — сборка, установка и настройка OpenMediaVault, контрольные показатели


Сетевая система хранения данных 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, и вот что я получил:

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 источником электропитания, и загрузка удалось:

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 службы запущены на вашем компьютере:

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, то сначала нужно установить часовой пояс:

dpkg-reconfigure tzdata

Проверьте правильность даты, и запишите ее на аппаратные часы:

date
Sun Jun 18 16:53:20 +07 2017
sudo hwclock -w -f /dev/rtc-ds1307

прежде чем вернуться обратно.

sudo hwclock -r -f /dev/rtc-ds1307                              
Sun Jun 18 17:03:53 2017  -0.494575 seconds

Вы можете проверить это путем перезагрузки платы без кабеля Ethernet:

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 на моем компьютере:

git clone https://github.com/torvalds/linux

и удалены символьные ссылки, так как они могут вызвать проблемы во время копирования, а также .git каталог с огромным файлом 1.8GB:

find -type l -delete
rm -rf .git

Конечным результатом является каталогом с 64.013 файлов общим объемом 748,6 Мбайт.

результаты IOzone

EXT-4:

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:

     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:

                                                            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. Опять же, здесь нет никаких существенных различий между файловыми системами. Если вы собираетесь передать большое количество небольших файлов по сети, вы можете либо сжать файлы перед передачей, или сжимать файлы на лету с помощью командной строки:

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 за предоставленную информацию.

 Оригинал статьи размещен здесь

0 0 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments