Help us understand the problem. What is going on with this article?

NanoPi NEO2でNASを構築してみる

More than 1 year has passed since last update.

はじめに

秋月電子通商で超小型のarmボードであるNanoPi NEO2が買えるようになりました。

40×40mmの極小ボード「NanoPi NEO2」、秋月電子通商で税込2,400円

加えて、このNanoPi用のNASキットも同時に買えるとのことで、今回はこれらを使ってNASを構築してみます。

【4/11追記】
Facebookグループに「NanoPIの部屋」ができました。そこでいただいたアドバイスを反映しました。

必要なもの

当然、NanoPi NEO2NASケースキットは必要ですが、それ以外に

  • 接続する2.5inch HDD or SSD
  • 12v ACアダプター
  • ハンダゴテとハンダ
  • シリアルケーブル (もしくは、USBシリアルアダプタ+ジャンパーワイヤー)

が必要です。

ACアダプターのプラグ規格は、外径:5.5mmΦ 内径:2.1mmΦ、極性はセンタープラスのものが使用できます。
必要な出力電流値はSSDだと1A、HDDだと2A、その他に接続するものあれば、その分を加えたものを用意する必要があります。

設定

イメージの用意

2018.4.8現在、オフィシャルとしては以下の3つが用意されていました。

  • nanopi-neo2_debian-nas-jessie_4.14.0_20171208.img.zip
  • nanopi-neo2_FriendlyCore-Xenial_4.14.0_20171208.img.zip
  • nanopi-neo2_ubuntu-oled_4.14.0_20171208.img.zip

NAS用はnanopi-neo2_debian-nas-jessie_4.14.0_20171208.img.zipを使用することになります。ファイル名から想像つくように、Debian8(jessie)ベースです。インストール後に確認した結果は以下。

root@FriendlyELEC:~# cat /etc/debian_version
8.8

ここここをみると、残りの2つはUbuntu Coreの16.04(Xenial)ベースのようです。

イメージのSDへの書き込み

公式Wikiでは、Win32DiskiMagerでの書き込みが紹介されています。今回、私もWindowsからWin32DiskiMagerを使って書き込みました。また、Etcherもお手軽で最近人気です(Mac/Linux版もあります)。

初期セットアップ

Raspberry piとは異なり、NanoPiはHDMIを持たないので、接続はネットワークもしくはシリアルコンソールから行います。まずはシリアルコンソールで接続します。

シリアルの接続ピンは、ここにあるのですが、私が秋月で購入したものは、1世代古いもののようで、オーディオピンの位置が若干異なります。
こちらの方で古いものは見ることができました。

image.png

手持ちのスイッチサイエンスさんのUSBシリアル変換アダプターを使って接続しました。

ネットワーク設定は以下のように有線はDHCPの設定になっていました。

/etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

allow-hotplug eth0
        iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

avahi-daemonも動いていたので、DHCPサーバがあるネットワークで有線を繋いでroot@FriendlyELEC.localでアクセスすることができるのではと思います。ただし、SSHの設定(/etc/ssh/sshd_config)をみたところ、ユーザpiではsshで入れない設定になっていましたので注意です。

私はWLANを使って接続したかったので、シリアルを接続してからwpa_supplicant.confに設定を記載してから、WiFiドングルを挿入したところ無事に接続することができました。

WiFiドングルですが、手持ちの2つで試した結果は以下です。

品名 結果 チップセット 適用されたドライバ 備考
Buffalo WLI-UC-GNM2 OK Ralink RT8070 rt2800usb
Planex GW-USNano2 一応OK Realtek RTL8188CUS rtl_usb なぜかwlan1にリネームされるので、wlan1として設定・起動すると利用できた

これでネットワークへの接続はできたので、実際にケースに組み込んで起動し、あとはネットワークから接続して設定をすすめます。

状況確認

まずは、apt updateした後でのdfは以下。SDは8GBを使用しています。

root@FriendlyELEC:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              235976       0    235976   0% /dev
tmpfs              49392   13124     36268  27% /run
/dev/mmcblk0p2   7496880 1860652   5619844  25% /
tmpfs             246952       0    246952   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             246952       0    246952   0% /sys/fs/cgroup
tmpfs             246952       0    246952   0% /tmp
/dev/mmcblk0p1    102182   17316     84866  17% /boot
tmpfs              49392       0     49392   0% /run/user/0

dmsgをみると

