KVM故障调试经验
  • KVM故障调试经验 本次在UBuntu12.04.2系统安装KVM,随后创建虚拟机,又出现了新的问题。现象:ping不通虚拟机,ssh登录不上,console方式登录不上, 虚拟机无法shutdown,貌似电源管理也没有安装成功。 先来解决网络问题:还好可以通过virt-cat来检查虚拟机内部的文件。先关闭虚拟机[plain] virsh destroy vm1   然后检查网卡设置文件:[plain] root@dbkvm:~# virt-cat -d vm1 /etc/network/interfaces  # This file describes the network interfaces available on your system  # and how to activate them. For more information, see interfaces(5).    # The loopback network interface  auto lo  iface lo inet loopback    # The primary network interface  auto eth0  iface eth0 inet static          address 192.168.1.51          netmask 255.255.255.0           network 192.168.1.0          broadcast 192.168.1.255          gateway 192.168.1.1           # dns-* options are implemented by the resolvconf package, if installed          dns-nameservers 8.8.8.8          dns-search localdomain   这个dns-search localdomain看上去很奇怪。一般是defaultdomain. localdomain是因为host机器的/etc/hosts中配置成了[plain] 127.0.0.1       localhost.localdomain dbkvm   将其换成这种配置:[plain] 127.0.0.1   localhost  127.0.1.1   dbkvm  再创建虚拟机,网络正常了。可以ping通,可以ssh登录。 console问题还有。虚拟机里面的网络设置dns-search 被设置成了defaultdomain. 因此推测是hosts文件的配置错误,导致虚拟机中网卡设置的dns-search错误,导致无法连接网络,因此不能在创建过程中从网络下载安装openssh-server. 来看一下电源管理如果不安装电源管理,就不能在host主机通过shutdown关闭虚拟机。在创建vm的选项中需要补上:[plain] --addpkg=acpid   事后弥补就要登录到虚拟机中,然后运行命令:[plain] apt-get install acpid    再来处理console不能登录的问题。先停止虚拟机。[plain] virsh stop vm1   准备一个文件ttyS0.conf, 内容如下:[plain] # ttyS0.conf - getty  # This service maintains a getty on ttyS0 from the point the system is  # started until it is shut down again.    start on stopped rc RUNLEVEL=[2345]  stop on runlevel [!2345]  respawn   安装guestfish程序[plain] apt-get install guestfish   现在用virt-copy-in将文件复制到vm的/etc/init目录中:[plain] virt-copy-in -d vm1 ttyS0.conf /etc/init   然后调用virsh edit vm1 来编辑vm1的配置文件,添加下面的内容:[html] <devices>    ...    <serial type='pty'>      <source path='/dev/pts/2'/>      <target port='0'/>    </serial>    <console type='pty' tty='/dev/pts/2'>      <source path='/dev/pts/2'/>      <target port='0'/>    </console>  </devices>   最后试用一下:[plain] virsh start vm1  Domain vm1 started    root@dbkvm:~/kvm_scripts# virsh console vm1  Connected to domain vm1  Escape character is ^]    Ubuntu 12.04.2 LTS vm1 ttyS0    vm1 login: root  Password:   Last login: Thu May  2 09:21:03 UTC 2013 from 192.168.1.4 on pts/1  Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-41-virtual x86_64)   可以了。 所有问题的根源都出在那个不正确的host机器上的/etc/hosts配置。 

     

  • 点这里复制本页地址发送给您QQ/MSN上的好友
  • 300*300广告