Home > Admin | Linux > XenからKVMへ、ファイルからLVMへ

XenからKVMへ、ファイルからLVMへ


この日記が動いてるサーバはまだXenですが、新しく仮想マシンをたくさん作る機会があったので、XenからKVMに乗り換えました。OSはdebootstrapになっていますが、virt-installで強引なことしているのでDebianじゃなくてCentOSに入れ替わっています。

# gnt-instance list
Instance           Hypervisor OS          Primary_node    Status     Memory
admin1.example.org   kvm        debootstrap node1.example.org running      1.0G
admin2.example.org   kvm        debootstrap node2.example.org running      1.0G
cron1.example.org    kvm        debootstrap node1.example.org running      1.0G
db1.example.org      kvm        debootstrap node1.example.org running      1.0G
ftp1.example.org     kvm        debootstrap node2.example.org running      512M
irc1.example.org     kvm        debootstrap node1.example.org running      512M
lvs1.example.org     kvm        debootstrap node2.example.org running      512M
lvs2.example.org     kvm        debootstrap node1.example.org running      512M
mail1.example.org    kvm        debootstrap node1.example.org running      1.0G
mail2.example.org    kvm        debootstrap node2.example.org running      1.0G
nouse.example.org    kvm        debootstrap node2.example.org ADMIN_down      -
template.example.org kvm        debootstrap node1.example.org ADMIN_down      -
web1.example.org     kvm        debootstrap node2.example.org running      1.0G
web-ssl1.example.org kvm        debootstrap node1.example.org running      1.0G
web-ssl2.example.org kvm        debootstrap node2.example.org running      1.0G

ディスクイメージもファイルからLVMへ乗り換えました。I/O的にも早くなりましたし、1仮想マシンに1LV割り当てたのでライブマイグレーションも出来るようになりました。

# cat /proc/drbd
version: 8.3.2 (api:88/proto:86-90)
GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by mockbuild@v20z-x86-64.home.local, 2009-08-29 14:07:55

 1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:1030228 nr:0 dw:1030228 dr:515856 al:499 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
 2: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:684592 dw:684592 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
 3: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:282556 nr:0 dw:282556 dr:432780 al:226 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
 4: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:594628 dw:594628 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
 5: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:281224 nr:0 dw:281224 dr:433112 al:242 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
 6: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:281116 dw:281116 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
 7: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:281048 nr:0 dw:281048 dr:432008 al:227 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
 8: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:283900 dw:283900 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
 9: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:286256 nr:0 dw:286256 dr:430084 al:242 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
10: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:281384 dw:281384 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
11: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:306608 nr:0 dw:306608 dr:532548 al:286 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

13: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:681680 nr:0 dw:681680 dr:823276 al:468 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
14: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:571076 dw:571076 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

100: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:48640 nr:0 dw:48640 dr:217 al:23 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
101: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r----
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:188

今回KVMを使ってみて、XenとKVMでは、ホストマシン上でのCPU(uptime)とメモリ(free)の表示が違っていることに気付きました。

Xenを使った時のuptimeの表示は、ホスト側も特殊なDom0 Kernelなのでゲスト側でCPUに負荷が掛かってもホスト側のuptimeにその負荷具合が反映されませんでした。一方、KVMの場合はゲストマシンは1プロセスとして見えるので、ゲスト側に負荷を与えるとホスト側のuptimeの表示に負荷具合が反映されました。

Xenを使った時のfreeの表示は、dom_mem0を指定していない場合、割り当てたメモリ分だけtotalの値が減り、ホスト側では見えなくなります。一方、KVMの場合は起動時に指定したメモリを上限とし、実際にゲスト上でメモリが使用されるとホスト側のfreeが消費されてusedが増えていき、totalの値は常に物理メモリの量のままでした。つまり常に動的なバルーン機能が働いているような状態。もしくは、Sparseファイルのメモリ版のような状態。

どちらが良いかは好みですが、ホスト側で状況を把握できるKVMの方が良い気がしています。あと、最近はXenよりKVMが推されているようなので今後はXenとKVMどちらでも良い場合はKVMを使っていこうと思っています。

この記事に関連する別の記事:

  1. DRBD 8.xで初期同期をスキップする方法 DRBD 8.xでの初期同期をスキップする日本語での説明が無さそうなので、メタデータの状態がどのように変わっていくのかを説明しながら書きます。手順的にはLINBITのWikiに書いてある手順そのままです。 How to [...]...
  2. DRBD 8.3.x + Heartbeat 2.1.4 + CRMのDRBDリソース を使用する場合の修正 DRBD 8.3.x + Heartbeat 2.1.4 を使用する場合、この修正が必要です。 DRBD 8.2.x + Heartbeat...
  3. DRBDとクラスタファイルシステムのテストで手詰まり中 (解決済み) ...

コメント:0

コメントフォーム
Remember personal info

トラックバック:0

このエントリーのトラックバックURL
http://jfut.integ.jp/2009/10/30/xen%E3%81%8B%E3%82%89kvm%E3%81%B8%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89lvm%E3%81%B8/trackback/
Listed below are links to weblogs that reference
XenからKVMへ、ファイルからLVMへ from ふたつの川うるおう日記

Home > Admin | Linux > XenからKVMへ、ファイルからLVMへ

検索
フィード
メタ情報

Return to page top