[    2.597135] scsi host0: uas
[    3.082824] scsi 0:0:0:0: Direct-Access     JMicron  Tech             0227 PQ: 0 ANSI: 6
[    3.094559] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    3.101056] sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/112 GiB)
[    3.108718] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    3.116293] sd 0:0:0:0: [sda] Write Protect is off
[    3.121290] sd 0:0:0:0: [sda] Mode Sense: 5f 00 00 08
[    3.131767] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.151904]  sda: sda1
[    3.161070] sd 0:0:0:0: [sda] Attached SCSI disk

JMicronのチップを見つけて、接続しているIntelのSSD(120GB)を見つけてくれてます。

psをみると

・・・
root       831  0.0  3.4  31816 17028 ?        S    11:26   0:01 omv-engined   
root       838  0.0  3.8  92600 19196 ?        Ss   11:26   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)                    
root       844  0.0  0.4  16320  2364 ?        Ss   11:26   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data   845  0.0  0.7  16636  3632 ?        S    11:26   0:00 nginx: worker process                           
www-data   846  0.0  0.7  16636  3632 ?        S    11:26   0:00 nginx: worker process                           
www-data   847  0.0  0.6  16636  3432 ?        S    11:26   0:00 nginx: worker process                           
www-data   848  0.0  0.6  16636  3436 ?        S    11:26   0:00 nginx: worker process                           
www-data   849  0.0  1.3  92568  6708 ?        S    11:26   0:00 php-fpm: pool www                                                       
www-data   850  0.0  1.3  92568  6708 ?        S    11:26   0:00 php-fpm: pool www 
・・・
snmp       867  0.1  1.2  12980  6228 ?        S    11:26   0:02 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux mteTrigger mteTriggerConf -
root       884  0.0  1.0  21520  4960 ?        Ss   11:26   0:00 /usr/sbin/nmbd -D
root       894  0.0  2.7  35540 13484 ?        Ss   11:26   0:00 /usr/sbin/smbd -D
root       899  0.0  1.1  35540  5852 ?        S    11:26   0:00 /usr/sbin/smbd -D
・・・

というように、OpenMediaVaultとそのWebフロントエンド(nginxなんですな)に、SambaにSNMPも動いてました。

ということでhttp://friendlyelec.local/にアクセスすると
image.png

と出るのでadmin/openmediavaultでログイン。言語は日本語も選択できました。

image.png

で、次に、「ストレージ」の「物理ディスク」を見ると、

image.png

ちゃんと認識されていました。あら簡単。

設定編

使用したSSDは、Windowsで内容をきれにフォーマットしただけの状態で、OpenMediaVault上からはそのまま利用できなかったため、

  • コマンドラインからfdiskでLinuxのプライマリーパーティションを作成した後
  • 再度、OpenMediaVaultにもどり
  • 「ストレージ」の「ファイルシスムテム」から、「作成」を行い
  • 「マウント」する

ことで以下のように利用できるようになりました。

image.png

コンソールからdfをすると、以下のようにマウントされてました。

root@FriendlyELEC:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              235976       0    235976   0% /dev
tmpfs              49392   13136     36256  27% /run
/dev/mmcblk0p2   7496880 1861408   5619088  25% /
tmpfs             246952       0    246952   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             246952       0    246952   0% /sys/fs/cgroup
tmpfs             246952       8    246944   1% /tmp
/dev/mmcblk0p1    102182   17316     84866  17% /boot
tmpfs              49392       0     49392   0% /run/user/0
/dev/sda1      115247688   61464 115169840   1% /srv/dev-disk-by-id-usb-JMicron_Tech_00000000477D-0-0-part1

ちなみに、

root@FriendlyELEC:/srv# ls -al
total 16
drwxr-xr-x  4 root root    4096 Apr  9 12:58 .
drwxr-xr-x 22 root root    4096 Jan  1  1970 ..
drwxr-xr-x  3 root root    4096 Apr  9 13:08 dev-disk-by-id-usb-JMicron_Tech_00000000477D-0-0-part1
drwxr-xr-x  2 ftp  nogroup 4096 Apr  8  2017 ftp

と/srvの配下にftp用のフォルダがありました。

最後に

ということで、あっさりとNASシステムができあがりました!

普通にNASとして使うならこれで十分やっていけそうな気がします。(熱の問題や長期ランニングについてはどうかわかりませんが)

ただ、私としては、Ubuntu CoreのXenialでストレージを使いたいので、次はそちらのイメージを使って、ストレージを使用できるかを確かめてみようと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away