👾
N100搭載ミニPCでマルチサーバーの構想と構築準備
以前個人用にRaspberryPi 4Bでマルチサーバーを構築しましたが、色々と機能追加したくなったのでミニPCにリプレースしてスペックアップしました。その構想から実現までの記録メモです。実現後に少しモニタしている感じではメモリ8GのRaspberryPi 5, ROCK 5Bでも十分そうな感じです。書いているとなかなか長くなったので記事を分割しています。
シリーズ
- N100搭載ミニPCでマルチサーバーの構想と構築準備 この記事
- ミニPCでマルチサーバー構築 [OS等インストール]
- ミニPCでマルチサーバー構築 [Sambaコンテナ]
- ミニPCでマルチサーバー構築 [PostgreSQLコンテナ]
- ミニPCでマルチサーバー構築 [Nginxコンテナ]
- ミニPCでマルチサーバー構築 [Immichコンテナ]
- ミニPCでマルチサーバー構築 [VaultwardenコンテナとTailscale]
- ミニPCでマルチサーバー構築 [AdGuard Homeコンテナ]
- ミニPCでマルチサーバー構築 [GUI環境整備]
経緯
- ラズパイでマルチサーバーを構築する
- たまたまiPhoneの音楽を整理する機会がある
- iPhoneの音楽管理のためラズパイにWebDAV機能追加
- ファイルとして管理し、有償版CloudBeatsアプリで同期
- どうせなら写真も同じようにラズパイで管理したいと思う
- 欲を言うといい感じに見返せると文句なし
- テレビを全く見ないので大画面モニタとして使用したいと思う
- 個別にアプリとか面倒なのでブラウザで見たい
- パスワード管理が面倒だと思う頻度が高くなる
- いい感じに"ローカル"でパスワード管理したいと思う
- 広告対策しているが、それでもダルいと思うことが微妙にある
- 特に開発時にChromeを使って調べている間
- Tailscaleを使うと簡単にVPNが作成でき、しかもP2Pらしい
- 自宅サーバー公開のために特別なセキュリティ考慮したくないけど良さげ
- どうせ新しく構築するなら将来的に個人用Webサイト構築もしたい
- 良さげなミニPC安くなってるし、買って全部入りを構築することにする
ハードウェア選定
検討事項
- GUIを使用する要求があるため、それなりの性能向上が必要と思われた
- ラズパイ4Bでも最低限実現できそうではあるが少し怖い
- 特にChromium系ブラウザを使用する予定のためメモリ不足が怖い
- フルHDで動画は見れるらしいがCPU性能に余裕なさそう
- 将来的に宅内LANは全て2.5G以上にしたいが対応していない
- 稀に外付けSSD間でファイルコピーする際、かなり遅い
- 設計通りだが、使ってからできれば何とかしたいと思った
CPU性能等の比較
スコアはGeekbench6,参考文献の値の寄せ集めのため参考程度の表
CPU | シングルコア | マルチコア | 処理時電力 | アイドル時 | 機種 |
---|---|---|---|---|---|
BCM2711 | 約340 | 約720 | 約6.3W | 約3.0W | RaspberryPi 4B |
BCM2712 | 約770 | 約1600 | 約6.4W | 約3.0W | RaspberryPi 5 |
RK3588 | 約750 | 約2940 | 約11W | 約4W | ROCK 5B |
N100 | 約1140 | 約2960 | 約30W | 約10W | - |
選定結果
- N100搭載のミニPCにアップグレードすることにした
- ラズパイ5はLANが1Gのため除外した
- ROCK5Bの消費電力が魅力的だったが以下理由でN100にした
- 当時メモリ16GB版の値段が少し高かった (ケース込み約6000円差)
- ネット上の情報が少なそう
- 開発環境がamd64のためN100の方が親和性が高い
- GPIOピン使って色々したかったが優先度はかなり低かった
- いまだにラズパイで何もしていないという事実がある
- 今から選定するならたぶんROCK5Bを選定する気がする
- N100搭載のミニPCが値上がり価格差がほぼなくなった
- 常時起動するため低消費電力はやはり魅力的
- 実現後のリソース使用具合を見るとメモリ8GBでもいけそう
購入したハードウェア
-
CHUWI LarkBox X 2023 | Intel Alder Lake-N N100
- メモリ16GBのバージョン
- 内臓SSDがSATA
- 使用しているラズパイのSSDもSATAだったので都合がよかった
- LANが2.5G対応
- 2つあるが2.5G対応は1つだけ
- USB-C給電対応のモニタなら接続ケーブル1本で済む
- 使用しないがWindows11の正規版が入っている
- 中華だがそれなりに信用できそうだった
- デメリットは登録メールアドレスに不要なメールが届きまくること
- 本体の大体のサイズ
- 縦約127mm, 横約127mm, 高さ約49mm
- ラズパイの配線込みの大きさと大体同じ
- 縦約127mm, 横約127mm, 高さ約49mm
- 静音性も十分に小さい
- 若干生活音のある状態で30cm以内なら駆動音が聞こえる程度
デバイス詳細
変更される可能性あり。
IF | ベンダー | デバイスID | メモ |
---|---|---|---|
2.5G LAN | Realtek(10ec) | 8125 | Realtek PCIe 2.5GbE Ethernet Controller (RTL8125) |
1.0G LAN | Realtek(10ec) | 8168 | Realtek PCIe GbE Family Controller (RTL8168) |
BT&Wifi6 | Intel | ? | Intel AX101 |
USB-A | Intel(8086) | 54ed | Intel(R) USB 3.10 eXtensible Host Controller |
USB-C | Intel(8086) | 464e | Intel(R) USB 3.20 eXtensible Host Controller |
(SSD) | ? | ? | AirDisk 512GB SSD |
ソフトウェア選定
方針
OSは最小限の機能でインストールし、基本的な機能やGUI周辺以外はDockerのコンテナで実現する。また、Dockerコンテナ群はDocker Composeで管理する。
選定結果
区分 | 役割 | 選定ソフト | メモ |
---|---|---|---|
OS | ベース&GUI | Lubuntu | 軽量なGUIとしてLXQtを選定 |
維持 | ファイル共有 | Samba | 現状維持 |
維持 | データベース | PostgreSQL | 現状維持 |
維持 | アプリケーション | - | Rustで自作 |
維持 | 音楽保管 | Samba&Nginx | 同期はiPhoneアプリ(WebDAV使用) |
新規 | 写真保管 | Immich | iPhoneアプリがある |
新規 | パスワード管理 | Vaultwarden | 事前同期でローカル使用可能 |
新規 | 広告フィルタDNS | AdGuard Home | - |
新規 | ネット配信視聴 | ブラウザ&AnyDesk | - |
新規 | VPN | Tailscale | 証明書管理無しでSecure化 |
新規 | 個人webサイト | Nginx | 今回は準備のみ |
簡単な要件,検討事項等
Lubuntu (OS)
- OSは扱いやすくGUI含め軽量であってほしい
- 慣れているDebian系にしたい
- 軽量なGUIとしてLXQtを使うことにした
- DebianのLXQtは標準で不要なOfficeソフト等が入る
- 後から削除等は面倒なため除外
- 最新のUbuntuは標準で最小インストールになった
- Ubuntu公式のLXQtフレーバーLubuntuに決定
現状維持のソフト
- 実現済みのソフトはそのまま使用する
- アプリ以外はDockerコンテナ化しバージョンアップしやすくする
写真管理
- 写真管理は音楽と同様WebDAV等のWebIFで管理したい
- 良い比較サイトがあったのでそこで比較
- 完全無料でiOSアプリがあり開発が活発でDockerで構築可能
- Immichに決定
パスワード管理
- パスワード管理はローカルで完結させたい
- クラウドサービスはいつどうなるか個人では制御不能
- 認証情報が制御不能なのは許容できない
- セルフホスト可能な無料ソフトとしてBitwardenがある
- 正直これでもよかったが、より良いものが見つかる
- より軽量でBitwardenの周辺システムを流用可能なVaultwarden
- どちらもDockerで構築可能
- Bitwarden有償機能もVaultwardenだと無償で使用できる
- どっちでもよかったがVaultwardenに決定
- クラウドサービスはいつどうなるか個人では制御不能
広告フィルタDNS
- あまりこだわり無し
- 実現例が簡単に多く見つかるAdguard Homeに決定
ネット配信視聴
- ブラウザはBraveを使用する
- 視聴時にいちいちマウスやキーボード操作したくない
- 代わりにiPadで画面共有して操作することにする
- セルフホスト可能なRustDeskに決定
- だがLXQtでは簡単に使用できない事が後日判明
- LXQtでも簡単に使用できるAnyDeskに決定
VPN
- 外部に公開するために外部サーバ準備やポート公開等はしたくない
- Tailscaleに決定
個人webサイト
- 既に音楽管理で使用しているNginxを併用する
- ルーティングで切り分けて対応したい予定
ポート割り当て
外部公開サービスが多いため、ポート割り当てをどうするかを決定した。
ポート | 使用ソフト | 機能 | メモ |
---|---|---|---|
22/tcp | OpenSSH | - | - |
22/udp | OpenSSH | - | UDPも使うらしい |
53/tcp | AdGuard Home | DNS | - |
53/udp | AdGuard Home | DNS | - |
80/tcp | Nginx | Webサーバー | w/ WebDAV |
443/tcp | Tailscale | TailNet | VaultwardenをHTTPS化 |
445/tcp | Samba | ファイル共有 | tcpだけで動いた |
853/tcp | AdGuard Home | DoT | 証明書未作成のため予約のみ |
2283/tcp | Immich | Web管理パネル | デフォルト |
3000/tcp | AdGuard Home | DoH | 証明書未作成のため予約のみ |
5432/tcp | PostgreSQL | DB接続 | デフォルト |
6568/tcp | AnyDesk | リモート制御 | デフォルト |
7583/tcp | Vaultwarden | Web管理パネル | Dockerで80に変換,443経由で使用 |
8080/tcp | AdGuard Home | Web管理パネル | Dockerで80に変換 |
本体サイズ,静音性
- 本体の大体のサイズ
- 縦約127mm, 横約127mm, 高さ約49mm
- ラズパイの配線込みの大きさと大体同じ
- サイズを小さくするためだけに高いSSDを採用
- 副次的な効果として重さも軽いので、やろうと思えば持ち運び可能
- ラズパイより重いが十分軽い部類
- 縦約127mm, 横約127mm, 高さ約49mm
- 静音性
- 負荷をあまりかけない使い方のためほぼファンは回らない
- 本体ファンが回らない限り、30cm程度離れれば無音
概算コスト
イニシャル
本体以外は全て流用品のため本体コストのみです。
- 本体: 約25000円
ランニング
- 月約230円 (21円*10.8kWh)
- 消費電力多め想定
- アイドル時12W
- フルパワー時30W
- フルパワー月5日間相当とする
- 常時通電時の月電力量
- 12Wh * 600H + 30Wh * 120H = 10800Wh
- 3.3Wh * 720H = 2376Wh
- 電気代想定
- 1kWh 21円
- 消費電力多め想定
参考文献
- Raspberry Pi 5のベンチマーク結果をRaspberry Pi財団が公表、前世代の2倍以上のスコアをたたき出す
- 大流行のIntel N100はどのぐらい使えるのか?
- 「Raspberry Pi 4 Model B/8GB element14」の詳細
- 改めて見る、「Raspberry Pi 5」の実力と使いどころ
- 組み込み ボードと ミニPCの いいとこどり!高性能シングルボードコンピュータ『ROCK5 Model B』
- 【N100】ミニPCの消費電力測ってみた (GreenG5)
- イマドキのサーバーは省電力が重要、ミニPCやラズパイなどを徹底比較
- foss_photo_libraries
Discussion