チューナーサーバー兼録画サーバー用に新しいシングルボードコンピューターを購入したので、軽くレビューする。

購入したもの

FriendlyElec NanoPi R4S(ケース付き): $87.00 USD
送料込みかつ日本円で13,220円だった。円安きつすぎませんかね…。

明細1
明細2

注文日が2023/8/20で、到着したのが2023/9/3だった。思っていたより時間はかからなかった印象。
日本郵便の配送履歴に"税関検査のため税関へ提示"とあり、ヒヤヒヤしていたのは内緒だ。

箱1

既にボードがケースに組み込まれている状態で届いた。ヒートシンクも兼ねているようでかなりの重さだ。どうやって開けるんだろう…。

NanoPi R4S前面 NanoPi R4S後面

なんやかんやで、準備したものがこちら。

準備したもの

R4Sに搭載されているRockChip社RK3399は発熱がヤバいという情報を入手していたのだが、発熱がヤバいなら消費電力もヤバいだろうということで、4A出力が可能な製品を選定した。microSDは特にこだわりなし。

OSインストール

Armbian一択。
https://www.armbian.com/nanopi-r4s/

リアルタイムカーネルを使いたかったので自分でビルドした。 やり方はこちら

ssh

普通の用途であれば、公式のイメージを使おう。

UnixBench

実行中、ケースが触れない位熱くなるので注意。マジで火傷するぞ。
ケースが熱を持つということは、ヒートシンクとして放熱できているサインでもあるので一安心。

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: nanopi-r4s: GNU/Linux
   OS: GNU/Linux -- 6.1.49-rt14-rc1-rockchip64 -- #2 SMP PREEMPT_RT Mon Aug 28 04:01:32 JST 2023
   Machine: aarch64 (aarch64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0:  (48.0 bogomips)

   CPU 1:  (48.0 bogomips)

   CPU 2:  (48.0 bogomips)

   CPU 3:  (48.0 bogomips)

   CPU 4:  (48.0 bogomips)

   CPU 5:  (48.0 bogomips)

   10:41:05 up 14 min,  1 user,  load average: 0.39, 0.59, 0.52; runlevel 2023-08-28

------------------------------------------------------------------------
Benchmark Run: 日  9月 03 2023 10:41:05 - 11:09:25
6 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       18051635.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3256.0 MWIPS (9.9 s, 7 samples)
Execl Throughput                               1020.3 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        252285.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           82207.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        604814.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              496885.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  63142.4 lps   (10.0 s, 7 samples)
Process Creation                               1548.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2157.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    859.6 lpm   (60.1 s, 2 samples)
System Call Overhead                         501018.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   18051635.1   1546.8
Double-Precision Whetstone                       55.0       3256.0    592.0
Execl Throughput                                 43.0       1020.3    237.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     252285.4    637.1
File Copy 256 bufsize 500 maxblocks            1655.0      82207.2    496.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     604814.7   1042.8
Pipe Throughput                               12440.0     496885.2    399.4
Pipe-based Context Switching                   4000.0      63142.4    157.9
Process Creation                                126.0       1548.6    122.9
Shell Scripts (1 concurrent)                     42.4       2157.4    508.8
Shell Scripts (8 concurrent)                      6.0        859.6   1432.7
System Call Overhead                          15000.0     501018.3    334.0
                                                                   ========
System Benchmarks Index Score                                         476.0

------------------------------------------------------------------------
Benchmark Run: 日  9月 03 2023 11:09:25 - 11:37:51
6 CPUs in system; running 6 parallel copies of tests

Dhrystone 2 using register variables       67455676.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    14252.6 MWIPS (10.0 s, 7 samples)
Execl Throughput                               2820.7 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        942794.6 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          323078.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1936886.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                             2019489.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 207276.5 lps   (10.0 s, 7 samples)
Process Creation                               5915.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   7726.0 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    793.2 lpm   (60.2 s, 2 samples)
System Call Overhead                        2501924.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   67455676.7   5780.3
Double-Precision Whetstone                       55.0      14252.6   2591.4
Execl Throughput                                 43.0       2820.7    656.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     942794.6   2380.8
r4s@nanopi-r4s:~/byte-unixbench/UnixBench$ ^C  1655.0     323078.8   1952.1
r4s@nanopi-r4s:~/byte-unixbench/UnixBench$     5800.0    1936886.1   3339.5
Pipe Throughput                               12440.0    2019489.9   1623.4
Pipe-based Context Switching                   4000.0     207276.5    518.2
Process Creation                                126.0       5915.2    469.5
Shell Scripts (1 concurrent)                     42.4       7726.0   1822.2
Shell Scripts (8 concurrent)                      6.0        793.2   1322.0
System Call Overhead                          15000.0    2501924.4   1667.9
                                                                   ========
System Benchmarks Index Score                                        1580.0

リンクアグリゲーションを設定する

LANポートが2個あるが、余らせるのも勿体ないので、リンクアグリゲーション(ボンディング)を設定することにした。 ルーター側も対応している必要があるのだが、ちょうど手元にあったRT-AX92Uが運よく対応していた。 設定にはnmtuiを使用する。

sudo nmtui

あとはtuiでの操作になる。

nmtui1
  1. Edit a connectionを選択する

  2. 左側の"Add"から"Bond"を選択する

nmtui2
  1. Slavesに2つのLANポートを追加して、Modeを802.3adに変更する。
nmtui3
  1. OKを押してシャットダウンし、2本のLANケーブルでR4SとRT-AX92Uをつなぎ、再度起動する。
ip

まとめ

何はともあれ、ちゃんと動くものがちゃんと届いてよかった。

全体像