VPSを利用した自宅サーバー機能分割の検討近況

自宅サーバーの場合 機器の構成変更や増減設などの物理作業がいつでもできるのが利点ではあるもの、音や電気代、可用性などを考えると少し問題がある。メールサーバーなど、比較的可用性を高く保ちたい機能から順次VPSに移設できないか、去年から検討してきた。
最近のVPSはたいてい契約前に一定期間無料で無償でテスト利用できるため、これまで数社試用してみたのだが、いずれも採用不可だろうと移設を断念した。当時VPSに載せようとしていた機能としては、ApacheMySQLMailmanなどといった比較的軽量な構成ではあったのだが、致命的な問題としては「スワップが利用できない」点だ。

VPSサービス提供業者では、Virtuozzo(オープンソース版だとOpenVZ)を採用しているケースが殆どであり、スワップ不能な原因はここにある。Virtuozzo以外にはXenVMWareなどを採用しているケースもあるが、全体に占める割合でいえば圧倒的にVirtuozzoが採用されている。これは一重に「高度な仮想化テクノロジーの運用スキルがなくても、ライセンス料を支払うことでサービス提供環境が手に入る」ことに依存する。とにもかくにも、VPS≒Virtuozzoという状況の中、VPS環境でスワップが利用できない点やメモリのオーバーコミットができない点は国内・海外を問わず状況は全く同じで、VPS採用可否の課題となっていた。無論XenVMWareベースのVPSサービスであれば問題ないわけだが、費用的には1.5〜2倍程度が相場となるため頭の痛い点だ。

以前の試用期間でVPS環境を体験したあと、OpenVZで環境を自前で用意し色々と調査してみた。OpenVZとVirtuozzoの違いについては 参考サイト の内容を参照するとして、根本的な機構そのものに大きな違いはないものとして検証した。

以下、検証結果と考察

  • ゲストOSでスワップを使わせること自体は技術的には可能(bustable memoryの設定次第)
  • ただしbustable memoryの値を大きく設定しすぎた場合、実際に設定値までメモリ要求があった場合にスラッシングが発生するため、複数のサービス利用者の環境が同居するVPSサービスでは現実的な設定ではない。これはなんとなく納得。
  • とは言えスワップやメモリオーバーコミットができない条件下で、512MB程度のメモリサイズでどの程度のことができるだろうか?元々想定していたレベルでは使えなさそう。

高可用性・高信頼性が必要な重要なシステムなどの商用用途であれば、IBM社のMCCSなどに見られるような業務システム向けサービスを採用するのが無難だろう。ただ少なくとも私の場合、VPSの利用目的は小規模(パーソナルユース)なシステム用途であり、メモリやCPUなどのリソースを増やす=ランニング費用が月額5,000円くらいになる、というのはあまり現実味がない。最近はVirtuozzoベースでのVPSでもCPI社のサービスではスワップが利用可能な構成で売り出し始めた模様。もう少しVPS市場の動向を見守るべきか。

前述のようにVPS市場では圧倒的にVirtuozzoが採用されているわけだが、そんな中 さくらインターネットのVPS が仮想化機構にKVMを採用している点は興味深い。既に周知の事実だが、RedHat社はRHEL6からXenを廃止し、仮想化機構としてKVMのみに一本化する姿勢を明確にした。大手SIベンダーの商用仮想化サービスでもVMWareの一人勝ちからKVMベースでのサービスを並行する動きも見られ、今後の動向が気になるところだ。