CentOS 7操作系统部署KVM软件和创建虚拟机
CentOS 7.9操作系统部署KVM软件和配置指南,包括如何创建一个虚拟机。
步骤 1: 检查硬件支持
首先,确认您的CPU支持虚拟化技术,并且已在BIOS中启用:
egrep -c '(vmx|svm)' /proc/cpuinfo
如果输出大于0,则表示支持虚拟化。

步骤 2: 安装KVM及相关工具
-
1.更新软件包列表:
yum update -y
-
2.安装KVM及相关工具:
yum groupinstall "Virtualization Host" -y

yum install qemu-kvm libvirt virt-install virt-viewer -y


-
3.启动并设置开机启用libvirtd服务:
systemctl start libvirtdsystemctl enable libvirtd
-
4.验证安装是否成功:
virsh list --all
如果命令执行没有错误信息,说明安装成功。
步骤 3: 创建虚拟机
您可以使用virt-install命令行工具或virt-manager图形界面来创建虚拟机。这里我先介绍命令行方式:
使用virt-install创建虚拟机
提前上传IOS文件到/home/vm_ios目录下
virt-install \--name= syty-k8s-vm \--memory= 16384 \--vcpus=8 \--disk path= /home/vm-disk/centos7-vm.qcow2,size=100 \--network network=default \--os-type=linux \--os-variant= rhel7.0 \--cdrom= /home/vm_ios/CentOS-7-x86_64-DVD-2009.iso \--graphics vnc,listen=0.0.0.0 \--noautoconsole
请根据实际情况修改参数,如内存大小、CPU核心数、磁盘路径、网络配置、操作系统类型及变体等。此命令会创建一个名为syty-k8s-vm的虚拟机,分配16GB内存和8个CPU核心,使用100GB的磁盘空间,并通过VNC提供图形界面支持。

查看syty-k8s-vm虚拟机VNC端口号:
virsh dumpxml syty-k8s-vm | grep vnc

使用VNC连接上之后接着按指示装系统。

注意事项
- 资源分配:确保为新的虚拟机合理分配资源,以免影响现有服务的性能。
- 网络配置:默认情况下,KVM会创建NAT网络。如果需要更复杂的网络设置,如桥接网络,请参考之前的建议进行配置。
安装好之后查看新创建的虚拟机
virsh list --all

修改虚拟机网络,使其支持桥接
- 先修改宿主机网络,创建br0桥接网卡。
我的宿主机目前用的是em1这个网卡,

