linux kernel 2.6.32+ 编译XEN DomU的问题

    要死了,大过年的,突然心血来潮,想把公司服务器的XEN客户机内核版本升级一下,从下午4点一直弄到现在-半夜2点,终于放弃了。


    话说今天闲逛了一下xen的官网,发现一个振奋人心的旧新闻--xen从linux内核的3.0开始,dom0代码也进入主线了,以后升级dom0再也不需要再给内核打补丁了,这意味着什么?意味着我无需再苦苦彷徨在xen与kvm之间做抉择了。

    我为什么会这么说呢?这要从我的xen使用经历说起,在我09年打算安装第一台虚拟机服务器的时候,我面临着3个选择:vmwave、xen、kvm,当时那台服务器只有2G的内存,CPU也不支持VT-x,再考虑到vmware的esi版本是要钱的,最后只有选择了xen,老实说,当时我是非常中意kvm的,因为kvm已经进入了linux主线,这就意味着他未来的发展前景会很好,可惜我的cpu不支持,无奈之下才选择了xen。说到这,有的朋友会问我了,除了xen,还可以选择vmware server和virtualbox啊。神马玩意嘛,vmware server和virtualbox是需要起xwindow的,我这可怜的2G内存,再起个xwindow,再加上性能损失,我还要不要活了我。

    后来,又陆陆续续的装了2台xen,现在,我手头上就有3台xen的主机了,后面的xen是越装越灰心,我在陆陆续续的给我的服务器上xen,陆陆续续的在网络上看到越来越多的发行版从默认的xen改成kvm,这可是很要命的,要是哪天debian(我用的是debian的发行版)不支持xen了,那我不惨了,改装kvm,管理两种类型的虚拟机,可是很累的。你可千万别跟我说迁移到kvm之类的话,先不说老的服务器不支持VT-x技术,就算是支持,我进趟机房也不是容易的事情。


    聊着聊着,聊远了,言归正传,就是看到了官方的这条旧新闻,我一下子心血来潮,突然想把虚拟机的内核版本升到3.0以上,当然,除了想升级到3.0以外,也想定制一下内核,把一些不需要的选项去掉,让它更小,占内存更少。好吧,想到就做,于是远程上公司的服务器,开始我这大半天的饱受虐待之旅。


    先是去http://www.kernel.org,下载了最新版本的内核3.2.2,解压,然后make menuconfig,然后从头开始配置。。。挑挑选选挑挑选选,配了大半天,快配完的时候,我才发现,怎么没找到xen guest支持的选项?怎么回事?明明2.6.27以后,xen的DomU代码已经进入内核主线了啊,怎么会没有了,难道3.2.2又把xen的支持删掉了?

    赶紧上网google一下,谷了大半天,硬是没找到我要的内容,好吧,那我就暂且认为3.2.2暂时去掉了xen的支持,我又去重新下了个3.0版本,下回来配置的时候,还是没发现xen的选项,我生气了,你不支持是吧,不支持算了,我直接用apt-get install linux-source-2.6.32.5,从debian的源下载,我不用3.0以上版本了,我用2.6的还不行吗?结果。。。还真的是不行,解压后还是没有xen的配置选项。

    这都怎么回事啊,我晕了,我想到了一个法子,正好我下载了2.6.32版本的,而我目前用的内核就是2.6.32的,直接从/boot处把config-2.6.32-5-xen-686配置文件拷贝到我的源代码路径,改名成.config,这下好了,xen guest那久违的选项出现了。看来,不是xen的代码被删除了,而是我配置内核的时候,某个选项的变更导致xen guest这个选项不出现了,于是我开始了漫长的查找,把每个可疑的选项都尝试了一遍,依然没找到那个选项是关联到这个的,我不管了,反正出现了,我就开始配置吧,配啊配的,到配完了,我转回一看,xen guest又不见了。。。。。。。经过N分钟(N>=30)的查找,终于被我找到了,是大内存支持处,该处有3个选项off/4GB/64GB,我当时配置的时候想的是我的虚拟机用不了这么大的内存,所以选了4GB的选项,就是这,只有选64GB,xen guest这个选项才会出现。


    泪流满面啊。。。这大过年的,也不让人省心点,还好,找到了就好,找到了,我还是换3.2.2内核吧,毕竟那是我升级的初衷之一嘛,于是又开始了漫长的内核配置之路,精挑细选,把所有我用不上的都禁用了,终于配置完了,开始make bzImage modules install modules_install,等了一会,上了会网,转回来一看,内核编译好了,配了个虚拟机,开始启动,xm create tmpos; xm console tmpos; 启动的时候,老是在磁盘检查处报错,重启几次都这样,而且根目录被mount成只读模式,想不明白,干脆直接把脚本中的关于fsck的地方禁用了,禁止磁盘检查,再重启。。。还是会报错,磁盘依旧被mount成只读模式。

    。。。。。。崩溃了,2点了,不知道是不是dom0与domU的前后端磁盘驱动不兼容,我也不想知道了,本来升级就不是必须的,dom0我是打死也不会去升级的,既然可能是不兼容的问题,我不升级了,还不行吗,哥惹不起,总躲得起吧。收工!

你可能感兴趣的:(vmware,linux,虚拟机,Debian,服务器,xen)