解决virsh 无法重启和关闭KVM虚拟机

virsh 可以通过 reboot、shutdown 来重启或关闭对应的虚拟机。由于其原理是host通过发送acpi指令来控制虚拟机的电源,如果guest 系统没有安装acpi服务器或该服务器没有启动,那么虚拟机将不会重启或关闭,那么只有使用destroy 来强制关闭。

安装 acpid 服务

centos 系统

yum install acpid

ubuntu 系统

apt-get install acpid

开机自动启动

chkconfig acpid on

启动服务

/etc/init.d/acpid start

如果启动acpid服务报错,那么需要重启guest 系统。

另一种文章

1 命令行virsh reboot vm-name
     kvm目前仍不支持reboot命令,'reboot' is not supported by the hypervisor

 2 虚拟机内部重启操作不成功,状态为关机,重启失败。

   原因配置文件中:

……

<on_poweroff>destroy</on_poweroff>

  <on_reboot>restart</on_reboot>

  <on_crash>destroy</on_crash>

……

其中<on_reboot> 选项设置为restart则表示在虚拟机内部执行reboot但不关机, 如果设置为destroy则表示执行reboot命令后直接关机。

更多参数设置可参考liibvirt官网http://libvirt.org/drvqemu.html#xmlconfig

3  kvm环境下可以使用shutdown命令让虚拟机关机,但不生效。
virsh shutdown vm-name
 由于关机通过acpi电源管理接口来实现的
  3.1 首先配置文件里需要有这个选项
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  3.2 虚拟机内部需要有acpi服务并运行
    Windowns的虚拟机一般情况是默认已安装且运行的
    linux虚拟机例如Ubuntu虚拟机如果没有安装acpi服务,
    先执行apt-get install acpid进行安装并启动该服务,即可让虚拟机响应shutdown命令

依此方法通过ubuntu server 10.04.2,redhat6.0企业版,windows xp sp3 ,windows server2003操作系统进行验证均可以实现自然关机。

时间: 2024-07-28 22:47:46

解决virsh 无法重启和关闭KVM虚拟机的相关文章

CentOS6.5 64位系统安装配置KVM虚拟机步骤详解

环境: 系统版本:CentOS 6.5 x86_64 内存:8G CPU:Intel i5-4430 IP:192.168.1.100 一.KVM简介 KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者AMD V技术).自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码

详解基于本地存储的kvm虚拟机在线迁移_Kvm

kvm虚拟机迁移分为4种 (1)热迁移基于共享存储 (2)热迁移基于本地存储 (3)冷迁移基于共享存储 (4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁移版本要求 qemu版本要求  大于或等于0.12.1(centos6.7或以上都没问题) rpm -qa|grep qemu qemu-kvm-0.12.1.2-2.491.el6_8.1.x86_64 qemu-kvm-tools-0.12.1.2-2.491.el6_8.1.x86_64 目标宿主机:192.168.1.

Linux中如何克隆KVM虚拟机

Linux中如何克隆KVM虚拟机 作者 digoal 日期 2016-11-11 标签 Linux , KVM , 虚拟化 , 克隆 背景 当需要批量部署虚拟机时,通常有几种做法,使用模板重新安装. 或者使用已有的虚拟机克隆. 使用模板安装可以参考kickstart脚本的编写方法. <install kvm hosts use kickstart in CentOS 6 in text mode> 本文介绍一下在已经安装好的虚拟机上,克隆虚拟机的方法. 从0开始安装一个虚拟机 在服务器安装必要

linux中KVM 虚拟机增加硬盘例子

方法一.常规方式 采用模板的方式可能导致虚拟机的硬盘容量不够,可以通过单独增加一块硬盘来作为数据的存储. 1.首先使用dd命令在默认路径下创建一个大小为10G的映像文件: dd bs=1M count=10240 if=/dev/zero of=/var/lib/libvirt/images/guest1_data.img 另外也可以使用 qemu-img 命令来创建,具体可以参考:centos 6.6 安装 KVM 虚拟机. 2.使用virsh edit 命令来编辑 domain 的配置文件,

KVM虚拟机windows系统增加硬盘

前一篇文章介绍了有关linux系统添加硬盘的方法,这次我们来介绍有关windows系统添加的相关步骤. 其实linux和windows添加的硬盘的方法都是一样的,也是可以通过命令行和修改配置文件来添加. 下面主要介绍通过virsh edit命令编辑虚拟机配置文件,来添加硬盘的方法. 注意windows系统添加硬盘需要分硬盘接口,IDE接口和virtio接口. 首先创建一个新的硬盘,使用qemu-img create命令,如下: qemu-img create -f qcow2 testwin.i

KVM虚拟机的关机与开启

我们在开启与关闭KVM虚拟机时,一般是通过start.shutdown.reboot等命令来进行.但是有时候我们会发现在使用shutdown.reboot命令进行关闭和重启虚拟机时,虚拟机没有任何反应,该怎么运行还是怎么运行,这个时候我们可能就会使用destroy暴力关机. 为什么会出现这种现象?经过查询相关资料发现,原来这几个命令是向KVM虚拟机发送一个ACPI指令,来实现相关对虚拟机的操作. 而默认安装KVM虚拟机时,特别是linux虚拟机,没有安装ACPI服务,因此导致虚拟机没有对这些命令

kvm虚拟化学习笔记(三)之windows kvm虚拟机安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1290191 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 h

kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1300783 相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移. KVM动态迁移目前有两种,一种是基于

为KVM虚拟机添加网卡

前几篇文章介绍了有关KVM安装虚拟机以及如何给虚拟机添加硬盘,今天我们再来介绍下有关如何给KVM虚拟机添加网卡. 给KVM虚拟机添加网卡,可以分为两种形式:图形界面的和virsh attach-interface命令的. 图形界面的很简单,现在已虚拟机centos2为例:如下图操作: 注意该图中的MAC地址 more /etc/udev/rules.d/70-persistent-net.rules 现在上图,我们可以看到新增加的网卡,在系统中显示的是eth1,并且MAC地址为52:54:00: