Xen 和 Lenny 的那点事

Lenny 正式发布之前终于解决了 dom0 的问题,好像是从蜥蜴那里抄来的 backport 吧,反正不是 pv_ops 的方案。于是最近忍不住把一个运行很好的 dom0 从 Etch 升到 Lenny 了,不为别的就为了 PyGrub,没出息。还好对原来的 Etch/domU 没啥影响而且牠能在 domU 内自己升自己的 kernel 也确实挺方便的。然后又装了个 Lenny/domU,折腾得晕。主要问题及解决办法:

  • 启动 Lenny/domU 过了 crond 之后就失去反应了,但网络是通的,想不明白问题在哪里,干掉重装了几次都不行。而 Etch/domU 就没这毛病。后来谷歌得知新版的 Xen domU 更改了处理 console 的方式(而 Etch 里用的还是 Xen 3.0.3 的),其实系统启动好了只是 tty 没跟 console 挂在一起而已。遂在 domU 的内核参数里加上 xencons=tty ,或者把 /etc/inittab 里的 getty 项改成
1:2345:respawn:/sbin/getty 38400 hvc0

这种样子即可。前一种方法比较传统而后一种比较现代。回头想想, debootstrap 安装的时候没装 ssh server 是个失误,如果启动之前补装了就可以远程登录了。

  • Lenny 里的 update-grub 非常之脑残一定要去找根分区所在的硬盘,问题是我用 LVS 装的,把 dom0 的 LV 导入 domU 当文件系统(没用整个 xvd),这样是不可能找到硬盘的,于是 update-grub 出错,于是一直 broken…… 最后的解决办法是在 rc.local 里加了这么一句:
XVDADEV=/dev/xvda
if test ! -e $XVDADEV; then mknod $XVDADEV b 202 0; fi

并且在 grub 的 device.map 里建立映射,相当无语啊。后来想了想,其实可以在 /etc/kernel-img.cong 里去掉 update-grub 的那两项。在 domU 里装一大堆 kernel 把 grub 启动菜单搞复杂根本没必要,只要有一项就够用。而且即使 testing 的 kernel 版本号也不会经常变,需要的时候手工改一下即可。

另外,把这个 Drupal 站移到 Lenny guest 里会出问题,访问管理页面时 php5 锁住不动了,不论用 FastCGI 方式还是 Apache module 方式都如此,很不解。还是放在外面吧。

评论

发表新评论

此内容将保密,不会被其他人看见。
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.