値上げが止まらないPCパーツは今のうちにAmazonでチェックして確保してしまうのが吉♪

古いスリムデスクトップPC+14TB HDDでTrueNAS Scale+immich構築で「おウチGoogle Photos」

最近ヤフオクやYahoo!フリマで中古PCを入手しまくっている小職です。
恩恵得るなら、ソフバン系のスマホ使って他方がいいのかしら…くらいに思えてきているこの頃ですが(^^;

そんな中、このPCパーツ高騰っぷりに焦って、大容量HDDをゲットしちゃいました♪

ヤフオクで必死に落札するよりもYahoo!フリマのクーポンがあったので、良さげなのをサクッとゲット♪
なんて流れが最近の小職のスタイル。
一応一晩考えたんですけどねーw

判別方法としては、エンタープライズタイプのもので高寿命なHDDを前提として、なるべく使用時間短め,…
なんて言いますが、今回見たときは15000時間くらいが一番少なかったのかな。
10万時間は今後正常に働いてくれー!と祈りつつポチりました。

小職

良い子の皆さんはHDDはギャンブルしないで新品を狙うとトラブルなくていいと思いますよ(^^;

というわけで、大容量HDD入手だぜ〜!と言っても単体NASは2ドライブ搭載可能なのでこれ以上の増設が無理。
proxmox動作のubuntuでSMB共有しているHDDも別なNASとして存在しますが、proxmox筐体には増設可能ですが、まだ空きを持ったままにさせたい気持ちに。

となると、、、、サーバー増設ですよ!
というわけで、今回は余っているスリムデスクトップPCがあったので、まだやったことのなかったTrueNAS Scaleサーバを単体物理構成で構築してみます!

タップできる目次

14TB HDD + 256GB SSDの構成でTrueNAS Scaleサーバ構築して内部アプリでImmichを利用した「おうちGoogle Photos」を実現するぞ!

Google Photosの無料ストレージ終了に伴い、古いPCを再利用して自宅に無制限の写真・動画サーバーを構築。NECのスリムデスクトップ ML-4(Core i3-8100)をベースに、TrueNAS ScaleとImmichを組み合わせた実践記録です。

実際にやってみたら、想像以上にGooglePhotoな感じでローカル動作できる便利な自宅サーバサービスとなったので、自宅サーバ入門としてもおすすめできるモノが完成したので、興味のある方の参考になったら嬉しいです。

ハードウェア構成とコスト

ヤフオクなどの中古市場でも割とタマが多くて、HPやDELL、Lenovoよりも人気が無いw
うまくいくと5千円以下でストレージなしの単体がベースとして入手できた NECのスリムデスクトップを使用します。

PCと大容量HDDを組み合わせることで、低コストかつ省スペースな構成を実現しています。

項目 スペック・詳細 備考
ベースPC NEC ML-4 (Core i3-8100) 4コア/4スレッド、3.6GHz
ストレージ(OS) 256GB SSD 起動およびシステム用
ストレージ(データ) 14TB HDD WD Red / Seagate IronWolf推奨→今回入手のExos再生品で行ってみよー!
メモリ 8GB(16GB以上推奨) Immichの動作に影響すると思うけど、本体付属の8GBでテストしてみる!
総コスト

本体5千円+14TB HDD 2.7万円
→約3万円程度

中古PC、メモリは内蔵8GBそのまま使用。HDD、SSD(自室で転がっていた既存のもの)を増設
  • メリット: 古いPCの再利用によるエコ、アイドル時40-50W程度の低消費電力
    今回小職が使用するマシンはintel 第8世代のCore-3 構成のNEC MATEの型番 ML-4です。
    最近よく見かけるようになったintel 第9世代のi3マシン(NEC MATEの型番 ML-5)よりもさらに千円くらい安くゲットしていますw
    第9世代と第8世代の違いはターボブースト時のMAXクロックが第9世代のが高クロックなくらいの違いなので、お好みでチョイスしちゃって良いと思います。
    今回はNAS専用OSだけ搭載するので、コスパ重視でML-4をチョイス。

(NECスリムPC外観)

このアイボリーホワイトで事務用w
みたいな感じがいい感じに不人気ですがスペック的にTrueNAS Scale用としても適度でした♪

ちなみにこのPCアマゾンにもNEC MATE 中古整備品がありましたがちょい高めです。

中古入手のNEC スリムデスクトップ NEC MATE ML-4の内部をメンテナンスしてみる

内部構成は、こんな感じ。
実はNECのPCは、第八世代の頃でもすでに中身Lenovoだったりします。

中を見る限り2.5インチのSSDを1台と3.5インチのHDDを1台搭載可能かな。という感じの見た目。
電源もスリムなので小容量なので注意(^^;

CPUクーラ外して古いグリスを拭って清掃して、グリス塗り直してみる

先にCPUクーラーのコネクタは外しておくのがポイントです。

(PR)


その後、目立っている4本のCPUクーラー固定ネジを緩めると簡単に外せました。
ネジにはバネが仕込まれているタイプなので、1本ずつ外すのではなく、4本のネジを交互に緩めていくのがコツでした。

CPUクーラーは外部への排気ダクトも内蔵しているようなちょっと大きい感じのものが内蔵されて居ました。
汚いので画像無しですがw
少しだけCPUクーラーのファンに埃があったので、ちょちょいと綿棒などで清掃したくらいで済みました。
メモリスロットは1つ空きあり!ですが余ったメモリも手元になかったので、8GB一枚搭載状態でひとまず構築を進めてみます。

PCの内部も入手元の業者さんはクリーニングもしていない業者さんなのですが、あまり埃もなくて綺麗だぜ!(これはヤフオクで写真で狙ってた通りの雰囲気なので、ここまで予測して落札できるといい感じ。)

というわけで、手元にあったどでかCPUグリスを新たに塗布して、CPUクーラーをねじ止め固定して、元に戻してメンテナンス兼中身の調査の作業完了です。

2.5インチSSDなどのストレージ取り付け時に少しハマったw

残るいじる部分としては、ストレージの取り付けくらいしかありません(^^;

とりあえず、自室の余剰パーツ

実は先日のラズパイ5で使用していたが、SDカード動作に戻したことで余剰パーツにしたSSDですw
SSD稼働させていたラズパイをSDカード運用に環境そのままで移行する方法

しかし、TrueNAS SCALEのブート専用となるのでSSDの容量は64GBとかでも十分と思います(^^;
そんなニッチなやつ我が家には存在しないので気にせず256GB SSDを投入しているんですがちょっと勿体無いみたいです。

でも、そのためだけに容量の小さいSSDを追加購入とか、そっちの方が勿体無いw w w(ややこしい)

続いて、過去に同タイプのPCをジャンクいじりした際に、3.5インチの内蔵ドライブはありませんでしたが、専用のマウントパーツがあったので、ストックしていたパーツが役立つぜ!

3.5インチマウントパーツに今回の主役となる14TB SSDをビシッと嵌め込みました。

しかし、ここで気づきというかハマりポイント登場ですw
シリアルATAのケーブルもマザボに挿す口もあるのですが。
シリアルATA用の電源ケーブルコネクタがたりないじゃ無いですかw

DVDドライブに挿さっていたコネクタも使用しないので取り外しましたが、独自形状w w w

ハマりました。
というわけで、シリアルATAの電源コネクタを分岐するケーブルをヤフオク即決商品を見つけてポチっておいて作業中断です(^^;

こんな便利なパーツがあるのですが、自宅にも在庫してそうに思ったのですが、少し前にproxmoxサーバのストレージ増設時に使ってしまっていたので手元にありませんでした(^^;

送料無料のヤフオク….というわけですぐに届きませんでしたw普通郵便の封筒でのんびり到着〜

急いでいる人はAmazonにも同タイプのケーブルがしかも2本入りでプライムでヤフオクよりも安く売られていたので、場合によってはこちらポチった方が早いのでいいかも…

シリアルATA電源分岐ケーブルも入手したのでストレージも整備完了

シリアルATA電源ケーブル待ちで作業期間が1週間ほど空いてしまいましたがw
取り付け完了!ストレージもSSDとHDDが搭載完了できました。

しかしスリムデスクトップなので、もう一台HDDを増設,..なんて厳しそうなので、14TBが尽きる頃にまた考えてみることにして、封印!
じゃなかったケースの蓋をしっかりと閉めてスリムデスクトップPCのメンテナンスを完了とします。

TrueNAS Scaleのインストール準備

TrueNAS Scale ISOをダウンロードし、USBブートメディアを作成。

TrueNASの公式ページからISOのダウンロードを行いRufus公式サイトから最新版ツールを入手して、USBに書き出してブート用のメモリを作成すればOK!

以上!割愛!とか言いたかったんですがw
小職ハマりましたw
この辺は後述しておくので、注意喚起しますよw

注意喚起:ISOイメージをUSBメモリに書き出すときはDDモードでの書き出しにしよう!

いつもの如く、RufusでISOをUSBメモリ(小職の場合は、USB型のSDカードリーダに刺した適用なmicroSDカードをインストール用に愛用していますw)

しかし、そのUSBをNEC MATE ML-4に差して電源投入スレでもブートしない!
なんて1人でのたうち回っていましたが、Rufusでイメージ書き出し時に注意喚起されている、DDモードではなくて、ISOモードでの書き込みを行うことで小職のこのハマりを再現できますw w w

DDモードでUSBメモリにイメージ書き出ししましょう。もうこれからは絶対w

BIOS設定で Secure Bootをオフ、ブート優先順位をUSBに変更。

とりあえずブートUSBの作成でプチハマりしましたがw
ブートできたことを確認できたので、落ち着いてBIOSじゃなかったUEFIの設定を行いますよ!

しかし、やったことはブート優先順位をいじって、USBブートを最優先にして、続けてセキュアブートをオフに….と思ったらすでに、セキュアブートオフの設定済だった小職のML-4ちゃんでありました。

注意喚起:ルータにLANケーブルを接続して100MBpsでリンクとかおかしい挙動していたら差し込み口を変えてみる

ちょっと小職特有のトラブルだったんですが、NECの24ポートのL2スイッチを使用しているのですが、同じNECのML-4の有線LANポートはどうも相性がよろしく無いようで(^^;

チップをよーくみてみると🦀さんマークがありました。

仕方ないので、L2スイッチの配下にある無線LANルーターの有線ポートに接続したら1GBpsでリンクしたようです。
ちょっと納得いかないのですがw

いつか、サーバー用途に人気のインテルのチップのLANカードを入手したら再チャレンジしてみます。

アリエクとかでLANカードを調査してみると、10GBpsのポートが2口あるようなブツがこんな値段だったのでポチりそうになりましたがw
まだまだ我が家には大元の回線含め10GBps時代はしばらく到来しないので見送りって感じにしました。
あとこの手のLANカードはすげー爆熱らしいので、スリムデスクトップで使用したら危なそうです(^^;

ちゃんとしたリプレース候補を検討しておいたのですが、Intel i350な1GBpsの2ポートありなLANカードが良いみたいです。
これはレノボのサーバでも採用されているようなやつで、サーバ運用が落ち着いて気が向いたらこれにリプレイスしても楽しめそうなのでちょっと目をつけておきます。ちなみにヤフオクでちょいちょい出回ってそうです。

TrueNAS Scaleのインストールと基本設定

 

インストール用に作成したUSBメモリからブートさせていきます♪

256GB SSDをブートデバイスに指定してインストール。
画面スクショ忘れてましたが….
truenas_adminというIDのパスワード設定を行うくらいでセットアップは完了でした。

そして再起動後にこの画面まで到達していれば、あとは別なPCのブラウザからIPアドレスにアクセスするとTrueNAS Scaleの管理画面にログインできるので、そちらで設定の続きを行います。

小職はスマホのブラウザからログインしてゴリゴリ設定していきました!
つまり、この時点でヘッドレスなTrueNAS Scaleサーバが完成しているってわけですよ!

ちなみに、この時点で、小職の場合はルータでIPアドレスの管理をしているので、truenasサーバのIPアドレスを登録しておいて、固定状態にしておきました。

ストレージプールの作成(1台構成のStripe)

HDD1台からシンプルにスタートする設定手順です。

まずは、ストレージのプールという概念があるのですが、具体的には以下の感じです。

①Stripe: 冗長性なし。1台故障で全データ消失。
②Mirror (ミラー): ディスク2台に同じ内容を記録(RAID 1)。高速だが容量効率50%。
③RAIDZ1: ディスク1台の故障に耐える(RAID 5相当)。
④RAIDZ2: ディスク2台の故障に耐える(RAID 6相当)。信頼性が高い。
⑤RAIDZ3: ディスク3台の故障に耐える。

今回構築している環境は14TBのHDD1発というシンプル構成なので
①のストライプという構成になります。

まあ、冗長性とかも考慮できるエンタープライズクラスのNASということで(^^;
とりあえず冗長性なんてカンケー無いぜ!漢のストライプ!というわけでプールの名前をつけて設定していきます。

ステップ:

  1. StorageCreate Pool を選択。

  2. 名前を入力(例: HomePool)。

  3. Data VDEV: Stripeを選択し、14TB HDDを追加して作成。

ストレージプールを作ったらデータセットを作る!

とりあえずプールを作ったので、その中にデータセット(プールは「物理的な領域」ですが、その中でデータを整理する単位を「データセット」と呼びます。)というものを設定すればNASを使える準備が整います。

なので、素直に作成したプールの中にデータセットを作成しておきます。

データセット作成

  • 設定: 名前 Photos、Compression lz4、Atime Off

  • マウントパス: /mnt/HomePool/Photos

SMB共有の設定

写真保存用に最適化したデータセットを作成しましたが、通常のNASとしても利用できるようにSMBの設定を行なってネットワーク経由でアクセス可能にします。

SMB共有設定

  1. SharesWindows (SMB) SharesAdd

  2. パスを指定し、ACLとリサイクルボックスを有効化。

  3. Local Users でユーザーを作成し、フルコントロール権限を付与。

ここまで設定したTrueNAS Scaleサーバの負荷状態などの様子

 

とりあえず、記事本的な設定が完了したので、TrueNASのかっこいいダッシュボードを表示させました。
まだNASとして稼働させた状態なので負荷も少なくて、メモリ消費も8GB中5GB空きなんて状況です。

普通のNASとしてだけ利用するならば4GBメモリのPCでもなんとかなるのかな….といったところ。

TrueNASのアプリをインストールしてimicchiサーバを稼働させる!

いよいよ本題に入りますよ!
TrueNASの醍醐味といえばアプリをサーバー上で稼働させることができます。
どんなものがあるかというとVMの仮想マシンを建てて、その中でWIndows11を動作させてリモート接続専用の仮想PCを稼働させる!なんてこともできちゃうのですが、そこはメモリ8GBマシンでは厳しいと思うので潤沢にメモリが用意できたら試していただければいいかな。という感じで。

とりあえず、GooglePhotoと同じ感じに自宅LAN内で利用できてしまうというimicchiというアプリをインストールします♪

 

TrueNASのメニューの中に「Apps」というメニューがあるのですが、その中でアプリを検索してインストールしたりできます。
その中で「imicchi」で検索をすると….出ましたよ!  

検索したアプリをインストールして、設定する流れになりますよ!

imicchiの初期設定はプールの設定から行います。
これは、当初に作成してあるプールを選択するだけ。
同じプールを使用することにちょっと抵抗感が湧くかもしれませんがw
NASのSMB領域と併用となりますが、スケーラブルにimicchiで保存した画像の分だけストレージを消費する感じなので気にしないでOKです。

続けて、使用するポートの設定を行うことで、imicchiにアクセスする際のURLが決まる感じになります。
小職はひねくれものなので、デフォルトのポートは使いたくないのでw


自分で決めたポート番号で動作するようにしました。

その他の設定はタイムゾーンをTokyoにするのと、imicchiの管理ユーザーを新たに作成する程度でした。

基本的な設定を完了して、TruneNASにimicchiサーバアプリをインストールする流れになります。

設定を入力後にインストールを行って完了を待つだけ♪

無事に完了です。
こんな感じでTrueNASのアプリは色々とメモリ次第ではありますが同時にサーバアプリを稼働させておくこともできるよいうNAS+サーバ的な利用が可能です。

TrueNAS AppsからImmichをインストールし、モバイルアプリと連携させます。

セットアップ

  • インストール: Appsにて Immich を検索。

  • マウント: 作成した Photos データセットをマウント。

  • アクセス: http://NAS-IP:2283 にて管理者アカウントを作成。

あとはスマホアプリのimicchiを導入して写真を同期させるだけ!

iOSのAppストアやAndroidのGooglePlayストアでも「imicchi」で検索すれば対応アプリが登場しますので、そちらをスマホにインストールして使用します。

ちょっと便利だったのが、スマホアプリをインストール後に事前設定したサーバのIPアドレスを入力しないとならないのですが、カメラでURLを設定した画面をスキャンするだけで初期設定URLを入力しないでもせってが可能だったのが便利でした。 

そんなこんなで、初期設定のアカウントでログインを行なって、imicchi自体の管理者のアカウントも作成します。
アカウント作成が多いのですが、サーバ管理というのはこんな感じ。という体感をしながら慣れていくのが吉です。

続けてスマホアプリで利用する側のアカウントを作成すれば、スマホの写真の同期ができるようになりますのでもうひと頑張りです!

あとは、スマホのGooglePhotoと同じ感じで同期するフォルダを設定してあげれば同期が開始してくれるのでスマホを充電させておいて放置しておけばimicchiのライブラリに画像がアップロードできます♪

アップロードがゴリゴリ動作して、imicchiが活動し出すと、TrueNas Scaleサーバのメモリ使用量もこんな感じに….
空きが結構消費されていますよ(^^;

CPUの負荷もそれなりになってきましたー。
というわけで、メモリ8GBのTrueNASサーバでは、稼働させるアプリはimicchiのみでけっこーリソースを食いついくす感じになります(^^;

imicchiはGoogle Photoと同じ感覚で利用できるのがポイント

  とりあえず、同期が行われ出したので、アプリの様子を見てみると、撮影場所や人物の顔での写真の検索もできるんです♪

まさに、この感覚Google Photoの感じ♪
これが実現できるので、脱GooglePhotoやらAppleのアレから逃げ出したい方にはかなり使えるサービスが自宅内で自分のストレージ次第で自由に利用できちゃうわけです。

画像のクロップと簡単な補正やエフェクトくらいもスマホから簡単にできます♪


流石に消しゴム的なことはできませんが(^^;
ローカルでこれだけの感じを実現できるimicchi。これだけでもTrueNASサーバを建てた価値が見出せます♪

アカウントを追加すれば、家族で利用できるローカルストレージベースのGooglePhoto代わりの写真同期先としても十分に利用可能!

もちろん、PCのブラウザから自分のimicchiアカウントにログインして、フォルダベースでドラッグしてアップロードなんてこともできますので、最初の動機が大変ですがw モリモリと写真や動画をアップロードしまくることができます!

NASのスペースとは別になるので、小職の場合は、別なNASにファイルベースでバックアップとっているフォルダがあるのですが、そいつをimicchiにアップロードすることで自宅内での冗長性を担保してしまうので、クラウドのデータも削除してもいいんじゃね?状態ですがバックアップは複数箇所にしておくのが安心なので、このまま運用していこうかな。と思っています。

逆に完全あるクラウドサービスとの決別も自分のサーバ運用管理下で実現することも可能ですよ!

自宅内で家族と共用するサービスとしての構築もおすすめとなるので、サーバの存在意義も家族にアピールできちゃいます♪

注意点・トラブルシューティング

  • ハードウェア: SATAポート不足時はPCIe拡張カードを検討。スリムケースのため熱対策が必要。

  • 処理負荷: 数千枚単位の初回インデックス作成には数時間を要するため放置を推奨。

  • データ保護: TrueNASのスナップショット活用と定期的な外部バックアップ。

TrueNAS Sclaeサーバを構築してみた!結果のまとめ

古いNEC ML-4を活用することで、プライバシーを完全に保護した「おうちGoogle Photos」が低コストで実現しました。まずはHDD1台から始め、必要に応じて拡張していくスタイルでお気楽運用え開始してみると色々とサーバの勉強になるのでおすすめです。

小職的にも今後は有線LANのポートを複数のものにリプレースしたり、複数ポートを束ねて増強するチーミングなんかも調整したいと思っています。

(PR)