Xen 正式进入 Linux 内核

最近 Linux 内核方面有些感兴趣的新闻, Linus Torvalds 低调的在 Git 内核源代码管理里面加了 Linux 3.0-rc1,正式拉开了 Linux 3.0 的序幕。就下一代 Linux 版本号的选择,Linus 曾经纠结了一段时间,Linus 也强调 3.0 不是里程碑式版本,没有任何重大更新,选定 3.0 这个版本的主要想标注 Linux 诞生20年(在 Linus 看来20年就是个里程碑),还有个原因就是自己不能忍受 2.6.40 以上的版本号。

I decided to just bite the bullet, and call the next version 3.0. It will get released close enough to the 20-year mark, which is excuse enough for me, although honestly, the real reason is just that I can no longer comfortably count as high as 40.

让我们刚兴趣的内核变化不是版本号,是从内核 2.6.39+ 开始 Linux 内核全面、正式的开始支持 Xen,也就是说大家以后编译 Xen 内核的时候不用打补丁了,不用找对应的 Xen 和 Linux kernel 版本号了,可以直接在配置和编译 Linux 内核的时候用 make menuconfig 来勾选 Xen 模块。这将大大增加 Xen 的方便性,继续扩大 Xen 在数据中心的应用。最近 RedHat 和 Ubuntu 纷纷在他们的产品线中抛弃 Xen 选择 KVM 令 Xen 社区非常不安,随着 Xen 正式加入 Linux 内核,给 Xen 社区带来振奋人心的信心,Xen vs KVM 又值得重新考量了。作为一家 Xen VPS 服务商,我们将继续支持 Xen,把 Xen 进行到底。

感谢 Xen 社区四年来为此所做的努力!

评论 (13 Comments)

  1. KVM和Xen在做底下的博弈么?

  2. LZ糊人的吧,我去kernelorg下载的版本内核,发现没有一个Xen的选项,虚拟化下面依旧只有KVM

  3. 你可能找错地方了,Xen 主要部分在 Device Drivers->Xen driver support 下面,其他部分分散在其他地方。

  4. 是不是由于Python的前车之鉴:-D 版本号导致网站打不开了

  5. 楼主,我下载了一个3.0 rc4版本的内核,在device drivers里怎么没有找到xen相关的配置,这是怎么回事?

  6. 确实没找到xen选项

  7. 我也遇到了Device Drivers —> Xen driver support这个选项失踪的问题。初步检查了一下,它与机器架构与系统配置有关。

    在硬件方面,处理器支持虚拟化应该是必须的。

    在软件方面,无法显示该选项的原内核为3.0.0-12-generice(Ubuntu 11.10 desktop原装)。我换了一个内核3.0.0-13-generic-pae启动机器,再make menuconfig就找到它了。

    安装3.0.0-13-generic-pae的命令为sudo apt-get install linux-image-server。

  8. vpsee,不好意思,又是我….,目前遇到几个问题,一开始用的2.6.33内核,打好了xen-patches,但是编译内核的时候出现错误。
    ======================================================
    arch/x86/kernel/acpi/processor_extcntl_xen.c: In function ‘xen_cx_notifier’:
    arch/x86/kernel/acpi/processor_extcntl_xen.c:63: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:64: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:65: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:66: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:67: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:70: 错误:‘struct acpi_processor_cx’ 没有名为 ‘csd_count’ 的成员
    make[3]: *** [arch/x86/kernel/acpi/processor_extcntl_xen.o] 错误 1
    make[2]: *** [arch/x86/kernel/acpi] 错误 2
    make[1]: *** [arch/x86/kernel] 错误 2
    make: *** [arch/x86] 错误 2

    ======================================================
    之后我又尝试了3.*.*版本的内核,但是在make menuconfig的时候没有查找的xen相关选项,像LS说的,需要硬件与软件的支持,物理主机本身支持intel vt-x,但是我在主机中创建了一个DomU,在DomU上编译的Xen和内核,不知道有什么影响么?请问有没有什么方便些的联系方式,如果可以的话,可不可以告诉一下,这样方便交流。谢谢

  9. @wang_nets
    Xen PV 不需要物理主机支持 Intel VT-d. 不太明白你的意思,你在主机里创建了 domu,说明你的 xen/dom0/domu 都安装成功了,为什么要在 domu 上再编译 xen 和内核?

  10. 呵呵,就是我不确定我的xen能否编译成功,先新建了一个虚拟机也就是DomU吧,我是通过virtual-manage图形化界面创建的,记得其中有个下拉列表可以选择虚拟化类型,但是其中只有qemu,这个应该指的是HVM吧。说白了也就是在Dom0中又嵌套了一个虚拟机。之后就报上面的错误。最后在物理机上尝试的,没问题,成功了!

  11. 那3.0以后的内核是不是不再实现vtpm后端驱动了呀?

  12. @zffl 在Device Drivers下面没有xen driver support 选项是因为,之前没有在Processor type and features下选中Paravirtualized Guest Support。

  13. 请问我在物理机上出现
    =====================
    arch/x86/kernel/acpi/processor_extcntl_xen.c: In function ‘xen_cx_notifier’:
    arch/x86/kernel/acpi/processor_extcntl_xen.c:63: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:64: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:65: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:66: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:67: 错误:‘struct acpi_processor_cx’ 没有名为 ‘reg’ 的成员
    arch/x86/kernel/acpi/processor_extcntl_xen.c:70: 错误:‘struct acpi_processor_cx’ 没有名为 ‘csd_count’ 的成员
    make[3]: *** [arch/x86/kernel/acpi/processor_extcntl_xen.o] 错误 1
    make[2]: *** [arch/x86/kernel/acpi] 错误 2
    make[1]: *** [arch/x86/kernel] 错误 2
    make: *** [arch/x86] 错误 2
    怎么办呀……

发表评论