【仮想化】自宅サーバーへ移行しました【VMWare Esxi&kusanagi】

ブログを自宅サーバーへ移行しました

この度、Kixiの雑記帳を自宅サーバー環境に移行しました。 現在も、この写真のサーバーから当ブログは配信されています。 メモとして、サーバーの構成等を記しておこうと思います。

サーバーのスペック

自作PCを作る人々は、家に必ず一台は用途不明なPCがあるはず。
Kixiもそれにもれず、全く使っていない家に転がっているPCを今回のサーバーに仕立て上げました。
※スペック等、詳細はこちらに記載しました。

【構築メモ】VMWare ESXiとkusanagiの環境構築まとめ

床に転がってる不用品の寄せ集めみたいなPCですが、弱小ブログのWEBサーバーには必要十分なスペックを誇っています。 なお、画像を見たら分かると思いますが、第4世代のCore i7のケースは嘘です。嘘ケースです。 ジャンクで中を取り出して余ったケースに、上記パーツを詰め込んています。

今回の構成

さて、ハードのスペックについては語りましたが、サーバーはハードだけでは動きません。
今回は、よくあるCentOSではなく、「VMWare Esxi」をインストールし、仮想サーバーにしました。

VMWare Esxi とは?

仮想サーバー用のOSです。 歴史は意外と古く、2008年ごろからずっとバージョンを上げつつ生き残っています。 今回わざわざ、仮想化するのには理由があります。 それは「kusanagi」が使いたかったからです。

kusanagiとは?

超高速WordPress仮想マシン「KUSANAGI」(以下「KUSANAGI」)は、プライム・ストラテジー株式会社が開発・構成する、WordPressを高速に動作させるための仮想マシンおよびそのイメージです。WordPressの実行時間3ミリ秒台、秒間1000リクエストをページキャッシュ非使用で実現する世界最高速クラスのWordPress実行環境です。 kusanagi 公式ページより

シビアにチューニングされたのphpやMySQLなどが搭載された、CentOSベースの仮想イメージを無料で提供してくれています。
※通常のXAMPP環境の10倍速度が出るとまで言われています。

ここで重要なのは、「仮想イメージ」を配布しているということ。
元々、VPSやクラウドでの使用を想定している上、直接ハードウェアを管理するOSにしてしまうと、高速化のチューニングが上手くいかないのではと思います。
kusanagiを直接PCにインストールするにはハードルが高いのです。

以上から、
①自宅サーバーにVMWare Esxiをインストール
②kusanagiが無償で配布しているVMWare用の仮想イメージをデプロイ の順番で構築しました。

※Docker版もありますが、機能が一部制限されるそうなので、今回は見送りました。 確か、Let’s Encryptを導入するコマンド等が使えなかったはず。

回線について

この度、NURO光に乗り換えました。
遅い時でも500Mbpsくらいは出ているので、とりあえず速度に問題はなさそう。

ただし、NUROは固定IPにできない問題があります。 そのうち、VPSでも借りて、VPNサーバーを構築し、自宅サーバー→VPSのVPNサーバー経由の固定IP…みたいな構成を組みたいですが、とりあえずDDNSで対応しています。
IPアドレスのリースが多発するようなら、また考えます。

構築でハマったところ

今回は、VMWare Esxiも、CentOSも、kusanagiの独自コマンドもすべて初体験だったので、色々詰まる所はありました。

IPアドレスの設定で詰む

ボーっとしながら構築していたら、Esxiとkusanagiのipアドレスを同じものに設定してしまっていました。
気が付いたら、EsxiのWeb管理画面には入れず、サーバーから直接仮想マシンを止める方法も良くわからず、英語のメニューを探し回って、設定のリセットを行いました。
※再起動時にkusanagiが自動で立ち上がる設定にしていたせいで、再起動後も勝手にkusanagiが立ち上がり、NginXの初期画面が表示されてWebコンソールに入れない。

リセット後、作業途中のkusanagiのイメージは残っていましたが、EsxiのIPを変えるのも面倒で、kusanagiは初期設定で再デプロイしました。

MyDNSの設定が良くわからない

今回は、MyDNSというサービスを使ってDDNSの設定を行いました。 MyDNSだと、上手くサブドメインを他IPに割り当てられなくて、仮運用のつもりが結局「pic.kixi.jp」「tachibanaold.kixi.jp」なども自宅サーバーへ移動させました。

物理ディスクの追加

何故か内蔵SATAにHDDを繋いでもうまくいかない。
そもそもディスクをEsxiが認識されていないみたいで、sshで接続して設定ファイルを色々書き替えたりしたが、ディスク一覧に現れる事は無かった。

とりあえずバックアップはできないとまずいので、USBの外付けHDDをマウントし(これもコマンドラインから面倒な操作が必要)、有志が作ったツールを利用して、日次バックアップするようにした。

Vmotionとか使えたら便利だが、無料のEsxiだと使えないので仕方がない…。

→HDDが故障していました… 先日3TBx3のRAID5を組んだ際は、きちんと認識しました。 但し、Esxiの再起動が必要でした…。

AmazonJSの表示がおかしい

何故かAmazonJSの表示がおかしくなったが、調べてみるとHHVMだと動かないらしい。 とりあえずphp7にして、キャッシュが消えるまで静かに待ちました。

最後に

VMWare Esxiは割とグラフィカルで取っつきやすいですが、kusanagiは完全CUIなので、CUIアレルギーの人は中々手間取ると思います。 しかし、慣れると非常に楽です。 例えば、特定のサイトをSSL化するには、 kusanagi ssl –email [メールアドレス] [特定のサイトの設定名]
kusanagi ssl –https redirect [特定のサイトの設定名]
の2コマンドだけ打ち込めば良いのです。

これだけで、記事内のリンクやWordPressの設定値などもSSLに対応したものへ自動的に変換されます。
以上を、置換プラグイン入れて~証明書発行して~とかやってたら、そこそこ時間が掛かります。

殴り書きのような記事になりましたが、時間のある時にまた整理しようと思います。 自宅サーバーは良いぞ……(VPSで十分) それでは!