KVM详解(九)——CentOS6虚拟机关机失败问题解决

2023-10-31 00:30

本文主要是介绍KVM详解(九)——CentOS6虚拟机关机失败问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天继续给大家介绍Linux运维相关知识,本文主要内容是CentOS6虚拟机关机失败问题解决。

一、问题描述

当我们使用KVM安装CentOS6系统后,会发现一个问题,即无法通过virsh shutdown命令来关闭虚拟机。如下所示:
在这里插入图片描述
今天,我就对KVM的CentOS6虚拟机关机失败问题进行分析、解决。

二、失败原因

原来,KVM的virsh shutdown能够关闭虚拟机的本质原因是向虚拟机发送acpid指令来控制虚拟机的电源。而对于CentOS6系统而言,在最小化安装时,默认不会安装acpid服务,因此,也就不能处理由KVM发送来的acpid信号。因此,我们也就不能通过virsh shutdown命令来关闭虚拟机。
因此,这个问题的解决方案也很简单,只需要在系统上安装acpid服务,并启动即可。

三、问题解决

接下来,我们就来在CentOS6系统上安装acpid指令。
首先,我们设置CentOS6系统的网络配置,我的虚拟机是通过桥接的形式直接链接到网络的,接下来,我们要更改该虚拟机的网卡。
我们打开/etc/sysconfig/network-scripts/ifcfg-eth0的文件,然后修改其配置如下所示:

DEVICE=eth0
HWADDR=52:54:00:82:46:32
TYPE=Ethernet
UUID=51c34029-90ab-47ad-87a1-e41e029990e6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.136.80
NETMASK=255.255.255.0
GATEWAY=192.168.136.254
DNS1=114.114.114.114

完成配置后,执行命令:

/etc/init.d/network restart

以重启网卡,重启网卡后,测试网络连接情况如下所示:
在这里插入图片描述
可以看到,当前我们的系统已经可以正常链接网络了,这样,我们也就可以在本地使用SSH链接工具进行控制了。
之后,我们来给我们的虚拟机挂载一块硬盘,实现这一步的目的是配置本地YUM源,以安装acpid服务。点击如下红圈处,可以弹出虚拟机的硬件配置,如下所示:
在这里插入图片描述
在弹出的页面中,我们选择“IDE CDROM”,并点击“Connect”,如下所示:
在这里插入图片描述
之后,我们在弹出的页面中,选择我们的CentOS6的镜像文件作为光盘源,如下所示:
在这里插入图片描述
完成上述配置后,我们点击“OK”,完成光盘配置,配置完成后如下所示:
在这里插入图片描述
这样,我们的光盘就已经链接完成了,接下来,我们要挂载我们的光盘,执行命令;

mount  /dev/cdrom /mnt/

就可以把我们的光盘挂载到/mnt/目录下了。
接下来,我们需要配置YUM源,在/etc/yum.repo.d/目录下,我们删除(或备份)原有的镜像源,然后新建一个centos.repo的新的YUM源,写入如下内容:

[base]
name=base
baseurl=file:///mnt/
enable=true
gpgcheck=false

这样,我们的YUM源就配置好了,接下来,我们就可以安装acpid服务了,执行命令:

yum install -y acpid

结果如下所示:
在这里插入图片描述
安装完成后,我们打开该服务,执行命令:

service acpid start

执行结果如下:
在这里插入图片描述
这样,我们就可以通过virsh shutdown命令来关机了,该命令执行结果如下:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

这篇关于KVM详解(九)——CentOS6虚拟机关机失败问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/311580

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D