created at 2012-02-27 08:00:36 UTC
kvm を使ってみての感想を書く。正月に思いたって自宅サーバーの全てを仮想化した。 kvm を使っている。この二ヶ月間は安定して稼動している。非常によい。
VT-x とか AMD-V が効く CPU があればいいんじゃないでしょうか。 IO MMU 仮想化(VT-d, AMD-Vi) があると USB2.0 とかを楽に使える。あるに越したことはないがこれをやるとコストが非常にはねあがる。
みたいな構成でだいたい 4 万円前後で組める。ぼくは既存の資産を流用出来る感じだったので、初期投資は 2 万円ぐらいに抑えることが出来た。
Pentium G630T という CPU は非常に安価であり、 TDP は 35W と(Fusion APU や Atom ほどではないにせよ)かなり低い。 TDP の値は多分内蔵グラフィックコア込みなので、そちらを使用しないサーバーではさらに電力を消費しない。たぶん 20W ちょい。 65W の AC アダプタのマシンでも安定して稼動する。貧者の仮想化には一押し。
金があるなら Core i5 の 35W のやつ(IO MMU 仮想化がある)とかもいいと思う。消費電力を徹底して抑えたいなら Fusion APU もアリだと思うけどメモリまわりなど制約が大きいし TDP の差も 10W ぐらい。微妙。
debian sid がよい感じがする。とりあえずはじめてみる、という段階ではこの記事が非常に役にたった。
基本的にマシンを作成する際の流れは、
というだけなので非常に単純でよろしい。
ディスクイメージには raw 形式と qcow2 形式が使えて、 qcow2 形式はスナップショットを取ったり、差分ディスクイメージを使ってインストール作業の重複を回避したりとか、そういう便利なことが出来る。またディスク容量をいきなり占有したりしないで必要な時に必要なぶんだけ確保する。
ただ qcow2 は raw 形式より遅いと言われているし実際ベンチマークを見ると遅い。ただ僕はこの遅さが問題になったことはまだない。
なお qcow2 の差分ディスクイメージをバックアップや世代管理に使用するというアイディアは非常によくない。素直に LVM とかを使うのがよい。
当たり前だが仮想マシンは気軽に再起動できる。何か問題があっても VNC 経由でコンソールに入ることが出来る。外出先から必要に応じて何の心配もなくマシンを再起動できるのはとてもよいことだ。
サスペンドは非常に有用な機能で、サーバーのバックアップを簡単にとれる。サスペンド -> ディスクイメージのバックアップ -> レジューム という動作をするスクリプトを書いておけば簡単にサーバーをバックアップ出来る。ディスクイメージのバックアップに LVM のスナップショットを使用するようにすればダウンタイムは最小限に抑えられる。
USB は諦めたほうがいい。 ehci を有効化する方法あるにはあるらしいのだが非常にめんどくさいっぽい。 USB1.1 で大丈夫な機材なら、まあ動く。
世の中クラウドサービス全盛で、 heroku や App Engine のようなアプリケーション実行環境や、 Amazon EC2 のようなレンタルサーバーが勢いを極めている。こういうの素直に使えればそれが一番いいのだけど、ストレージが非常に高い。自宅サーバーだとストレージ 10TB とか用意しても初期投資 5 万円ぐらいで済む。
kvm は(主に libvirt のお陰で)、非常に使い勝手がよい。 Amazon EC2 にインスタンスを立てる感覚でマシンを作れる。とてもよい。