• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

UBuntu系统安装KVM创建虚拟机遭遇故障的解决方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本次在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。
localdomain是因为host机器的/etc/hosts中配置成了:


复制代码
代码如下:

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配置。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Ubuntu 11.04 安装后要做的20件事情分享发布时间:2022-02-11
下一篇:
Ubuntu安装英汉词典(词库)详细步骤发布时间:2022-02-11
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap