在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本次在UBuntu12.04.2系统安装KVM,随后创建虚拟机,又出现了新的问题。 现象: ping不通虚拟机,ssh登录不上,console方式登录不上, 虚拟机无法shutdown,貌似电源管理也没有安装成功。 先来解决网络问题: 还好可以通过virt-cat来检查虚拟机内部的文件。 先关闭虚拟机 virsh destroy vm1然后检查网卡设置文件: 复制代码 代码如下: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。 复制代码 代码如下:127.0.0.1 localhost.localdomain dbkvm 将其换成这种配置: 复制代码 代码如下:127.0.0.1 localhost 127.0.1.1 dbkvm 再创建虚拟机,网络正常了。可以ping通,可以ssh登录。 console问题还有。 虚拟机里面的网络设置dns-search 被设置成了defaultdomain。 因此推测是hosts文件的配置错误,导致虚拟机中网卡设置的dns-search错误,导致无法连接网络,因此不能在创建过程中从网络下载安装openssh-server. 来看一下电源管理 如果不安装电源管理,就不能在host主机通过shutdown关闭虚拟机。 在创建vm的选项中需要补上: 复制代码 代码如下:--addpkg=acpid 事后弥补就要登录到虚拟机中,然后运行命令: 复制代码 代码如下:apt-get install acpid 再来处理console不能登录的问题。 先停止虚拟机。 复制代码 代码如下:virsh stop vm1 准备一个文件ttyS0.conf, 内容如下: 复制代码 代码如下:# 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程序: 复制代码 代码如下:apt-get install guestfish 现在用virt-copy-in将文件复制到vm的/etc/init目录中: 复制代码 代码如下:virt-copy-in -d vm1 ttyS0.conf /etc/init 然后调用virsh edit vm1 来编辑vm1的配置文件,添加下面的内容: 复制代码 代码如下:<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> 最后试用一下: 复制代码 代码如下: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配置。 |
请发表评论