ややアップアップ気味な｢hp ML110g5｣を Proxmox 環境にゆっくり分散させて(るのをまったり進行しながら)やってる話

# はじめに
## なんなん?
~~気がついたらアドベントカレンダー用として初めての3本目を書いてる…w~~
アドベントカレンダーの新着一覧を何となく見つつ､ふと｢自分の家の環境の事情を晒したらなにかくれる(かもしれない)｣と ~~(は思っていませんがそんな)~~ 甘い謳い文句 ~~(とプレゼント目当て)~~ にフラフラ誘われ参加してみることにしました(言い方
基本的に｢箇条書き｣と｢設定をなんとかする｣だけの話なのであまり面白みがないことだけ言っておきます(ぉぃ
~~実は｢同時期に自分の引っ越しも重なってしまった関係でせっかくだしと思った｣のと｢久しぶりにスチールラック建造｣もあるかも?w~~

# ML110g5 のまとめ
## 自宅のハード環境(分散前)
* CPU: Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz
    * 導入直後に Celeron から CPU を交換
* MEM: 6[GB]
    * 2 + 1 + 2 + 1(2018年ぐらいまでは 2 + 0 + 2 + 0 = 4[GB])
* HDD
    * 1[TB] (WDC WD10EACS)
        * なにかのストレージ(多分当時持ってた｢[玄箱](https://ja.wikipedia.org/wiki/%E7%8E%84%E7%AE%B1)/HG｣)からの流用
    * 3[TB] (WDC WD30EFZX)
        * KVM 用ストレージ(VM Guest･共有ストレージ)
            * 後述の某掲示板用スクリプト関係
    * 6[TB] (WDC WD60EZAZ) x2
        * 導入初期から使用していて2020年ぐらいまでに全台死にかけに陥ってしまった WD20EARS の置き換え｡
* デバイス
    * 光学ドライブ: HL-DT-ST BH16NS48
        * 動画データのバックアップ用
        * ホントは｢Pioneer のドライブいいなぁ｣と思ってましたが予算的な関係でこれに｡
    * グラボ: AMD Radeon HD 4350
        * 導入前ぐらいにどこかのまとめ Wiki にて｢PCI-E スロットに刺さらなかったのでカード加工した｣と書いてあったのを見てドスパラで売ってた激安新品な玄人志向のグラボ端子をヤスリで削るど M プレイw
            * 今激安新品なやつで出来ないなぁw
    * ???: Earthsoft PT2
        * わかるな???(真顔

## 自宅のソフト環境(分散前)
* OS: Ubuntu
    * 導入当初は Windows7 Professional x64
    * その後 Windows7 のサポート期間が切れる関係で｢じゃあ Ubuntu に｣ってことで切り替えました｡
    * いろいろ設定をいじったり野良ビルドしたパッケージを入れたりした結果 GUI がまともに動かなくなって焦ってなんとかしたのはいい思い出です｡

## (めちゃくちゃ詰め込んで)入れてるツール系@2023/08時点
* [広告避け DNS cache by Unbound](https://qiita.com/soprano1125/items/8b9916df3f69e3d295d7)
* [NTP by chrony](https://qiita.com/soprano1125/items/7ab7682daadee17dfd46)
    * 記事は FreeBSD ですが､Ubuntu でも設定をそのまま使っています
* VPN by SoftEther
* [SP モードメール](https://ja.wikipedia.org/wiki/Sp%E3%83%A2%E3%83%BC%E3%83%89#sp%E3%83%A2%E3%83%BC%E3%83%89%E3%83%A1%E3%83%BC%E3%83%AB)という名の[ドコモメール](https://ja.wikipedia.org/wiki/%E3%83%89%E3%82%B3%E3%83%A2%E3%83%A1%E3%83%BC%E3%83%AB)の転送･[削除](https://qiita.com/soprano1125/items/f834def547fdf10a0e1e)用 fetchmail
* ダウンローダー Aria2
* [ラジオプロキシ](https://qiita.com/soprano1125/items/6a61da5ff16ad194e68d)
* 某掲示板 Viewer 関係
    * 表示用 php スクリプト
    * クロール用 php スクリプト
    * ここだけ VM Guest で運用してます

## (そろそろ分散させたい)データ類@2023/08時点
* ラジオ録音データ
    * radiko 録音ツールは別のマシンで運用
* 某掲示板 Viewer 関係
    * ライブなログ､過去ログがごっちゃり

# 分散させる･させてるもの
基本的に分散プランを [trello](https://qiita.com/tags/trello) とかカンバンが使えるツールに書き出すと｢どういうスペックの筐体や VM がいるかな?｣と視覚的にわかるようになります(本来の使い方とはちょっと違いますがw

記事のタグに｢Proxmox｣が入っていますが､ VM Host は基本的に Proxmox を積極的に使うようにしています｡ ~~導入するきっかけは[某散財系鯖主](https://twitter.com/tsukkkkkun)さんの[スライド](https://speakerdeck.com/unchamacom/202209-k8s-homedeng-tan-r0-dot-1?slide=21)ですw~~
ぶっちゃけ｢[Nutanix](https://qiita.com/tags/Nutanix)｣と悩みましたが､インストール推奨スペック的に｢メモリ: 最低20[GB]｣とか､､､流石にすぐ出せなかったので初期導入のコストが小さい Proxmox を選んだのが大きいですね｡

## VM Host 1
* VM Guest 1
    * DNS cache
        * front Resolver
        * 広告避け Unbound
        * 広告避けない Unbound
        * 内緒系リゾルバ
    * NTP by chrony
    * (^_^；)｢(この記事を書いている時点で)｢DNS と NTP｣と(基本的に) UDP でやり取りしているものを VM Host と VM Guest の別環境に分散させてしまっているのでここを一つの VM Guest に集約させてクラスター化させたいよなぁ｣(まだやってない
        * 早い話､[これ](https://qiita.com/soprano1125/items/4412f40cd9603217b6d3)の方式がうまく回っているのでここでも採用しようとしてます｡
        * 一番の懸念は front Resolver に関するコンフィグをどうやって生成させるかなんですよね
            * 今の所(ﾅｲｼｮ
* VM Guest 2
    * [VPN by SoftEther](https://qiita.com/soprano1125/items/3418b64d75271ae8234c)
        * SoftEther に関しては｢最新の開発版をビルドして設定を移すだけ｣ですが､[別の記事でやってる knockd のイベントで動かすスクリプト](https://qiita.com/soprano1125/items/8a209446cce6a3a03476#knock-1)をいい機会だと思って bash から python に書き換えました｡
* VM Guest 3
    * SP モードメールという名の皮を被ったドコモメールの転送･削除用 fetchmail
        * すでに設定済みの fetchmailrc があるのでそれを移して読み込ませるだけです｡
            * ｢メッセージ R / S｣って POP でやり取りしていてパスワードも独自なのでこの辺の設定どうしようかは今の所思考中だったり

## VM Host 2
* ラジオ録音データ
* ラジオプロキシ
* VM Guest 1
    * ストリーム生成器
* VM Guest 2
    * 別マシンで運用させていた radiko 録音ツールを(割と数年ぶりに)自作ツールへ置き換えて [Jenkins](https://qiita.com/_takeuchi_/items/c968673fd0688206334b) さんに管理させています｡

実は別でやりたいことがありますが(この記事を書いている時点での) VM Host のスペックとモチベーションの問題で(ry

## VM Host 3
+ 某掲示板 Viewer 関係ライブなログ､過去ログを見えるようにしておく
    * これは筐体をまだご用意できてないので｢いずれやろうの予定｣ということで(ぉぃ
        * ぶっちゃけ [Ryzen](https://ja.wikipedia.org/wiki/Ryzen) [APU](https://ja.wikipedia.org/wiki/AMD_Accelerated_Processing_Unit) を使ってみたいお気持ちがあるので(ｺﾞﾆｮｺﾞﾆｮ
* VM Guest 1
    * 表示用 php スクリプト
* VM Guest 2
    * クロール用 php スクリプト

# まとめ
こうしてカンバンツールでプランを練りに練って練り練りしながら｢分散させたり､分散させなかったり､やっぱり集約してみたり｣と中の人の都合で環境を作ったり壊したり出来る｢仮想環境｣は最高ですね!

~~**俺たちの戦いはこれからだ! 高音先生の次回作にご期待ください!!**~~