专栏首页敏而好学kvm常见故障及解决方案

kvm常见故障及解决方案

一、启动虚拟机Connection reset by peer

# virsh start vmhost1error: Failed to start domain vmhost1error: Unable to read from monitor: Connection reset by peer

在虚拟机运行过程中关闭宿主服务器就有可能导致这种情况出现,由于宿主服务器中的kvm虚拟机控制器与安装在kvm中的虚拟机会话被异常重置,所以我们可以如下解决:

# virsh managedsave-remove vmhost1# virsh start vmhost1

如果启动查看/var/log/libvirt/qemu/vmhost1.log下log还报如下错误:

Cannot set up guest memory 'pc.ram': Cannot allocate memory

这个问题可能是分配给vmhost1分配的内存过大(甚至超过的物理主机的内存大小),或者可能是宿主机没有足够的内存分配给此虚拟机,导致无法启动!

二、重Define虚拟机时无/usr/bin/kvm

error: Failed to define domain from hostname.xmlerror: Cannot find QEMU binary /usr/bin/kvm: No such file or directory

解决方法:

# ln -s /usr/libexec/qemu-kvm /usr/bin/kvm

三、error: internal error process exited while connecting to monitor

# virsh start vmhost1  
error: Failed to start domain vmhost1error: internal error process exited while connecting to monitor: kvm: -drive file=/dev/sp1368155439693/v1368544020461,if=none,id=drive-virtio-disk0,format=qcow2: could not open disk p_w_picpath /dev/sp1368155439693/v1368544020461: Invalid argument

分析:镜像格式错误,用qemu-img info 检查镜像和xml配置文件中指定的type是否一致!

四、Unable to load library 'virt': libvirt.so

Unable to load library 'virt': libvirt.so: cannot open shared object file: No such file or directoryLinux下解决:      ln -s /usr/lib/libvirt.so.0   /usr/lib/libvirt.so

windows下解决:
      将libvirt-0.dll改名为virt.dll

五、error: Refusing to undefine while domain managed save p_w_picpath exists

# virsh undefine vmhost1error: Refusing to undefine while domain managed save p_w_picpath existshttp://www.redhat.com/archives/libvir-list/2011-July/msg01219.html

解决方法:virsh undefine $domain  --managed-save

六、启动libvirtd进程出错

# /usr/local/sbin/libvirtd -d -l --config /usr/local/etc/libvirt/libvirtd.conf (编译安装的启动方式)
error:/usr/local/sbin/libvirtd: initialization failed
try to install libpcap-devel RPM and rebuild libvirt  http://comments.gmane.org/gmane.comp.emulators.libvirt/58218apt-get install libpcap-dev
上面的方法好像都没有效果,但是尝试了http://wiki.libvirt.org/page/The_daemon_cannot_be_started说的,把配置文件里的
listen_tls = 0注释取消(更奇怪的问题,在我的客户端链接不对)

七、启动虚拟机报错

# virsh start vmhost1error: Failed to start domain vmhost1error: internal error process exited while connecting to monitor: Could not access KVM kernel module: No such file or directoryfailed to initialize KVM: No such file or directoryNo accelerator found!

上面的提示信息就是因为QEMU在初始化阶段因为无法找到kvm内核模块。

# modprobe kvm   #载入指定的模块

重启电脑,进入bios界面,设置advance选项里面的virtualization标签为Enabled

通过命令 lsmod | grep kvm    #显示已载入的模块

八、虚拟机迁移

# virsh migrate --live 1 qemu+tcp://192.168.0.121 --p2p --tunnelled --unsafe error: operation failed: Failed to connect to remote libvirt URI qemu+tcp://192.168.0.121(在URI后面加上/system,‘system’相当于root用户的访问权限)

#virsh migrate --live 2 qemu+tcp://192.168.0.121/system --p2p --tunnelled
 error: Unsafe migration: Migration may lead to data corruption if disks use cache != none(加上--unsafe参数)#virsh migrate --live 2 qemu+tcp://192.168.0.121/system --p2p --tunnelled --unsafe error: Timed out during operation: cannot acquire state change lock (启动虚拟机有时也会遇此错误),需要重启libvirtd进程

九、virsh

error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Connection refused(libvirtd 进程没有启动,libvirtd是一个监听客户端请求的进程)# virsh -c qemu:///system listerror: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied
error: failed to connect to the hypervisor
(当前用户没有权限,修改/etc/libvirt/libvirtd.conf,unix_sock_rw_perms = 0777,使所有用户都有权限读写)

转:http://openskill.cn/article/146

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IP地址常识

       公有地址(Public address)由Inter NIC(Internet Network Information Center 因特网信息中心)负...

    党志强
  • GlusterFS标准posix接口兼容性测试说明

        默认情况下,glusterfs 3.6.4客户端挂载glusterfs文件系统,使用pjd-fstest-20080816测试,会报如下错误:

    党志强
  • Easy Basic HTTP authentication with Tornado

    I recently got a chance to play around with Tornado, which is pretty neat (altho...

    党志强
  • 走近科学 | ”种子“的前世今生

    *本文原创作者:追影人 0x00 前言 “种子”是生命的起点,是未来的希望,同时也解决了无数宅男腐女的寂寞时光。本文将带领各位童鞋了解BT种子(torrent)...

    FB客服
  • SpringBoot 2.0 系列(三):流程详解(下)

    Spring Boot自动配置尝试根据添加的jar依赖项自动配置Spring应用程序。例如,如果 HSQLDB在我们的类路径上,并且我们没有手动配置任何数据库连...

    Vi的技术博客
  • 如何配置神经网络中的层数和节点数

    人工神经网络有两个重要的超参数,用于控制网络的体系结构或拓扑:层数和每个隐藏层中的节点数。配置网络时,必须指定这些参数的值。

    AiTechYun
  • 业界 | 电商落地时代:巨头们如何兼得数据的“大”和“厚”

    去年,亚马逊将将137亿美元的价格收购美国最大的天然食品和有机食品零售商Whole Foods Market Inc.(全食超市)。这一创纪录的交易额想要获取的...

    大数据文摘
  • python使用pika操作rabbitmq

    线程并不适用于每种场景, 因此并不要求使用线程。 但是pika并不禁用线程, 对于

    用户2398817
  • python爬虫-2018那年我破解了天某查

    2017年我自己写代码开发了各种爬虫系统,喜欢破解各种网站验证码,cookie加密,采集数据被封ip技术,从事了5年多php和python技术研发工作,破解过天...

    孔雀
  • 2016年大数据行业从业者调研报告(精华版)

    大数据文摘

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动