• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    UBuntu系统安装KVM创建虚拟机遭遇故障的解决方法

    本次在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配置。

    上一篇:Ubuntu 11.04 安装后要做的20件事情分享
    下一篇:Ubuntu安装英汉词典(词库)详细步骤
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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