接下来备份这个网卡配置文件
cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-em1-2-12
![]()
查看宿主机网卡当前配置
[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=em1DEVICE=em1ONBOOT=yesIPADDR=xxxxxxxxxxxNETMASK=255.255.255.0#GATEWAY=xxxxxxxDNS1=xxxxxx

按照下列信息修改/etc/sysconfig/network-scripts/ifcfg-em1网卡配置文件
[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=em1DEVICE=em1ONBOOT=yesBRIDGE=br0 #桥接网卡名

创建桥接网卡配置文件将原先ifcfg-em1网卡配置文件的IP信息写到ifcfg-br0中
[root@store ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0TYPE=BridgeBOOTPROTO=staticIPADDR=xxxxxxNETMASK=255.255.255.0#GATEWAY=xxxxxxx # 如果需要,取消注释并填写正确的网关地址DNS1=xxxxxxxxxONBOOT=yesDELAY=0

然后重启网络
systemctl restart network
查看网络状态
systemctl status network

输入ifconfig发现em1已经没有IP信息了,并且出现了br0这个桥接网卡名称

- 修改虚拟机配置
如果虚拟机开着机,那就先关机
virsh shutdown syty-k8s-vm
关机后编辑虚拟机
virsh edit syty-k8s-vm
修改虚拟机关于网卡配置那部分
<interface type='bridge'><mac address='52:54:00:28:30:0e'/><source bridge='br0'/><model type='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/></interface>

修改后开启虚拟机
virsh start syty-k8s-vm
修改虚拟机IP为静态
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="eth0"UUID="ac2141c8-5eb5-4993-ad5d-3a27296d0fb3"DEVICE="eth0"ONBOOT="yes"IPV6_PRIVACY="no"IPADDR="xxxxx"NETMASK="255.255.255.0"GATEWAY="xxxxxx"DNS1="xxxxxxxxxx"

最后一步ping一下百度域名看看能不能访问外网并正确解析

备份原有的CentOS-Base.repo文件
原有的默认源仓库地址已经无法访问,需要修改成其他可用源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
下列以阿里云为例
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
清除Yum缓存并重新生成缓存
yum clean allyum makecache
安装vim工具

能正常安装说明配置的阿里云源仓库地址没问题。自此KVM虚拟机可用。
相关文章:
CentOS 7操作系统部署KVM软件和创建虚拟机
CentOS 7.9操作系统部署KVM软件和配置指南,包括如何创建一个虚拟机。 步骤 1: 检查硬件支持 首先,确认您的CPU支持虚拟化技术,并且已在BIOS中启用: egrep -c (vmx|svm) /proc/cpuinfo 如果输出大于0,则表示支持虚拟…...
Golang GORM系列:GORM分页和排序
高效的数据检索和表示是应用程序开发的关键方面。GORM是健壮的Go对象关系映射库,它为开发人员提供了强大的工具来实现这一点。无论你是在构建动态web应用程序还是数据密集型服务,掌握GORM中的分页和排序使您能够提供无缝且高效的用户体验。本文我们将深入…...
WPF的MVVMLight框架
在NuGet中引入该库: MVVMLight框架中的命令模式的使用: <StackPanel><TextBox Text"{Binding Name}"/><TextBox Text"{Binding Title}"/><Button Content"点我" Command"{Binding ShowCommand…...
微服务SpringCloudAlibaba组件sentinel教程【详解sentinel的使用以及流量控制、熔断降级、热点参数限流等,附有示例+代码】
文章目录 四.Sentinel限流熔断4.1 sentinel介绍4.2 Sentinel 的历史4.3 Sentinel 基本概念资源规则 4.4 Sentinel 功能和设计理念4.4.1 流量控制4.4.2熔断降级什么是熔断降级熔断降级设计理念系统负载保护 4.5 Sentinel 是如何工作的4.6 Sentinel使用4.7 Sentinel 控制台4.8 Sp…...
ScoreFlow:通过基于分数的偏好优化掌握 LLM 智体工作流程
25年2月来自 U of Chicago、Princeton U 和 U of Oxford 的论文“ScoreFlow: Mastering LLM Agent Workflows via Score-based Preference Optimization”。 最近的研究利用大语言模型多智体系统来解决复杂问题,同时试图减少构建它们所需的手动工作量,从…...
数字水印嵌入及提取系统——基于小波变换GUI
数字水印嵌入及提取系统——基于小波变换GUI 基于小波变换的数字水印系统(Matlab代码GUI操作) 【有简洁程序报告】【可作開题完整文档达辩PPT】 本系统主要的内容包括: (1)使用小波变换技术实现二值水印图像的加密、…...
基于海思soc的智能产品开发(图像处理的几种需求)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于一个嵌入式设备来说,如果上面有一个camera,那么就可以有很多的用途。简单的用途就是拍照,比拍照更多一点的…...
【R语言】聚类分析
聚类分析是一种常用的无监督学习方法,是将所观测的事物或者指标进行分类的一种统计分析方法,其目的是通过辨认在某些特征上相似的事物,并将它们分成各种类别。R语言提供了多种聚类分析的方法和包。 方法优点缺点适用场景K-means计算效率高需…...
Spring 项目接入 DeepSeek,分享两种超简单的方式!
⭐自荐一个非常不错的开源 Java 面试指南:JavaGuide (Github 收获148k Star)。这是我在大三开始准备秋招面试的时候创建的,目前已经持续维护 6 年多了,累计提交了 5600 commit ,共有 550 多位贡献者共同参与…...
docker 进阶命令(基于Ubuntu)
数据卷 Volume: 目录映射, 目录挂载 匿名绑定: 匿名绑定的 volume 在容器删除的时候, 数据卷也会被删除, 匿名绑定是不能做到持久化的, 地址一般是 /var/lib/docker/volumes/xxxxx/_data 绑定卷时修改宿主机的目录或文件, 容器内的数据也会同步修改, 反之亦然 # 查看所有 vo…...
机器学习数学基础:29.t检验
t检验学习笔记 一、t检验的定义和用途 t检验是统计学中常用的假设检验方法,主要用于判断样本均值与总体均值间,或两个样本均值间是否存在显著差异。 在实际中应用广泛,例如在医学领域可用于比较两种药物的疗效;在教育领域&…...
HarmonyNext上传用户相册图片到服务器
图片选择就不用说了,直接用 无须申请权限 。 上传图片,步骤和android对比稍微有点复杂,可能是为了安全性考虑,需要将图片先拷贝到缓存目录下面,然后再上传,当然你也可以转成Base64,然后和服务…...
WebAssembly 3.0发布:浏览器端高性能计算迎来新突破!
“WebAssembly 3.0来了,浏览器端的高性能计算将彻底改变!”2025年,WebAssembly(Wasm)迎来了重大更新——WebAssembly 3.0正式发布。这次更新不仅支持多线程和SIMD指令集,还优化了内存管理,让浏览…...
计算机组成原理—— 外围设备(十三)
记住,伟大的成就往往诞生于无数次尝试和失败之后。每一次跌倒,都是为了让你学会如何更加坚定地站立;每一次迷茫,都是为了让你找到内心真正的方向。即使前路漫漫,即使困难重重,心中的火焰也不应熄灭。它代表…...
面试题之Vuex,sessionStorage,localStorage的区别
Vuex、localStorage 和 sessionStorage 都是用于存储数据的技术,但它们在存储范围、存储方式、应用场景等方面存在显著区别。以下是它们的详细对比: 1. 存储范围 Vuex: 是 Vue.js 的状态管理库,用于存储全局状态。 数据存储在内…...
window中git bash使用conda命令
window系统的终端cmd和linux不一样,运行不了.sh文件,为了在window中模仿linux,可以使用gui bash模拟linux的终端。为了在gui bash中使用python环境,由于python环境是在anaconda中创建的,所以需要在gui bash使用conda命…...
象棋掉落动画(局部旋转动画技巧)
1.被撞击阶段:根据被撞击速度,合理设置被撞距离 2.倒地阶段:象棋倒地的同时稍微前移 3.滚地阶段:象棋滚地后停止,在最后5帧内稍微回转一下。这里启用“PRS参数”的旋转来制作局部旋转动画...
Pycharm 2024在解释器提供的python控制台中运行py文件
2024版的界面发生了变化, run with python console搬到了这里:...
课题推荐:高空长航无人机多源信息高精度融合导航技术研究
高空长航无人机多源信息高精度融合导航技术的研究,具有重要的理论意义与应用价值。通过深入研究多源信息融合技术,可以有效提升无人机在高空复杂环境下的导航能力,为无人机的广泛应用提供强有力的技术支持。希望该课题能够得到重视和支持&…...
《DeepSeek训练算法:开启高效学习的新大门》
在人工智能的浪潮中,大语言模型的发展日新月异。DeepSeek作为其中的佼佼者,凭借其独特的训练算法和高效的学习能力,吸引了众多目光。今天,就让我们深入探究DeepSeek训练算法的独特之处,以及它是如何保证模型实现高效学…...
别再死记硬背了!用Allegro 17.4制作SOP8封装,这份保姆级图文指南带你避开所有坑
Allegro 17.4 SOP8封装设计实战:从焊盘到丝印的工程思维培养 在电子设计领域,封装设计是连接原理图与PCB的桥梁。许多初学者在使用Allegro进行封装设计时,往往陷入机械操作的泥潭,只记住了点击哪些按钮,却不理解每个参…...
别再死记硬背堆了!从PTA真题‘关于堆的判断’反推小顶堆的核心操作
从PTA真题实战拆解小顶堆:四类判断背后的数据结构精要 在计算机科学的学习道路上,数据结构总是让人又爱又恨。特别是像堆(Heap)这样的抽象结构,很多学习者虽然能背出"完全二叉树"、"父节点小于子节点"的定义,…...
VS Code扩展图标消失?一键修复工具原理与使用指南
1. 项目概述:一个专治IDE“图标消失症”的修复工具如果你是一名重度使用AI编程助手的开发者,尤其是在VS Code、Cursor这类现代IDE里依赖OpenAI Codex扩展来提升编码效率,那么你很可能遇到过这个让人抓狂的“幽灵问题”:某天打开编…...
统信UOS/麒麟系统下PHP源码编译安装与信创环境环境搭建手册=php信创
一、搞清楚你的环境(必看)在开始之前,先搞清楚自己是什么系统、什么架构,后面的命令才能选对。# 查系统版本cat /etc/os-release# 查 CPU 架构(重要!)uname -m# 输出 x86_64 → 普通 Intel/AMD…...
cc-openclaw-bridge:轻量级数据桥接与协议转换中间件实战指南
1. 项目概述与核心价值最近在折腾一些跨平台自动化工具链的整合,发现一个挺有意思的项目叫totorospirit/cc-openclaw-bridge。乍一看这个仓库名,又是“cc”又是“bridge”,还带个“openclaw”,感觉像是某种连接器或者适配层。深入…...
别再只ping了!手把手教你用Wireshark抓包分析UDP通信全过程(从发送到接收)
从抓包到诊断:用Wireshark透视UDP通信全链路 当你的UDP程序在局域网内突然"失联",而ping测试却显示一切正常时,这种矛盾往往会让开发者陷入困境。传统排查手段就像在黑暗房间找钥匙——开关防火墙、反复重启服务、调整端口号&#…...
别再只看mAP了!用YOLOv5/v8实战案例,彻底搞懂Precision、Recall和F1-Score怎么用
从YOLOv5/v8实战出发:Precision、Recall与F1-Score的工程化决策指南 在目标检测项目的最后汇报会议上,团队经常陷入这样的争论:开发工程师指着mAP0.5:0.95的提升曲线证明模型优化有效,而业务主管却盯着监控画面质问"为什么昨…...
通过Taotoken CLI工具一键配置开发环境中的多模型访问密钥
通过Taotoken CLI工具一键配置开发环境中的多模型访问密钥 1. Taotoken CLI工具概述 Taotoken CLI工具(taotoken/taotoken)是为开发者提供的命令行工具,用于快速配置开发环境中的多模型访问密钥。该工具支持通过交互式菜单或子命令方式&…...
长时运行智能体的5种设计模式
两年来,“AI 代理"的主导形象一直是一个里面装着聪明循环的聊天窗口。你输入目标,代理调用一些工具,你看着 token 流式输出,当工作耗尽耐心或上下文窗口填满时你停止观看。这个范式带我们走了很远,但它有天花板。…...
【RT-DETR涨点改进】TGRS 2026 |独家创新首发、特征融合改进篇| 引入HEWL小波特征融合模块,通道-空间-频域交互联合高频增强,助力红外小目标检测,多模态目标检测有效涨点
一、本文介绍 🔥本文给大家介绍使用 HEWL小波特征融合模块 改进RT-DETR网络模型,作用在于在特征融合与上采样阶段引入频域高频信息指导特征重建,使模型在检测过程中不仅关注语义信息,还能够有效保留目标的边缘与细节结构,从而提升对小目标和弱目标的表达能力。通过小波分…...
