私の自宅内仮想マシン環境はVMware vSphere Hypervisor(ESXi/名称が長いので以下ESXiと表記)を利用し、ビジネス用ノートPCであるThinkPad T440pで動かしています。
sylve.hatenablog.jp
ノートPCをサーバ替わりに利用している環境のため、快く思わない人もいるかと思いますが*1リスクを把握し、覚悟(自己責任)の上で利用する分には問題ありません。・・・強いて言えば、このような戯言日記のようにノートPCサーバを使ってると公言すると理不尽に攻撃される危険があるので、コッソリやるべきでしょうが・・・。
・・・そもそも論ですが、ノートPCをサーバして使ってると聞いて多くの方はLAMP環境*2辺りを想定されるかと思いますが、ノートPCにESXiを導入して仮想マシンを複数動かしてイキリ倒している輩が居るとはまず思わないだろうなぁ・・・。
閑話休題、少々古いノートPCではありますが4Core/8ThreadのCore i7 4800MQを搭載し、メモリも16GBと年式の割にはそこそこの容量を搭載しています。ストレージも年式的・・・と言うか設置箇所の制約で現在汎用的に使われているM.2(SATA) Type2282*3のSSDは搭載出来ないものの汎用的な2.5型SATAが搭載可能なため、私の環境では大容量な1TB SSDを搭載しています。その上、光学ドライブを潰せばもう1つ2.5型SATAのストレージを搭載することが可能です。
一見すると不満は無さそうですが、メモリ容量が16GBで頭打ちのため思ったよりも仮想マシンを動かすことが出来ずに頭を抱えています・・・。
現在動いている仮想マシンについて
16GBもあればそこそこ仮想マシンを動かせそうですが、実際に使ってみるとあまり多くの仮想マシンは動かせません。
現在私の環境下では以下の仮想マシンが動作しています。
- ESXi環境のマシンを操作するためのWindows10 Pro(RAM割当6GB)
- 主にTeraTermやらWinSCP*4やらのリモート操作やデータ転送するためのツール類が入っています。
- 既存の手持ちPCに入れても構いませんが、他のマシンのレジストリを汚したくないので・・・。
- あとはMac系列からリモートデスクトップ接続した際のキーボードアサインが可笑しくなる問題を解消する目的で変なレジストリキーを設定しています。*5
- ESXi上の仮想マシンのDNSとして設定しているPi-holeサーバ(RAM割当2GB)
- 元々はRaspberry Piベースで動かしているPi-holeをx86_64(amd64)環境で動かす際の手順確認用に作ったサーバで、Ubuntu 18.04 LTSで動かしています。
- 私のネットワーク環境的には2台も必要は無いのですが折角なので仮想環境専用のPi-holeとして、またRaspberry Piで動いている方の(実運用している)Pi-holeでは出来ない設定を入れ込んだりして、色々と試す為のサーバとして生かしています。
- Linux用だったりWindows Server評価版だったりの仮想マシン数台(RAM割当はマシン次第だが2GB~4GB)
正直Windows10 Proの仮想マシンを作ってしまったのが仇となりメモリリソースがカツカツです。
Win10Pro+Pi-holeの仮想マシン2台だけで割当メモリが8GB、物理搭載メモリの半分です。そこにWindows Server評価版環境・CentOS7・Ubuntu 20.04 LTSの3台で残存メモリを食い潰し合う地獄絵図です。・・・いえ物理搭載量の16GBに収まるようRAMを割り振っているので食い潰し合いはしていませんし、各仮想マシンが全力でリソースを使っていない限りはオーバーコミット(物理容量以上にリソースを割り振ること)で多少融通を効かせることは可能ですけど、余力が無いと言うのは辛いものがあります。*6
docs.vmware.com
・・・実際問題、Windows Server評価版のAD(Active Directory)環境を初代ThinkPad T440p*7のHyper-V上にプライマリ・セカンダリの2台仮想マシン(都合RAM割り当て容量10GB)を動かしている有様です。・・・早い話、2代目ThinkPad T440pだけではリソースが足りてない状況です・・・。
要求するメモリ容量
現状RAM16GBで足りないのは明白ですが、それではどのくらいの容量があれば良いのか。
不要な仮想マシンを消せ・用途を絞れとやるべきことは正直ありますが、まずは願望ベースで必要なメモリ容量を算出してみることとします。
- Pi-holeサーバ向け:2GB
- 仮想環境管理用のWindows10Proマシン:8GB*8
- Windows Server評価版向け仮想マシン:8GB*2台
- 内訳はActive Directoryドメインサーバのプライマリ・セカンダリ。*9
- Linux用の仮想マシン:4GB*4台
願望ベースで考えると合計42GB必要との計算結果となりました。・・・これはチョットお馬鹿が入っている私でも分かります、流石にやり過ぎで夢見すぎです。現実を見つめましょう。
正直、秋葉原を徘徊していると中古屋にRAM64GBまで搭載可能なモバイルワークステーションと言う化け物ノートPCが無い訳では無いので*10実現出来ない訳では無いのですが、モバイルワークステーションと言う時点で中古品でさえもかなり良いお値段するのに、別途メモリを64GB分(今だとDDR4 SO-DIMM 32GB*2で大体3万チョット)も買わなければならないと言う部分を考慮すると予算かけ過ぎと言わざるを得ません・・・。
そのため、もう少し現実と自分自身のお財布の中身を見て仮想マシンに割り振るメモリを勘定してみることとします。・・・いや私はカード決済で済ませることが多いので、財布の中身を見ても「クレカある、ヨシッ!*11」と駄目な思考になるだけですが。
- Pi-holeサーバ向け:2GB
- 仮想環境管理用のWindows10Proマシン:8GB
- Windows Server評価版向け仮想マシン:4GB*2台
- 内訳は同じActive Directoryドメインサーバのプライマリ・セカンダリ。
- 少し厳しくはなりますが実運用では無い自学環境であることを鑑みて1台4GB勘定とします。
- Linux用の仮想マシン:4GB*2台
- Linux用の仮想マシン:2GB*2台
現実的を見ても合計30GB、もう少し現実を見て減らせそうですが*12合計30GBならコンピュータ業界としてはキリのいい32GBと言う値に近いのでまぁ良いでしょう。
最近のPCであれば32GB上限のマシンはそれなりに見かけますし、DDR4 SO-DIMMなら16GB*2で1.5万チョットで入手出来るようなので懐にはまだ優しい方でしょう。・・・とは言え、(32GB Maxなら小っちゃい)NUC辺りも含めた適当なハードウェア+メモリ32GBでおいくら万円?と問われると(絶対金額はモバイルワークステーションに手を出すより低くとも5万前後の価格が脳裏を過ぎり、結果的に前借りを重ねて随分とホッソリとした今月の浪費日記的な予算面で)*13何も言えなくなってしまいますが・・・。
インテル INTEL NUC BXNUC10I7FNH 第10世代 i7-10710U 2.5対応 ミニPC ACコードなし
- 発売日: 2020/04/03
- メディア: Personal Computers
Crucial 32GB Kit (2 x 16GB) DDR4-2666 SODIMM CT2K16G48FD8266
- 発売日: 2019/01/31
- メディア: Personal Computers
素直にNUCにするか、ノートPCサーバを継続するか
要求メモリ容量を見積して思ったのですが、普通にNUCに移行して良いんじゃね?と思ったり思わなかったり。
私がノートPCをサーバ替わりに利用している本当の理由は、手間無くESXiが『動いた』からと言う理由のみ*14なのでノートPCに拘る必要はありません。そのため、戯言日記を綴るまでは漠然と「ノートPCサーバでいいかなー」と思っていましたが、考えてみりゃESXiが動きゃ良いのでNUCでも事足ります。むしろNUCのほうが消費電力面では有利ですし、省スペースですし、NUCモデルの選定を間違えなければM.2+2.5型ストレージと複数のストレージ搭載可能ですし。*15
ただ秋葉原の中古屋を覗き見ると意外と32GB/64GBと上限が私の望むサイズのモバイルワークステーションを見かけるので、手っ取り早くノートPCサーバ(モバイルワークステーションサーバ)と言う手を取りたくなるのも正直なところです。またモバイルワークステーションを選択した場合は構成次第ですが(Laptop環境で実現出来るかは別問題ですが)GPUパススルーやvGPUと言う楽しそうなことが見えてきます。
単純に環境を整えるのならばNUCでも構いませんが、楽しそうなことを考慮するとモバイルワークステーションを利用したノートPCサーバを継続するのも悪くはないのかもしれません。まぁ、モバイルワークステーションと言えどもノートPCをサーバに利用したら冒頭に綴った気難しい方々が怒り出すので、このような戯言日記にログとして残るように公言するのは好ましく無いのですが・・・。
但し予算面で調達は来月以降
とりあえず、RAM32GBでNUC辺りで環境整備と目処は立てました・・・が、はてさて先立つものは?
前月の散財結果まとめ記事をみると、主に4Kモニター購入に伴う前借り・それに伴う前借りの前借りにより2020年9月の予算は1万チョットと言う金額となっております。
sylve.hatenablog.jp
\(^o^)/
そして調べてみると省電力モデル(Core i7のUシリーズ)でも4C8Tとなった第8世代のCore i7を搭載したNUCのお値段を主に中古市場で見てみると5万円チョット・・・。メモリが先の通り16GB*2(32GB)で約1.5万くらいの相場なので、どうあがいても1ヶ月内に割り振った予算をオーバーします。*16
\(^o^)/
まぁ、一時の欲望に支配されて浪費に走るのは買い物依存症と言う病気ですし、それ以前に大変不健全な行為なので我慢することを覚えましょう。
しかしESXi環境のメモリ、昔は16GBで事足りてたのに欲が出ちゃったなぁ・・・。初代ThinkPad T440pはCPUが2C4Tだったことから(4Threadで1台1Thread割り当てても4台までだぞと)自重出来ていたのでしょうが、2代目T440pはCPUが4C8Tなのであれもこれもと欲張ってアレコレ仮想マシン立ててメモリ割り当てちゃうからなぁ・・・。
*1:事実、ノートPCをサーバとして使うなと声高らかに宣言し、ブログ記事にされている方も居ます。
*2:ご存じの方はご存知ですが、「Linux/Apache(Webサーバ)/MySQL(またはMariaDB、DBサーバ)/PHP(またはPerl/Pythonなどスクリプト言語)」の組み合わせの頭文字からLAMPと呼ばれます。
*3:よく見かける縦長サイズのM.2 SSDがType 2282です。ThinkPad T440pではそれより短くて小さいType 2242サイズが搭載可能です・・・が、Type 2282に比べると少々割高・・・。
*4:FFFTP派でしたが、最近の状況からWinSCPに乗り換えました。実務面でも最近はWinSCPを使う機会が増えてきましたので・・・。
*5:macOS版のMicrosoft公式リモートデスクトップ接続ツールから日本語OSのWindowsに接続すると英語キーボードとして認識される問題があり、世界的に見たら日本語はマイナーな言語なので不具合として修正されること無く放置されています・・・。
*6:VMwareの場合、ドキュメントを適当に要約すると「仮想マシンで実際に消費しているメモリの合計値が物理メモリ以下ならOK、あと一応メモリ圧縮とかもやってるよ」と言うことらしい。なので実際の消費メモリの合計値が物理メモリの容量をオーバーしていなければ良いようです。
*7:現在TS録画環境サーバとしてWindows10 Proを動かしているが、元々ESXiを動かしていた環境。
*8:現在6GBの割当で、限定的な用途からメモリ不足はしていません。しかしもう少しメモリ容量は確保しておきたいので8GBとしました。
*9:現状純粋なAD傘下としてのWindows Server評価版が1台ありますが、沢山作ったところで評価版を利用している関係上、いずれ期限切れで使えなくなるので・・・。
*10:ちなみにワークステーションの定義で1番分かりやすい要素(だが非常に乱暴な言い方)として、GPUがNVIDIA Quadro/AMD FireProなどが搭載したコンピュータのことを指します。現在私がサーバ替わりに利用しているThinkPadシリーズで言うとPシリーズが明確にモバイルワークステーション扱いとされて、メモリ容量も64GBまで積めたはず。
*12:例えばWin10Proを現行と同じ6GB割当にする、Pi-holeでUbuntu 18.04 LTS入れてるので旧版のLinux仮想マシン1台廃止。
*13:色々あって9月分の予算は1万チョットです・・・。
*14:TS抜きチューナを利用した録画サーバ(但しOSはWin10Pro)と言う用途でも使っていなくは無いのですが、根底にある理由は手間無くESXiが動いてくれると言う1点のみです。
*15:現在利用しているNUC8i7HVKやその一つ前のNUC6i7KYKのようにM.2*2の構成もありますが、確か薄型のモデルを選ばなければ2.5型ストレージが搭載出来たはず。
*16:長らく前借り生活が続いているので忘れがちですが、浪費予算が満額だったとしても4万円と定めているのでNUC本体だけで予算オーバーです。