我が家の省エネサーバー今日もメモリがカツカツです

我が家のサーバーは、Intel N100搭載のミニPC。 メーカーはCHUWIで、LarkBox X 2023という機種です。

Proxmoxをインストールしてサーバーとして使っている方が多いようですが、私もその一人でした。 今なら別のミニPCを購入すると思いますが、ちょうどミニPCが欲しかったタイミングで、有線LANが2ポート付いてセールで23,000円くらいだったので、つい購入してしまいました。

不満を言えば、メモリは16GB欲しかった。 他にも色々ありますが、安いから割り切っています。

ひとつ前の投稿になぜセルフホスティングなのかと言う部分があるので言及したいと思います。 一言で言えばデータは自分で管理したい。

「おい!ちょっと待て、このサイト、スターサーバーじゃないか!」ってツッコミをもらうと痛い所ではあるのですが、少々理由がありまして。 と言うのも、WPのサーバーを立てるのは特に難しくはないのですが、自宅に知らない人が接続してくるのが嫌と言うのがあります。 またネットワークのリソースを他人に使われるのも嫌です。 興味本位でセキュリーを突っついて来る人が居るかもしれません。 なので自宅サーバーは公開されていますが門は狭めな感じ、我が家のサーバーを家で例えるなら旗竿地の狭小住宅といった所です。

さて、前述のとおり、一時的にProxmoxを使用していました。Proxmoxでは、2つのVM(WindowsとOpenWrt)と2つのコンテナ(ImmichとSambaによるファイルサーバー)を構築していました。しかし、月に数回必要なWindowsでの事務仕事がレスポンスの遅さで耐えられず、発想を変えてWindows上でサーバーを運用することにしました。

Windowsの初期状態でのメモリ消費量の多さに驚きましたが、OSが上手くやりくりしてくれるだろうと信じ、熟考の末にHyper-Vを使うことにしました。

Hyper-Vを選んだ理由は、今まで使ったことがなく興味があったことと、限られたリソースの中でWindowsの機能を活用したかったからです。

現在の構成はこんな感じです。

  • Windows 11 Pro(Hyper-VのVM以外アプリが起動してない状態 メモリ6.1GB)
  • Immich(OS:Alpine Linux Dockerで運用 メモリ2.9GB)
  • OpenWrt(OS:OpenWrt メモリ256MB)
  • Nginx(OS:Alpine Linux メモリ256MB)
  • 開発環境兼自作Webアプリのサーバー(OS:Debian Linux LXQtとVSCode メモリ1GB)

上記を見ていただくと分かりますが、Windows上でアプリを動かしていない状態で、常時合計10.5GB程度消費します。 VMはメモリ可変ではなく固定。狭いけど賑やかな我が家です。

こんな状態でも、タブ数個ならEdgeブラウザは普通に動きます。 事務用のアプリも問題なし。 ただ、ブラウザと同時はきついかも。 作業中に固まって、せっかく入力したデータが飛ばれても困るので、無理はさせないようにしています。 その状態でメモリがギリギリ12GBに届かないくらいになります。 ただ、Windowsを使う時は事務作業の時だけなので、日常的にはChromeBookを使っています。

カツカツですがVM上のOSやアプリは何食わぬ感じで淡々と24時間稼働し続けてます。

ImmichはAlpine LinuxのDocker上で稼働しています。 仕様ではメモリは4GB必要なのですが、自分の環境では3GBくらいしか使われないので、ギリギリまで減らしています。

OpenWrtは仕様ではメモリは128MBで動きます。 ただ、128MBの構成ではシステムを起動できないので256MBで作っています。 稼働中は100MB程度しか消費されません。 残り150MBが勿体なく感じますが一旦キープです。 またOpenWrt内ではWireGuardとAdBlockとDDNSが動いています。

NginxはReverse Proxyとして運用しています。 Alpine Linux上にインストールして使っていますがメモリを256MBで問題なく動いています。 こちらも100MB程度しかメモリを使っていません。 Dockerを使うと簡単にNginx Reverse Proxyを運用できるらしいいのですが、Dockerにメモリを食われたく無かったので、パッケージでインストールして使っています。

開発環境のVMはDebianで運用中です。 1GBのメモリでは足りてないのですが、スワップでどうにかしてくれているみたいです。 開発環境としてVSCodeをインストールしてますがVSCode Serverとして使っています。 基本的にChromeBookのLinux開発環境にインストールしたVSCodeからリモートで繋いで自作のWebアプリのメンテと稼働に使っている感じです。

そろそろ読むのも疲れて来る頃ですが、我が家の省エネサーバーは今日もカツカツながらも元気に稼働中です。 限られたリソースの中で、いかに快適な環境を構築するかが、セルフホスティングの醍醐味の一つだと感じています。

もし、セルフホスティングに興味がある方がいらっしゃいましたら、ぜひ参考にしていただけると嬉しいです。

コメントする