kvm常见故障及解决

2023-10-27

一、启动虚拟机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 image /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 image exists

# virsh undefine vmhost1error: Refusing to undefine while domain managed save image 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/58218

apt-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

设置步骤如下:

  1、以联想t420为例,开机后按F2进入bios设置;

  2、选择Security选项;

        

  3、选择Virtualization,回车进入;

  4、按+键修改俩个选项为enabled;

        

  5、按F10,输入y保存退出即可。

通过命令 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,使所有用户都有权限读写)

注意:如果查询的结果中包含有vmx,那么就可以证明服务器是支持虚拟化的

安装包

yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform"

modprobe kvm

lsmod |grep kvm

ln -sv /usr/libexec/qemu-kvm /usr/bin/ 

service libvirtd start 

chkconfig --level 2345 libvirtd on 

chkconfig libvirtd  --list

配置网卡桥接

virsh iface-bridge eth0 br0

安装

virt-install --connect  qemu:///system --virt-type kvm --name rhel6 --ram=1024  --disk path=/var/lib/libvirt/images/rhel6.img,size=8,sparse --os-type=linux --accelerate -c /sdb1/CentOS-6.6-x86_64-bin-DVD.iso --network bridge=br0,model=virtio --vnc  --vncport=5991 --vnclisten=0.0.0.0 --force

--vncport 端口可以自己改,不指定的话自动获取

--boot network,cdrom,menu=on  这个是启动顺序可以不用加

当出现下面提示的时候用vnc客户端连接即可(端口:5991)

netstat -tnlp |grep kvm

tcp        0      0 0.0.0.0:5991                0.0.0.0:*                   LISTEN      3006/qemu-kvm

开始安装......

创建域......                                                                     |    0 B     00:00     

无法打开显示:

运行 'virt-viewer --help' 来查看可用命令行选项的完整列表

域安装仍在进行。您可以重新连接

到控制台以便完成安装进程。

注意: 如果安装完成后,ifconfig只能看到本地回环网卡,到/etc/sysconfig/network-scripts/目录下将ifcfg-eth0的ONBOOT改为yes,然后启动网卡即可。

virsh uri: 查看当前主机上hypervisor的连接路径;

virsh connect:

virsh define: 创建一个虚拟机,根据事先定义的xml格式的配置文件;创建以后不会自动启动;

virsh create: 创建,创建完成后会自动启动;

virsh undefine: 删除

virsh list  --all 查看

virsh destroy  rhel6  删除rhel6

virt-install --os-variant list

virsh start rhel66  开启rhel66 或 virsh create /etc/libvirt/qemu/rhel66.xml

virsh shutdown rhel66

virsh reboot rhel66  

virsh console rhel66

virsh suspend rhel66  挂起

virsh resume  rhel66 恢复挂起

/etc/libvirt/qemu/  虚拟机xml配置文件目录

virsh edit rhel66   编辑xml配置文件,vi编辑的不会立即生效

解决virsh shutdown无法关闭KVM虚拟机,以下操作都在客户机,不是宿主机

yum -y install  acpid

service acpid restart

chkconfig --level 2345 acpid on 

chkconfig acpid --list

解决KVM中宿主机通过console无法连接客户机,以下操作都在客户机,不是宿主机

1、添加ttyS0的安全许可,允许root登录:

  echo "ttyS0" >> /etc/securetty

2、在/etc/grub.conf文件中为内核添加参数:

   console=ttyS0

  这步要注意:

  console=ttyS0一定要放在kernel这行中(大约在第16行),不能单独一行,即console=ttyS0是kernel的一个参数,不是单独的

3、在/etc/inittab中添加agetty:

S0:12345:respawn:/sbin/agetty ttyS0 115200

4、重启客户机:

 reboot

kvm虚拟机的重命名 

1)、查看所有的kvm虚拟机

virsh list --all

 Id    名称                         状态

----------------------------------------------------

 -     rhel6                        关闭

2)、重命名kvm虚拟机最好是将虚拟机先关机,然后再导出其xml文件

cd /etc/libvirt/qemu

virsh dumpxml rhel6 > CentOS02.xml

3)、为了让重命名后的虚拟机名字与磁盘文件名一致、我们可以先将之前的磁盘文件命名成CentOS02.img

cd /var/lib/libvirt/images

mv rhel6.1.img CentOS02.img

4)、编辑CentOS02.xml文件,修改<name>标签对以及磁盘文件,这里我们将磁盘文件修改成CentOS02.img

