当前位置: 首页 > java >正文

centos8安装 kvm

一、开启cpu的虚拟化功能

1. 开启bios虚拟化功能

现代的cpu默认都开启了cpu虚拟化功能

这里我使用vmware虚拟机部署kvm,需要在vmware虚拟机控制页面打开 cpu 和 内存虚拟化功能
如下:
在这里插入图片描述

2. 在系统内查看是否开启了虚拟化功能

[root@localhost ~]# grep -Eo  'vmx|svm' /proc/cpuinfo | uniq
vmx
  • vmx 是inter的虚拟化技术
  • svm 是amd的虚拟化技术

3. 查看是否加载了kvm模块

[root@localhost ~]# lsmod | grep kvm
kvm_intel             294912  0
kvm                   786432  1 kvm_intel
irqbypass              16384  1 kvm

二、安装kvm

1. 更换yum源

由于centos8不在维护,镜像仓库已经失效,所有我们需要更换到阿里云的镜像地址。

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
rm -f .repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
dnf update -y

2. 下载kvm组件

dnf -y install qemu-kvm virt-install virt-viewer virt-manager libvirt virt-what 
  • qemu-kvm : kvm的核心 kvm和quem的集成 ,quem负责模拟各种平台的硬件,kvm负责利用硬件虚拟化技术来加速 CPU 的虚拟化。
  • virt-install:使用命令行安装系统的工具
  • virt-viewer:是一个轻量级的工具,用于远程查看和连接到虚拟机的图形界面,它可以通过远程桌面协议(如 VNC 等)连接到虚拟机控制台,方便用户对虚拟机进行图形化操作和监控。
  • virt-manager:kvm图形化管理工具
  • libvirt :KVM 虚拟化管理的核心库和守护进程,为不同的虚拟化技术(包括 KVM)提供了一个统一的管理接口。它处理虚拟机的生命周期管理(如启动、暂停、关闭等操作)、虚拟机配置、网络配置等方面的工作。
  • virt-what : 用于检测虚拟化环境

3. 检查当前虚拟化平台

[root@localhost yum.repos.d]# virt-what
vmware

4. 检查虚拟化功能

[root@localhost yum.repos.d]# virt-host-validateQEMU: Checking for hardware virtualization                                 : PASSQEMU: Checking if device /dev/kvm exists                                   : PASSQEMU: Checking if device /dev/kvm is accessible                            : PASSQEMU: Checking if device /dev/vhost-net exists                             : PASSQEMU: Checking if device /dev/net/tun exists                               : PASSQEMU: Checking for cgroup 'cpu' controller support                         : PASSQEMU: Checking for cgroup 'cpuacct' controller support                     : PASSQEMU: Checking for cgroup 'cpuset' controller support                      : PASSQEMU: Checking for cgroup 'memory' controller support                      : PASSQEMU: Checking for cgroup 'devices' controller support                     : PASSQEMU: Checking for cgroup 'blkio' controller support                       : PASSQEMU: Checking for device assignment IOMMU support                         : PASSQEMU: Checking if IOMMU is enabled by kernel                               : WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)QEMU: Checking for secure guest support                                    : WARN (Unknown if this platform has Secure Guest support)

如上有两条警告,分别是检测IOMMUsecure
IOMMU: IOMMU被禁用,如果要开启需要在内核参数中添加 intel_iommu=on 参数
secure: 不知道平台是否支持安全虚拟机功能

4.1. 启用IOMMU

IOMMU 的主要作用是为设备和虚拟机提供独立的虚拟地址空间,增强内存访问的安全性,防止设备间相互干扰,同时支持内存虚拟化技术。

修改内核启动参数

[root@localhost ~]# vi /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet intel_iommu=on"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

在GRUB_CMDLINE_LINUX 追加 intel_iommu=on参数

我的cpu是inter了,如果其他cpu 添加的参数不一样。

重启系统,在次检查

[root@localhost ~]# virt-host-validateQEMU: Checking for hardware virtualization                                 : PASSQEMU: Checking if device /dev/kvm exists                                   : PASSQEMU: Checking if device /dev/kvm is accessible                            : PASSQEMU: Checking if device /dev/vhost-net exists                             : PASSQEMU: Checking if device /dev/net/tun exists                               : PASSQEMU: Checking for cgroup 'cpu' controller support                         : PASSQEMU: Checking for cgroup 'cpuacct' controller support                     : PASSQEMU: Checking for cgroup 'cpuset' controller support                      : PASSQEMU: Checking for cgroup 'memory' controller support                      : PASSQEMU: Checking for cgroup 'devices' controller support                     : PASSQEMU: Checking for cgroup 'blkio' controller support                       : PASSQEMU: Checking for device assignment IOMMU support                         : PASSQEMU: Checking if IOMMU is enabled by kernel                               : PASSQEMU: Checking for secure guest support                                    : WARN (Unknown if this platform has Secure Guest support)

4.1 检查平台是否支持安全虚拟机功能

[root@localhost ~]# grep -E 'tdx|sgx' /proc/cpuinfo

如果有回显及支持,当前不支持。

至此kvm部署完毕

http://www.xdnf.cn/news/8202.html

相关文章:

  • jq常用命令
  • 线性Wi-Fi FEM被卷死,非线性FEM是未来?
  • CentOS安装最新Elasticsearch8支持向量数据库
  • 面向复杂和不平衡数据的双模块深度学习网络入侵检测模型
  • JavaScript篇:函数作用域与作用域链探秘
  • 甘特图(项目计划图)
  • Qt控件:显示控件
  • 五元组+协议分层:拆解网络通信的底层密码
  • 安卓手机安装 ChatGPT 全流程图文指南
  • 数巅智能亮相中国石油石化企业信息技术交流大会 以大模型能力驱动能源行业数智化升级
  • scikit-learn pytorch transformers 区别与联系
  • 如何让Wi-Fi设备传输距离达到1100米?涂鸦新方案让通信距离远超传统5倍
  • Dunn事后检验
  • 我店模式系统开发打造本地生活生态商圈
  • Springboot从consul中获取配置
  • Java 模块化系统(JPMS)
  • 点云(point cloud):自动驾驶的“三维扫描图“
  • SQLSERVER数据库表分区学习(未在项目上使用)
  • 6:OpenCV—图像滤波
  • 设置标签(tag)并推送到GitHub
  • 并发编程 之 Java内存模型、AQS详解:AQS设计思想、Unsafe
  • 基于自动编码器的图像融合方法
  • 腾讯2025年校招笔试真题手撕(一)
  • 一图胜千言:Typora中Mermaid图表语法全解析
  • Qwen3技术报告笔记
  • 《数据结构笔记二》:顺序表
  • 【技术追踪】ADDP:通过交替去噪扩散过程学习用于图像识别和生成的通用表示(ICLR-2024)
  • Java中static关键字深度解析:从入门到高阶实战
  • 碰一碰发视频源码搭建定制化开发详解,支持OEM
  • One-shot和Zero-shot的区别以及使用场景