虚拟机技术已经实用的非常普遍了(起码在自己公司是这样的)。我尤其偏爱XEN的虚拟技术(不过我也承认,也许是因为比较熟悉)。

        近日碰到了一个小问题,就是使用xm console 命令连接guest主机的时候,有的主机这个命令就是没有任何反应,虽然可以是用VNC的console界面,但是出于安全考虑,防火墙的IPTABLES都是关闭的,且我们使用专门的VM server,都是较为精简的,起码没有图形界面。

        检查了一圈,发现了问题的端倪:

        1. 虚拟化安装时出了问题:

            没有使用Paravirtualized virtualized guest ,无法直接连接。

            检查/etc/grub.conf文件:

   
   
   
   
  1. default=0 
  2. timeout=5 
  3. splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz 
  4. hiddenmenu 
  5. title Red Hat Enterprise Linux Server (2.6.18-164.el5) 
  6.         root (hd0,0) 
  7.         kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00  rhgb quiet 
  8.         initrd /initrd-2.6.18-164.el5.img 

           使用了fully virtualized guest的虚拟机建立方式。

         2. 方式没有问题,但是grub文件配置不对

   
   
   
   
  1. default=0 
  2. timeout=5 
  3. splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz 
  4. hiddenmenu 
  5. title Red Hat Enterprise Linux Server (2.6.18-164.el5xen) 
  6.         root (hd0,0) 
  7.         kernel /vmlinuz-2.6.18-164.el5xen ro root=/dev/VolGroup00/LogVol00  rhgb quiet 
  8.         initrd /initrd-2.6.18-164.el5xen.img 

         主要缺少了console=xvc0 这个配置

        正确的文件配置:       

   
   
   
   
  1. default=0 
  2. timeout=5 
  3. splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz 
  4. hiddenmenu 
  5. title Red Hat Enterprise Linux Server (2.6.18-164.el5xen) 
  6.         root (hd0,0) 
  7.         kernel /vmlinuz-2.6.18-164.el5xen ro root=/dev/VolGroup00/LogVol00 console=xvc0 rhgb quiet 
  8.         initrd /initrd-2.6.18-164.el5xen.img 

        修改这个配置后,重启guest,可以正常连接。

        --以上配置和修改为RHEL系统。

        --EOF