その他
スペアパーツから構築したカスタムホームサーバー
Custom home server built from spare parts (asmat.ca)
要約
Googleなどのクラウドプロバイダーからのストレージ容量不足の警告とプライバシー懸念を受け、筆者は家族のファイル保管、写真バックアップ、常時稼働のダウンロードマシンとして機能するカスタムホームサーバーを構築しました。古いZotac MAGNUS EN1070Kをベースに、3Dプリントした拡張パーツでストレージ容量を増やし、多数のHDDを搭載したNASとして機能させました。TrueNASの代わりにKubuntuとDocker Composeを使用し、独自開発のダッシュボードと小型タッチスクリーンで操作性を向上させています。
全文翻訳
Googleは私をこれに追い込みました、そして他のすべてのエンシュイット化されたクラウドプロバイダーのディーラーも同様です。
約1年間、私の電話はアカウントがほぼ満杯であることを警告していたので、写真のバックアップをNextcloudインスタンスに移行してスペースを解放しました。すると、警告はバックアップがオフになっていることを思い出させるものに変わりました。
Gmaiも同じことをし、あちこちに便利な「アップグレード」ボタンを提供しています。
私は一生自分の写真のためにスペースを借りたくありませんし、Googleにそれらを見られたくもありません。
私は家族のファイルを保管する場所、電話や古いPCで生きていた何年もの写真の自動バックアップ、そして誰にも気づかれずに一日中Linux ISOをダウンロードできるマシンが欲しかったのです。
私はNASが欲しいと思っていました、だから私はそれを構築しました。
完成したビルド
古い友人
正直に言って、ここ数年でコンピューター、特にGPUを購入するのはますますクレイジーになっています。
幸いなことに、私が購入したすべてのコンピューターにはGPUがありました(甘い、甘い高速行列乗算が必要になる時がいつ来るかわからないからです)、そして仕事にぴったりのコンピューターが手元にあることがわかりました。
Zotac MAGNUS EN1070Kが登場しました。これは、i5と古いGTX 1070を搭載したコンパクトなボックスです。
それは数年間、リビングルームのメディアセンターと時折のゲームリグとして使われていました。
私はロボットプロトタイプで同じモデルを使用しましたが、それはうまくいきました。
アイドル時には低消費電力で、GPUでビデオをトランスコードし、文句なしに小さなローカルモデルを実行します。
問題は、Zotacがそれを単一の2.5インチドライブしか搭載できないように設計したことです。
そこで、Onshapeでその本体の拡張機能を設計し、ガラス充填ABSで3Dプリントし、ボルトで取り付けました。
内部には、ICY Dockの5ベイホットスワップケージ、6台目のドライブ用のプリントホルダー、Zotacのアップグレードされた19.5VレンガからDC-DCコンバーターを介して供給されるPico PSU(6台のドライブが同時に起動すると一時的に約125Wを消費します)、そして空気を動かすためのNoctuaファンがあります。
M.2スロットにあるASM1166アダプターから6つのSATAポートが来ており、そのため1TBのブートSSDが現在2.5インチベイにあります。
Zotacとプリントされた拡張機能の上部
残りのアップグレードは私のジャンク箱から来ました。
古いラップトップから取り出した2つのDDR4スティックでメモリはプラットフォーム最大32GBになり、手元にあったSSDがそれを起動し、以前のプロジェクトのWiFiカードが元のものと交換されました。
私が支払った唯一の部品はケージ、アダプター、そして残念ながらドライブでした。
ハードな方法
2026年です、そして私は6台のハードディスクドライブを購入しました。
私はそうしたくありませんでした。機械的に回転するストレージはもう終わったと思っていました。
SSDは、それほどの容量のものを入手できるなら、数本の腎臓の値段がかかります。
NASにとって、TBあたりの価格は非常に重要です。私はそれを可能な限り低く保つために最善を尽くしました。
誤解しないでください、ハードドライブも安くはありません。
AIデータセンターは、ファブが製造できるすべてのドライブ、すべてのメモリチップ、すべてのGPUを購入しています:Western Digitalのハードドライブ生産は2026年いっぱいで完売、DRAMとNANDの契約価格は四半期でほぼ倍増し、残りは私たちに残されたものをどんな価格でも手に入れることになります。
eBayには中古NASドライブの良い市場があり、私は8TB WD Red Plusのマッチングセットを適正価格で入手できました。
それらは単一のRAIDZ2プールにあります:43.7TBの生容量、29TBの利用可能容量、2台のドライブが故障してもデータは失われません。
ライブプールからドライブを1台引き抜いてこれをテストしました。
読み書きは継続され、Sambaはサービスを提供し続け、数秒後にメールでアラートが届きました。そして、ドライブを押し戻すと、自動的に再構築されました。
何も実際に燃えていないときに、それがどれほど満足のいくものかを過小評価するのは難しいです。
ベイ2が空に
私だから、プールは暗号化されており、家のどこかにあるキーサーバーから起動時に自動的にアンロックされます。そのため、これを盗んだ人はかなり重いペーパーウェイトを手に入れることになるでしょう。マシン自体は8.5kgあり、元のものに取って代わった300Wのレンガを含めると10kgを超えます。
ファンのみ
熱い話題です:サーマルは悪いです。
通常の鋼鉄製ケースはドライブからの熱を放散しますが、私のプリントされたケースはそれらを断熱します。
6つのベイのうち5つはアイドル時に45℃で、理想より10度高く、ダッシュボードは毎日それを警告してきます。
エンクロージャーを数回改良し、追加のファンを追加しました。状況は少し改善しましたが、まだ蒸し暑いです。
一つの嬉しい発見は、Noctuaファンが確かに静かでよくできているということです。
私の冷却戦略
幸い、冬が近づいているので、いじる時間が少しあります。
アイキャンディ
ここで止めることもできたでしょう。OSをインストールして、次に進むこともできたでしょう。
しかし、私はもっと欲しかったのです。
具体的には、興味深いUIを試すこと。
このコンピューターは大きな画面に接続されることを意図していないので、何か根本的に違うことをする良い機会だと思いました:小さな画面を接続しました。
フロントにある1.47インチのタッチスクリーンには、あまりにも誇りに思っています。
これは、ZotacのUSBコネクタのパッド(EN1070Kには内部USBヘッダーがありません)にハンダ付けしたESP32-S3によって駆動されています。
NASはシリアル経由でステータスをストリーミングし、LVGLで書かれたファームウェアは、スワイプして切り替える7つの画面をレンダリングします:プールヘルス、ドライブ温度、アプリステータス、ネットワークスループットなど。
しばらくするとスリープ状態になり、タッチでウェイクアップします。
マシンを通り過ぎる際に、別のデバイスを手に取ることなく、何が起こっているかを一目で確認できます。
それに、見た目も洗練されています。
ジェスチャー認識付きタッチスクリーンステータスパネル
最後の画面は電源メニューなので、フロントパネルからマシンをシャットダウンまたは再起動できます。
最後の瞬間に気が変わった場合に備えて、義務的な威嚇的なカウントダウンも付いています。
NASのシャットダウン
TrueNASの真実
これに入る前に、多くのYouTuberが彼らのビルドでTrueNASを推奨し、その多くの機能を称賛するのを見ました。
無邪気に、私は彼らを信じ、完璧に見えるNASディストリビューションを使用できると仮定しました。
なんと残念なことでしょう。
NASはルーターから離れた場所にあり、有線接続が利用できないため、WiFiで動作しています(知っています、恥ずかしい!)。
これは予想よりもあまり気になりませんでした:WiFi 6Eカードは、ボックスのギガビットポートのどちらでも通過できる以上の速度でネゴシエートし、それを通じて実際のインターネット速度を893 Mbit/s測定しました。
しかし、驚いたことに、これはTrueNASを排除しました。
UIにもコンソールにもワイヤレスサポートが全くありません。
また、最新リリースではプロプライエタリなNVIDIAドライバーをカーネルモジュールに置き換えましたが、これはPascal GPUをサポートしていないため、1070はデッドウェイトになっていたでしょう。
2つのハードブロッカー以外にも、できることがほとんどないことに失望しました:それはアプライアンスであり、ベースシステムから離れることを望んでいません。
私のディスプレイデーモンでさえ、/dev/ttyACM0経由で通信しますが、実行するのは厄介でしょう。
そのため、NASはKubuntu 24.04とZFSを実行し、他はすべてCaddyの背後にあるDocker Composeで、そして私が自分で書いたダッシュボードを実行しています:1ページ、ボックス自体をエコーする黒地にアンバー色。
ハードウェアとサービスの完全なステータスを表示します。
これはすべてのNAS機能へのポータルです。
ダッシュボードにフィードするJSONは、ESP32にシリアライズされて送信されるものと同じです(両方のUIを単一の真実の源と一致させています)。
バックアップやスピードテストなどのトリガーを起動するためのActions APIもあります。
結局のところ、これは私が知っているどのNASダッシュボードよりもはるかに優れた機能を提供します。
各アプリはTLS付きの独自のホスト名を取得し、すべてがlintおよびテスト用のmakeターゲットを持つgitリポジトリであり、コンパイルファイル、systemdユニット、Python、C、およびドキュメントです。
私はゆっくりとこれを独自のOSに変えており、提示可能になったら共有するつもりです。
私のサイバーパンクな家庭のオタクニーズのためのワンストップショップ
私たちがNASと呼ぶもの
名前とは何でしょうか?NASは時代遅れの言葉です。
確かに、それはネットワークに接続されたストレージですが、このボックスはメディアを提供し、写真をインデックス化し、パスワードマネージャーを実行し、家庭のgitリポジトリをホストし、バックアップを保持し、ISOをダウンロードします。
それは家庭のコンピューターであり、家が暖房や給湯器を持っているようなものです。
これが私が実際に欲しかったものであり、残念ながら、まだパンチの効いた短い名前はありません。
NAS、正面全景
私はクラウドから離れて移動しています。