UBuntu系统安装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 interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet staticaddress 192.168.1.51netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255gateway 192.168.1.1# dns-* options are implemented by the resolvconf package, if installeddns-nameservers 8.8.8.8dns-search localdomain

这个dns-search localdomain看上去很奇怪。一般是defaultdomain。

localdomain是因为host机器的/etc/hosts中配置成了:

127.0.0.1 localhost.localdomain dbkvm

将其换成这种配置:

127.0.0.1 localhost127.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 vm1Domain vm1 startedroot@dbkvm:~/kvm_scripts# virsh console vm1Connected to domain vm1Escape character is ^]Ubuntu 12.04.2 LTS vm1 ttyS0vm1 login: rootPassword:Last login: Thu May 2 09:21:03 UTC 2013 from 192.168.1.4 on pts/1Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-41-virtual x86_64)

可以了。所有问题的根源都出在那个不正确的host机器上的/etc/hosts配置。

(0)

相关推荐

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

    本次在UBuntu12.04.2系统安装KVM,随后创建虚拟机,又出现了新的问题。 现象: ping不通虚拟机,ssh登录不上,console方式登录不上, 虚拟机无法shutdown,貌似电源管理也 ...

  • 在Ubuntu的KVM中安装Windows系统的方法

    为什么要折腾 KVM 虚拟机 最近因为公司的事情,没有太多时间进行写作,就用一篇技术类的文章来凑数吧. 事情是这样的,我们公司有一个小东西是基于嵌入式的系统开发的,不属于 Android 也不属于 i ...

  • 开启Windows 8自带Hyper-V功能创建虚拟机

    Hyper-V组件早期是配备在微软Windows服务器中便于创建、管理虚拟化服务器计算环境。Windows 8系统首次将企业用的Hyper-V功能集成在个人系统中,其功能与VMware及Virtual ...

  • 怎么用VMware创建虚拟机并安装系统

    VMware是现在十分常用的一款虚拟机软件,有些用户不知道怎么用该软件创建虚拟机并安装系统,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步打开电脑中的[VMware]软件,根据下 ...

  • 怎么用群晖创建虚拟机

    在群晖Synology的6.0系统后,新增了一个叫Virtual Machine Manager的套件.这个套件能让我们在群晖上创建虚拟机,比如安装一台Windows系统或Linux系统的虚拟机,将群 ...

  • vmware workstation11创建虚拟机教程(含秘钥)

    本人电脑安装的是Win8.1系统,自带的IE11目前不好卸载,公司开发的网站都是在IE8_IE10之间的,苦逼的框架不支持IE11,为了能拿笔记本学习.但是不想重装系统,只能如此.下边记录了创建虚拟机 ...

  • 使用Win8自带组件Hyper-V创建虚拟机图文教程

    创建虚拟机的方法有很多种,不过你可知道Win8自带的组件也能创建虚拟机吗?其实Win8系统首次将企业用的自带组件Hyper-V功能集成在了个人系统中,它的功能与VMware及VirtualBox等虚拟 ...

  • 如何使用Win8自带组件创建虚拟机

    Win8中使用Hyper-V功能要求如下: 系统要求:32位和64位的Windows 8均可开启Hyper-V功能,但是只有64位的Windows 8可以创建虚拟机,32位的系统却不可以,只能进行虚拟 ...

  • WindowsServer2012VDI标准部署之创建虚拟机集合

    本篇博文来介绍如何创建虚拟机集合,在创建集合之前,我们首先需要确认要创建那一种的集合类型,在远程桌面服 务中,提供两种虚拟机集合:个人和共用。另外,根据是否自动创建和管理虚拟机来区分,又分为托管和非托 ...