仮想化のお勉強が進む


 鵜呑みにしてたけど、少しちゃんと調べてみるとOpenVZって準仮想化でもねーじゃん。
 言うなれば、chrootした環境を与えて「ルートディレクトリから全部お前の物だ」みたいなのをもっと頑張りまくって「root権限がお前の物だ」っぽく見えるまで拡張した感じだろうか。オーバーヘッドは小さそうだけど、全くVMじゃないのだな。ゲストにswap無いのも納得であった。

 んで、実際パフォーマンスにはどんな差が出るのかな、と思って検索すると、NTTが仮想化技術比較というページを作っていたので読んでみる。
 XenとKVMとOpenVZの比較という文書になってるけど、実質的には準仮想化と完全仮想化とOpenVZの比較っぽい。で、準仮想化が一番高速で、完全仮想化はやはり重いけど、OpenVZがもっと格段に重い場合もあるのに驚いた。ふむ。リソース配分の管理が重いのか。
 OpenVZのVPS鯖の存在意義がますます分からなくなりげな。386が出たらハードウェアEMSの存在意義が無くなったとかそういう感じなんだろうか。多分違いますが。でもVT使えるならKVMでいいじゃんという構図は少し似ているか。むしろそれはLinuxが当初IA-32にガチ依存で素早く開発された構図に似ているな。どこからかカレーの香りがしますな。

 そんなこんなで。
 もうOpenVZもDTIのVPSもしばらくは忘れていいかもな、とは思った。


VPSが軽いのか重いのか分からない


 このblogをさくらのVPSに移してみて、こんなに軽かったかなあ、と思うことが増えてきた。当初はもう少し重かったような…。
 もしかすると、同居人が何か激しい遊びをやってたとか?(笑)
 利用開始直後は特に色々するだろうし、あり得る話ですな。


IPv4/IPv6デュアルスタックとか


 6/8はWorld IPv6 Dayです!

 というわけで、今年中には日本国内でもIPアドレスがv4的に枯渇するっぽい。そろそろマジで枯れるとは聞いてたし、ほんとどうすんだろーとも思ってたけど。IPv6に移行しなきゃだよなあ。
 それはさておき、IPv4アドレスは当面欲しいし、取れるうちにVPS借りた方がお得かもですなあ。というか、NS立てるとか考えたら真剣に重要かもな。駆け込み需要とかあるんだろうか(笑)。
 とはいえ、一〜二年くらい前に解約した旧々さくら専用鯖のIPアドレスもいまだに放置されてるっぽいから、リサイクルすれば結構出てきそうだけど。経路的に使い回しが困難なことも多々ありそうだが。

 で、さくらのVPSをデュアルスタックに出来ねーかなー、と思って適当にtokyo6to4の解説から辿ったら、ほんの数行書き足してservice network restartするだけで鯖の再起動すら要らずに6to4は使えたのであった。ふむ。これはv6側からの接続も行けるのかな。つっても、ローカルにもどこにもv6の接続環境ねーから試せないなあ。auひかりは2011/4に接続提供予定らしいですが。
 テストサイトを探すと、ホスト名しか受け付けないとこがあったので、せっかくだからNSもv6対応に書き換えてみようか。AAAA書くだけだろーハハハー。
 って、えーと…。NS指定のところでIPv6アドレスを入力出来た記憶がねーけど…。
 自前NSだけv6対応しても、jpからの委譲が出来ないなら無意味ですなあ…。

 うん、待とう。設定も全部消して、と。
 せっかくだから6/8までに使えるといいんだけどな。ここは敢えて乗るべきだよな。

追記:
 NSはv4のグルーだけでも動く場合もある模様。キャッシュサーバやリゾルバ次第っぽい。


完全仮想化とか準仮想化とか


 VPSの比較サイトとかを見てると、大体は完全仮想化の方が有利っぽい扱いになってて、準仮想化の方が速いとか一長一短な気もするし何でだろうなあ、と思っていたのだが。
 要は、基本は完全仮想化だけど準仮想化なデバイスドライバも使えますよ、ということらしい。なるほど。それなら完全仮想化の方が有利という扱いにも納得だ。勉強になるなあ。実際、KVMは相当軽いとの話も。

 で、ゲストOSでntpdを動かす必要はあるのか、というのが今の疑問なのだが、どうなんだろう。準仮想化クロックの場合は全く要らなそうな気がするけど、多分ゲストから確認出来ないし、自信もあまり無い。そうでない場合、TSCの精度も絡むようだが、constant_tscはあるようだ。Invariant TSCはよく分からない。うーん。まー走らせておいた方が無難なのは間違いないし、確信が持てるまでは動かしておくか。実験で切ってみたい気もするけど(笑)。
 cpuspeedは切ってみた。ゲストの分際でCPUのクロックとか落とせる気がしない。と思うのが素人の浅はかさでして、実はプリエンプションが動的に早くなったりするんですよ、とかだとかっこいいけど、そうだったとしても俺に一切メリットが無い(笑)。


さくらかSaaSesかなあ


 HDDのリカバリーも大体終わったので、VPS作業だらだら。
 色々調べてると、DTIのVPSがかなり対象外になってきた。長期的には改善されていきそうでも、現状の差をそう簡単に取り戻せるかどうか。設計の時点でミスしてる気もするから、だいぶきついのではないか。

 DTIのVPSで衝撃的だったのが、新機能を追加しようとして全員の環境を勝手に変えた結果、全VPSをOpen Proxyにしてしまって、しかもそのまま50時間ほど放置してた、というトラブル。Apacheでmod_proxy関連をいじったらOpen Proxyになっていないかどうかとか、俺程度でも絶対確認するけどなあ。そもそも勝手に弄る時点で不思議だけど。
 で、勝手に弄ることは今後なるべく控えることにしたらしい。なるべくなのか。VPSとManaged VPSの悪いとこ取りみたいな。ちょっと付いてくのきつそう。

 そもそも、メモリがやはり足りないのではないか、という不安も強かった。Out of Memory(以下OOM)っていきなり起きるしなあ。正直、OOMが起きたらドライバやアプリが正常動作を続けることなど期待していなかったりする。DOS時代に糞ドライバとかゲームとかをsymdebとかで追ったりしてた頃に刷り込まれた不信感である。つーか自分のコードも怪しいし(笑)。
 あ、組み込みとかは別で。ああいう世界ならきっちり作るでしょう。多分。多分。
 LinuxのOOM時の挙動とかも軽く調べてみたけど、overcommitの扱い方に関わらずOOMが起きたらアレだろうな、とは思った。ちょっとさくらのovercommit_memoryの設定も2にしてみたくなったけど、まあ、別にいいかなあ。

 DTIは接続プロバイダとしてはほとんど不満が無かったので、VPSもいい物かと思ってたけど、どうも全然違うようだなあ。
 接続プロバイダとしての不満はたった一つ、KDDIの光回線にしたらホスト名がDIONと一緒になっちゃったよせっかく逃げたのに、ってくらいで(笑)。