17.2. 在 KVM 和 Xen 管理程序间互换

这部分论述了在 KVM 和 Xen 管理程序间互换。

Fedora 每次只支持一个活跃管理程序。

在管理程序间迁移虚拟化客户端

目前,没有程序可进行从基于 Xen 客户端向 KVM 的切换或者从基于 KVM 客户端向 Xen 的切换。客户端只能使用创建它们的管理程序类型。

17.2.1. Xen 到 KVM

下面的步骤论述的是从 Xen 管理程序改为 KVM 管理程序。这个步骤假设安装并启用了 kernel-xen 软件包。

  1. 安装 KVM 软件包

    如果您还没有安装 kvm 软件包,则请安装它。

    1. # yum install kvm
  2. 确定所用内核

    可能安装了 kernel-xen 软件包。请使用 uname 命令确定正在运行的内核:

    1. $ uname -r
    2. 2.6.23.14-107.fc8xen

    The “2.6.23.14-107.fc8xen“ kernel is running on the system. If the default kernel, “2.6.23.14-107.fc8“, is running you can skip the substep.

    1. 将 Xen 内核改为默认内核

      grub.conf 文件确定引导的是哪个内核。要更改默认内核请编辑如下所示的 /boot/grub/grub.conf 文件。

      1. default=1
      2. timeout=5
      3. splashimage=(hd0,0)/grub/splash.xpm.gz
      4. hiddenmenu
      5. title Fedora (2.6.23.14-107.fc8)
      6. root (hd0,0)
      7. kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
      8. initrd /initrd-2.6.23.14-107.fc8.img
      9. title Fedora (2.6.23.14-107.fc8xen)
      10. root (hd0,0)
      11. kernel /xen.gz-2.6.23.14-107.fc8
      12. module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
      13. module /initrd-2.6.23.14-107.fc8xen.img

      注意 default=1 参数。提示 GRUB 引导装载程序引导第二个条目,即 Xen 内核。将默认值改为 0(或者代表默认内核的数字):

      1. default=0
      2. timeout=5
      3. splashimage=(hd0,0)/grub/splash.xpm.gz
      4. hiddenmenu
      5. title Fedora (2.6.23.14-107.fc8)
      6. root (hd0,0)
      7. kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
      8. initrd /initrd-2.6.23.14-107.fc8.img
      9. title Fedora (2.6.23.14-107.fc8xen)
      10. root (hd0,0)
      11. kernel /xen.gz-2.6.23.14-107.fc8
      12. module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
      13. module /initrd-2.6.23.14-107.fc8xen.img
  3. 重启载入新内核

    重启该系统。计算机将使用默认内核重启,使用该模块可自动载入 KVM 模块。验证 KVM 请运行:

    1. $ lsmod | grep kvm
    2. kvm_intel 85992 1
    3. kvm 222368 2 ksm,kvm_intel

    如果一切正常,则会出现 kvm 模块和 kvm_intel 模块或者 kvm_amd 模块之一。