RH7.3 は、Web サーバとして使っている程度なのだが、これまで7年ほど安定して動いていたし、全く新しくサーバを作るというのも面倒(と思えるだけ?)なので、そのまま丸ごと p2v しようと調査している。
まずは、CentOS5.5 の KVM 上で、RH7.3 がどの程度動くものか調査。RH7.3 を最小インストールしたところ、まあ普通に動いた。が、どうにもI/O性能が低い。これは、KVM の設定で、writeback に変更して解決。
<disk type='block' device='disk'> <driver name='qemu' cache='writeback'/> <source dev='/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part5'/> <target dev='hda' bus='ide'/> </disk>次に、パワーオフ(shutdown -h now)がうまくいかず。ブートオプション apm=power_off を追加して解決。ここで、apm=power_off,realmode_power_off のように、後ろに realmode_power_off をつけてしまうと、パワーオフ(shutdown -h now)をやっても、リブートしてしまうので注意。
title Red Hat Linux (2.4.20-46.7.legacysmp) root (hd0,0) kernel /vmlinuz-2.4.20-46.7.legacysmp ro root=/dev/hda2 apm=power_off initrd /initrd-2.4.20-46.7.legacysmp.imgちなみに、KVM ゲストが RHEL3 の場合も、これでパワーオフできるようになります。
2011-02-19追記
VMware 上で RHEL3 を動かす場合にも、apm=power_off は効きます。わたしが利用しているのは、VMware Server 1.0 と VMware Player です。
2011-03-27追記
realmode_power_off を打ち間違えて、real_mode_power_off と記載していましたので、修正しました。なお、この辺のパラメータに対応するコードは、arch/i386/kernel/apm.c にあります。
static int __init apm_setup(char *str) { ... if ((strncmp(str, "power-off", 9) == 0) || (strncmp(str, "power_off", 9) == 0)) power_off = !invert; if ((strncmp(str, "allow-ints", 10) == 0) || (strncmp(str, "allow_ints", 10) == 0)) apm_info.allow_ints = !invert; if ((strncmp(str, "broken-psr", 10) == 0) || (strncmp(str, "broken_psr", 10) == 0)) apm_info.get_power_status_broken = !invert; if ((strncmp(str, "realmode-power-off", 18) == 0) || (strncmp(str, "realmode_power_off", 18) == 0)) apm_info.realmode_power_off = !invert; ...2014-05-02追記
その後、実際に引っ越して一年以上運用しているが、問題なし。