<domain type='kvm'>

  <name>CentOS02</name>

      ......  

   ...省略......

      ......

  <disk type='file' device='disk'>

      <driver name='qemu' type='raw' cache='none'/>

  <source file='/var/lib/libvirt/images/CentOS02.img'/>

5)、使用virsh undefine命令删除之前的虚拟机,根据新的xml文件定义新的kvm虚拟机

virsh undefine  rhel6 删除rhel6虚拟机

virsh define /etc/libvirt/qemu/CentOS02.xml    //重新定义新的kvm虚拟机

6)、最后我们可以再次使用virsh list --all命令查看,结果如下所示

Id    名称                         状态

----------------------------------------------------

 -     CentOS02                       关闭

经过如上方法重命名的kvm机直接启动使用即可,不会影响udev动态管理设备的文件。和之前的虚拟机相比、仅仅就是名字变了而已。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kvm常见故障及解决 的相关文章

  • KVM虚拟机配置静态IP(三):Centos6

    该系列文章为制作KVM虚拟机镜像的同时配置静态IP xff0c 为用户直接提供好固定IP xff0c 无需手动配置 系列文章目录 Ubuntu16 04Ubuntu18 04Centos6Centos7 文章目录 系列文章目录软件环境一 安
  • KVM下Ubuntu18.04打开设置注销问题

    问题描述 xff1a 在KVM中创建Ubuntu18 04 xff0c 打开系统设置 xff0c 发现直接注销 xff08 不是锁屏 xff0c 因为所有程序都退出 xff09 解决思路 在google上搜索发现大多数都是指向显卡问题 xf
  • Centos7搭建KVM虚拟化环境

    如果觉得写得不错 xff0c 烦请微信搜索公众号 34 郑州行疆户外 34 了解程序员的户外业余喜好 1 查看系统版本 root 64 openstack cat etc centos release CentOS Linux releas
  • 24 KVM管理虚拟机-配置VNC-TLS登录

    文章目录 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 24 2 操作步骤 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 VNC服务端和客户端默认采用明文方式进行数据传输 因此通信内容可能被第三方截获 为
  • KVM的HVM虚拟机使用非串口方式建立virsh console 连接

    在去年写的文章中 http blog csdn net dobell article details 14442457 写到了怎么利用serial 设备进行console连接 不过比较麻烦 因为1 需要修改虚拟机内部的grub启动选项 2
  • Zstack 挂载云盘,在Windows下面看不到解决方法

    原因 在使用 Zstack 私有云时 创建 WinServer2019 时 想添加一块数据云盘 但是添加好后 进入系统看不到硬盘 主要是因为添加的云盘驱动是 virtio 格式 所以要安装相关驱动 1 查看挂载的云盘 root zstack
  • CentOS 7 virt-install 命令行方式(非图形界面)安装KVM虚拟机

    环境及网卡配置请参考 https blog csdn net mshxuyi article details 98305715 创建镜像目录 mkdir p home vms virt install 配置文件 virt install n
  • kvm qemu内幕介绍

    kvm qemu内幕介绍 标签 虚拟化io数据结构linux内核优化磁盘 2012 09 14 11 10 6923人阅读 评论 4 收藏 举报 分类 linux 56 版权声明 本文为博主原创文章 未经博主允许不得转载 目录 1 硬件虚拟
  • 10 KVM虚拟机配置-虚拟CPU和虚拟内存

    文章目录 10 KVM虚拟机配置 虚拟CPU和虚拟内存 10 1 概述 10 2 元素介绍 10 3 配置示例 10 KVM虚拟机配置 虚拟CPU和虚拟内存 10 1 概述 本节介绍虚拟CPU和虚拟内存的常用配置 10 2 元素介绍 vcp
  • KVM源代码分析4:内存虚拟化

    终于把KVM源代码分析3 CPU虚拟化写完了 虽然还有run的部分另外在写 还是先看一下内存虚拟化部分 代码版本 https git kernel org pub scm linux kernel git stable linux stab
  • virt与virsh常用命令

    前提 客户机虚拟机上配置qemu guest agent 并对guest的xml配置文件做一些修改 那么就可以使用很多特有的命令 对虚拟机进行配置 例如 修改虚拟机密码 root localhost virsh set user passw
  • 虚拟化KVM

    什么是虚拟化 在计算机技术中 虚拟化是一种资源管理技术 是将计算机的各种实体资源 CPU 内存 磁盘空间 网络适配器等 予以抽象 转换后呈现出来并可供分割 组合为一个或多个计算机配置环境 并重新分割 重新组合 已达到最大化合理利用物理资源的
  • KVM学习(一)vnc连接

    完整流程Windows连接CentOS7 这个KVM系列是我的本科毕业设计 边学边做 长期更新 1 安装vncserver 首先看下实验环境 windows上跑的vmware虚拟机 vncserver安装在虚拟机上 虚拟机已经安装好了gno
  • kvm虚拟化技术

    前言 kvm是一种虚拟化技术 使用 概念 kvm是linux内核的模块 它需要CPU支持 采用硬件辅助虚拟化技术Intel VT AMD V 内存的相关技术如Intel的EPT和AMD的RVI 是底层虚拟化内核模块 检查cpu是否支持虚拟化
  • 29 KVM管理系统资源-调整虚拟CPU绑定关系

    文章目录 29 KVM管理系统资源 调整虚拟CPU绑定关系 29 1 概述 29 2 操作步骤 29 KVM管理系统资源 调整虚拟CPU绑定关系 29 1 概述 把虚拟机的vCPU绑定在物理CPU上 即vCPU只在绑定的物理CPU上调度 在
  • kvm磁盘管理

    kvm磁盘管理 KVM虚拟磁盘类型 raw qcow2 qemu img常用参数 主要参数 安装qemu img 查看磁盘信息 info 创建磁盘文件 create 磁盘容量调整 resize 热扩容 磁盘增加容量 磁盘缩小容量 生产环境下
  • 问题:your cpu does not support kvm extensions

    问题 我的BIOS开启了CPU虚拟化 但是虚拟机仍然显示your cpu does not support kvm extensions 解决 1 关闭虚拟机 2 虚拟机上单击右键 设置 3 选择下图选项 4 重启虚拟机 问题解决
  • 云安全技术——kvm虚拟化技术

    目录 10 1 kvm简介 10 2 在CentOS 7 图形化界面下安装KVM 使用IDEA开发读写MySQL数据库程序 实验目的 了解 CentOS7图形化界面的部署方法 了解 KVM的组成和作用 了解 KVM的技术架构 了解KVM的安
  • 2020最新版KVM虚拟机安装详解

    VMware Workstation Pro15 5下 1 操作环境 CentOS Linux release 7 7 1908 Core 2 需要用到的工具 XSHELL Centos任意版本镜像 3 必须安装的软件 Xmanager p
  • 当 KVM-QEMU 打开时,Intel-PT 不记录任何数据包

    我尝试在主机上使用 Intel PT 同时在客户机上运行通用软件程序 所以我期望主机中运行的 Intel PT 将记录所有相关数据包 如 PIP FUP TSC 等 以及所有基于 VM 的数据包 如 VMCS 我使用以下命令 perf kv

