12月 202012
 

 最近、公私ともに KVM による仮想環境を割と使っているのだが、管理については適当で、virsh で操作する程度だった。とはいえ、完全仮想化した CentOS を大量に飼ってたり VNC でコンソールに接続する際に virsh vncdisplay → vncviewer に接続先入力といった面倒がちょこちょこ発生したりして面倒なので、遅ればせながら virt-manager を使ってみた。

 要件としては、

  • KVM ホストに対して SSH でリモート接続。
  • SSH は公開鍵認証。
  • 秘密鍵のファイル名はデフォルト以外のものにしたい。

といったところだろうか。

Continue reading »

9月 172011
 

 前回、kvm ゲストとして Gentoo Linux をインストールしたが、このままだとゲスト環境の NIC やストレージ周りが実際のハードウェアをエミュレーションしているため、オーバーヘッドが大きくなる。そのため、これらを VirtIO と呼ばれる準仮想化デバイスに置き換えてオーバーヘッドを減らす。

Continue reading »

9月 162011
 

 以前、Gentoo Linuxベースの kvm ホストを作成するところまで紹介したが、次は kvm 上で動くゲストに Gentoo Linux をインストールする。

 まずディスクの準備をする必要がある。kvm 関係の記事をググるとよく raw イメージや qcow2 で仮想ディスクを作っているが、開発環境で検証していたときは qcow2 で運用していたものの、最終的に Xen から引き続き LVM で仮想ディスクを作成した。ディスクイメージのほうがポータブルではあるが、今回はそもそもポタービリティが必要ではないこと、バックアップで LVM スナップショットを使いたかったことによる。

Continue reading »

9月 152011
 

 ここ数ヶ月ほど kvm をいじっていたが、その結果を踏まえて Xen から kvm に移行することにした。ホストに Linux のみを使う前提だと Xen のメリットは

  • これまでの実績。
  • Linux 上で動作するのではなく、Xen ハイパーバイザ上で全てのドメインが動いている。
  • 準仮想化環境において共通のカーネルイメージを使用できる。
  • 遅ればせながら dom-0 向け機能がバニラカーネルにマージされた。

それに対して kvm は

  • 早い時期にカーネルにマージされた。
  • 開発の迅速さ。
  • ホストとなる Linux カーネル上で動作しているため、パワーマネジメントなどカーネルの機能を使える。
  • 各ゲストはホスト上では 1 プロセスとして見え、負荷や使用リソースを容易に観測できる。
  • VirtIO で準仮想化っぽいことも可能。

Continue reading »

7月 272011
 

 これまで VMware ESXi, Xen と試してみたが、Linux と親和性が高いと言われる仮想環境としては、他に RedHat が強くプッシュする KVM (+ QEMU) がある。KVM というと、Keyboard, Video and Mouse のほう、KVM 切替器を思い出してしまうが、今回は Kernel-based Virtual Machine のほうである。せっかく色々と試せるマシンもあるので、今回はこれを試してみた。

 KVM の特徴としては、

  • KVM は CPU + メモリ周り + ごく一部の I/O しかエミュレートしない。I/O 周りは QEMU などを組み合わせて使う。
  • 先にカーネルにマージされたこともあり、Xen より開発が活発。
  • ハイパーバイザ側、仮想側ともにバニラカーネルで動作する。
  • バニラカーネルで動作するので、使うハードウェアはバニラカーネルで動けば問題ない。(ここは基本的に Xen と同じ)
  • 基本的に完全仮想化だが、Virtio という I/O 周りの準仮想化ドライバも存在する。
  • Xen と同じく libvirt で管理可能。

あたりだろうか。バニラカーネルで動作するのは最新カーネルが動作するという意味で Xen に大して優位性があったが、Xen もカーネル 3.0 から正式に dom-0 向けの機能がマージされたので、ここは大きな優位性ではなくなった。

Continue reading »