随机推荐

  • 数字IC手撕代码-乐鑫科技笔试真题(4倍频)

    前言 本专栏旨在记录高频笔面试手撕代码题 以备数字前端秋招 本专栏所有文章提供原理分析 代码及波形 所有代码均经过本人验证 目录如下 1 数字IC手撕代码 分频器 任意偶数分频 2 数字IC手撕代码 分频器 任意奇数分频 3 数字IC手撕代
  • idea报错:fatal: –author ‘user@mail.com’ is not ‘Name ’ and matches no existing author

    需求阐述 在本地项目上传到gitlab时 到了Commit Directory这一步 控制台报错 fatal author user mail com is not Name and matches no existing author 解
  • 代码:如何在 C# 中实现将大型 Excel 文件导出为 CSV ?

    在本主题中 我们将介绍如何在 C 中将大型 Excel 文件导出为CSV的问题 下面给出的在 C 应用程序中以编程方式将 Excel 文件转换为 CSV 格式的步骤以及简单易行的代码将为您提供所需的解决方案 开发人员在处理像XLSX或XLS
  • Python request-html cv2获取网络图片【canvas base64图片】

    测试网站 http www porters vip captcha clicks html import cv2 import base64 import numpy as np import nest asyncio nest async
  • 电子设计大赛需要具备的知识

    具体的说 有 一 基础知识1 电路原理2 数字电路3 模拟电路 重点 4 元器件的简介二 软件方面 总体编程能力 1 单片机基础与编程 重点 单片机内部结构与工作原理 单片机接口电路 单片机程序设计 单片机开发系统 51系列或AVR单片机
  • 【转】Stephen Wolfram写的乔布斯的回忆录

    无意间在微博上看到Stephen Wolfram也写了回忆Jobs的博客 感觉这个人的名字是相当熟悉 后来看到Mathematica这个软件的名字时就感到非常亲切了 这款软件是以前用过的一款非常强大的数学工具软件 可以解决公式计算 解方程组
  • 产品命名规则(自用)

    产品命名规则 自用 产品id命名规则 共8 型号 3 relay类型 1 计量计类型 1 最大值 1 阶段 1 注 型号 根据产品形态定义 如smartplus 可以定义成sp1 sp是smartplus缩写 1是序号 如果有相同类型 sp
  • 在STM32上创建一个自己的操作系统

    参考文章 http www cnblogs com ansersion p 4328800 html 上面是我的微信和QQ群 欢迎新朋友的加入 之前看了蛮多帖子 不过苦于自己对着基本上是门外汉 基本上只明白个大概 幸亏找到一个分享源码的帖子
  • 阅读resyschina推荐引擎文章感受一

    1 推荐目的在于帮助用户做决策 买到更合适的东西 而促销的目的在于销售商品 2 推荐帮助用户找到感兴趣但是没有想到的东西serendipity 惊喜 3 首页上位置对系统的结果有重大影响 4 推荐系统和搜索的区别在于 推荐系统不需要用户进行
  • YOLO项目服务器配置及云硬盘挂载问题

    资源包配置 首先便是conda虚拟环境创建了 这里我们便不一一赘述了 大家可以参考博主先前的文章 然后就是pytorch的安装了 这里可以使用conda命令或者是pip命令 首先是conda命令 博主在第一个服务器时的安装方式就是这个 很正
  • 关于硬件问题造成的MCU死机,过来人简单的谈一谈

    关于MCU死机问题 近期小编在出差期间遇到多起 且原因不同 所以 今日小白借此机会讲一讲因硬件问题造成的MCU死机 MCU不良 在遇到死机问题时 已经可以判定是硬件原因造成的前提下 大多人的选择是交叉验证MCU 先判定是否是MCU单体不良造
  • 软考-嵌入式系统设计师-笔记:嵌入式系统的项目开发与维护

    文章目录 系统开发过程及其项目管理 过程模型 过程评估 软件能力成熟度模型 CMM 能力成熟度模型集成 CMMI 工具与环境 ISO ICE 25010系统和软件质量模型 系统分析知识 系统设计知识 系统设计概述 结构化设计 面向对象设计
  • 接口的静态方法

    静态接口方法 从java开始 接口当中允许使用静态方法 public static 返回值类型 方法名称 参数列表 方法体 提示 就是将abstract或者default换成static即可 带上方法体 方法样式 public interf
  • 老版本的 mybatis-generator 使用示例

    文章目录 main 入口 generatorConfig xml log4j properties main 入口 import java io File import java util ArrayList import java uti
  • c++返回数组引用的函数(4种方法)

    分享返回数组引用的4种方法 普通法 类型别名 尾置返回类型 decltype include
  • CSS层叠上下文

    在学习z index属性的时候 限制了能够使用z index属性的元素 那么为什么有的元素能够使用z index 因为他创建了一个层叠上下文 对于这个词的理解首先要理解上下文 上下文这个名词的出现有很多地方 块级格式上下文 执行上下文 在不
  • 【转载】VC常用小技巧(2)

    项目 如何干净的删除一个类 1 先删除项目中对应的 h和 cpp文件 选中后用 Delete键删除 2 保存后退出项目 到文件夹中删除实际的 h和 cpp文件 3 删除 clw文件 4 重新进入项目 进行全部重建 rebuild all 如
  • 批处理常用命令及用法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 批处理常用命令及用法大全 阅读本文需要一定的dos基础概念 象 盘符 文件 目录 文件夹 子目录 根目录 当前目录每个命令的完整说明请加 参数参考微软的帮助文档可以看到 在
  • 前端 - 实习两个星期总结

    文章目录 吐槽 总结 新人建议 项目学习到的 今天已经是菜鸟实习的第二个星期了 怎么说呢 反正就是进的一个不大不小的厂 做着不难不易的事 菜鸟现在主要做的就是适配 现在就来总结一下 不过这之前 菜鸟不得不吐槽一波 吐槽 1 菜鸟进的是一家国
  • kvm常见故障及解决

    一 启动虚拟机Connection reset by peer virsh start vmhost1error Failed to start domain vmhost1error Unable to read from monitor