RedHat9 KVM虚拟技术

以下有使用RedHat9单独的虚拟机也有使用RHEL9学员练习机和RHEL7学员练习机

KVM虚拟技术介绍

Linux的KVM(Kernel-based Virtual Machine)虚拟技术是一种基于Linux内核的虚拟化解决方案。它允许在单个物理服务器上创建和运行多个隔离的虚拟机,每个虚拟机都有自己的操作系统和应用程序,就像运行在独立的物理服务器上一样。

KVM虚拟技术的核心特点包括:

  1. 硬件虚拟化支持:KVM利用CPU的虚拟化扩展技术,如Intel VT-x或AMD SVM,将物理主机的处理能力划分给虚拟机,提供高效的硬件资源管理。
  2. 完全虚拟化:KVM支持完全虚拟化,这意味着它可以在虚拟机中运行未经修改的操作系统,实现对多种操作系统和应用程序的支持。
  3. 性能优化:KVM的硬件虚拟化技术允许虚拟机直接访问物理硬件资源,降低了虚拟化的性能消耗,提供了接近原生性能的运行效果。
  4. 弹性和可伸缩性:KVM支持动态添加、删除、调整虚拟机的资源,可以根据需求灵活配置虚拟机的CPU、内存和存储等资源。
  5. 安全性:KVM采用严格的隔离机制,保护不同虚拟机之间的安全,防止一台虚拟机的故障对其他虚拟机造成影响。
  6. 社区支持:KVM是一个开源项目,拥有庞大的社区支持,提供了丰富的文档和资源,可以帮助用户更好地理解和使用该技术。

KVM的实现基于宿主机模型(Host-based),它集成在Linux内核中,因此可以自然地使用Linux内核提供的内存管理、多处理器支持等功能。这使得KVM易于实现,并且能够随着Linux内核的发展而不断进步。此外,KVM的I/O虚拟化工作通常借助Qemu等工具完成,进一步降低了实现的工作量。

libvirt库

libvirt库是一个实现Linux虚拟化功能的Linux API,它支持各种虚拟机监控程序,包括Xen、KVM以及QEMU等,同时还支持其他操作系统的一些虚拟产品。libvirt库为虚拟机管理提供了一个通用稳定的抽象层,能够安全地操作物理机上的虚拟机。它的主要功能包括虚拟机管理、虚拟设备管理和远程控制。

在虚拟机管理方面,libvirt库提供了定义、删除、启动、关闭、暂停、恢复、保存、回滚和迁移等各种功能。在虚拟设备管理方面,它能够管理各种虚拟外设,如虚拟磁盘、虚拟网卡、内存和虚拟CPU,并且支持多种设备类型的热插拔操作。此外,libvirt库还提供了远程连接功能,通过virsh程序或API,可以远程连接其他物理机的Hypervisor。

libvirt库主要由Libvirt API、Libvirtd进程和virsh工具集三个部分组成。Libvirt API提供了一套与多种操作系统虚拟化能力进行交互的接口,可以在hypervisor支持的范围内创建、修改、监控、迁移和停止虚拟机。Libvirtd进程是libvirt守护进程,负责处理虚拟机的各种请求。virsh工具集则是一组命令行工具,用于管理虚拟机和其他虚拟化资源。

libvirt库是一个强大的虚拟化管理工具,广泛应用于各种IaaS方案中,如OpenStack、OpenNebula和Nimbus等。通过使用libvirt库,用户可以方便地对虚拟机进行管理和操作,提高虚拟化环境的稳定性和灵活性。

在已安装KVM的虚拟机上查看libvirtd命令所在位置

whereis libvirtd

在这里插入图片描述

已安装KVM的虚拟机上查看libvirtd配置文件

vim /etc/libvirt/libvirtd.conf		# 一共有536行,其中大部分都是注释行

查看服务状态

# libvirtd是libvirt守护进程,负责处理与虚拟化相关的请求,并提供对虚拟机的管理功能
systemctl status libvirtd

在这里插入图片描述

安装KVM软件组

标识Server
主机root@Server
IP地址192.168.110.1/24
软件组Virtualization Host

列出所有软件组

dnf grouplist

在这里插入图片描述

安装KVM软件组

dnf groups install -y Virtualization*		# 此处需要安装114个软件包

在这里插入图片描述

查看已经安装的软件组

dnf grouplist --installed

在这里插入图片描述

启动服务

systemctl enable --now libvirtd.service

可以通过virt-manager打开控制台

virt-manager

在这里插入图片描述

或者通过菜单栏打开控制台
在这里插入图片描述

新建连接

  1. 选择连接类型
    在“Add Connection”对话框中,你会看到几种不同类型的连接可供选择,比如QEMU/KVM、Xen、LXC等。根据你的环境和需求,选择适当的连接类型。对于大多数基于QEMU/KVM的虚拟化环境,应该选择“QEMU/KVM”连接类型。
  2. 填写连接详情
    对于选定的连接类型,你需要填写相关的连接详情。对于QEMU/KVM连接,你通常只需要保留默认设置,除非你有特殊的需求,比如使用非默认的URI或需要配置SSH隧道。
    • Name:为你的连接起一个名字,这样你就可以在virt-manager中轻松识别它。
    • Host:如果你的虚拟化环境运行在本机上,通常可以留空。如果是远程主机,则输入远程主机的地址。
    • Port:通常使用默认的端口号,除非你的虚拟化环境使用了不同的端口。
    • Connect via:对于本地连接,选择“Local (TCP/IP)”。对于SSH隧道,选择“SSH”并填写SSH的详情。
    • Authentication:如果需要的话,填写用于身份验证的用户名和密码。

以下保持默认即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

软件网桥

网桥是数据链路层设备,根据MAC地址在网络中转发数据包,在Linux系统可以通过软件网桥模拟实现网桥。在KVM虚拟环境中,可以将多张虚拟网卡共享物理网卡。

网桥的类型

  • 类型1:通过NAT,是内部网络和外界通信
  • 类型2:使虚拟机可以直连外界物理网络
    在这里插入图片描述

新建软件网桥br10

nmcli connection add type bridge con-name br10 ifname br10		# 先创建软件网桥
nmcli connection add type bridge-slave con-name br10-port1 ifname ens160 master br10 	# 将ens160网卡与软件网桥连接
nmcli connection up br10		# 启动连接

新建KVM虚拟机–图形界面

打开Virtual Machine Manager控制台
在这里插入图片描述

选择安装操作系统的方式

  • Localinstall media (lSO image or CDROM)【本地安装介质(ISO映像或CDROM)】
  • NetworkInstall (HTTP, HTTPS, Or FTP)【网络安装(HTTP/HTTPS/FTP)】
  • Import existing disk image【导入现有磁盘映像】
  • Manual install【手动安装】

以下选择本地安装介质
在这里插入图片描述

选择安装介质的位置,我们提前将需要将iso镜像移动到qemu用户能访问的目录下

  • 可以移动到默认目录下:/var/lib/libvirt/images
  • 或者是我们下面所使用的目录:/tmp
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

选择CPU和内存,这里默认即可

在这里插入图片描述

选择硬盘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

启动appium服务的2种方法(python脚本cmd窗口)

1.通过cmd窗口命令来启动 2.通过python代码启动 2.1启动单个appium服务 2.2启动多个appium服务 3.端口说明 一.端口号设置Appium服务器端口:4723 bp端口:4724 Appium服务器端口:4725 bp端口:4726可以看到appium服务器端口和bp端…

3D抓取算法的网络结构原理及作用

3D抓取算法是一个基于深度学习的算法,旨在从点云数据中预测出最佳的抓取姿态。该算法的网络结构主要由接近网络、操作网络和容忍网络三个网络组成。下面我将详细讲解这三个网络的原理和作用。 1. ApproachNet(接近网络) 原理:Ap…

深入浅出Python机器学习:从零开始的SVM教程/厾罗

导言: 在众多机器学习算法中,支持向量机(Support Vector Machine, SVM)以其强大的分类能力和理论背景受到了广泛的应用。SVM不仅在学术领域表现出色,而且在工业界也有着极高的声誉。本文将带领大家从零开始&#xff0…

【数据库】MySQL数据表记录改操作

修改语句:作用修改记录里的部分值 一、修改单表记录 语法: update 表名 set 字段名1新的值,字段名2新值,.......where 条件; 案例:修改学生表中姓王的同学的班级都改为11601 UPDATE students SET class11601 WHERE sname LIKE 王%; 二、…

Redis快速入门操作

启动Redis 进入命令行客户端 字符串命令常用操作(redis默认使用字符串来存储数据) 列表(Lists)常用操作 集合(Sets)常用操作 (无序集合且元素不可重复) 有序集合(So…

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先! YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er 详细的改进…

springboot + redis 分布式锁在事务提交后再释放锁

目录 常规做法: 常规加锁: 解决办法: 业务描述:新增一个对象,将数据保存到数据库中,且限制最多只能添加15条。 常规做法: Transactional(rollbackFor Exception.class) public Result add…

PCL SAC_IA配准高阶用法——统计每次迭代的配准误差并可视化

目录 一、概述二、代码实现三、可视化代码四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 在进行论文写作时,需要做对比实验,来分析改进算法的性能,期间用到了迭代误差分布统计的比较分析,为直…

Java web应用性能分析之服务端慢和优化概叙

前面已经分析了客户端慢、前端页面慢、入口Nginx慢,按照上图接下来就是我们服务端重点的接口慢分析优化、服务器资源性能瓶颈分析、服务器带宽性能瓶颈分析。 性能优化的目的 性能优化的目标是提高应用的性能,使其更加高效、稳定和可靠。性能优化包括服…

CSS 格式化上下文 + CSS兼容处理

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍CSS 格式化上下文🔥1 格式化上下文🌷1.1 块级格式化…

程序员之路的砥砺前行

成为程序员后,我明白了技术成长的重要性。程序员之路,是一场砥砺前行的旅程,充满了挑战与机遇。在这个过程中,我不仅在技术上取得了显著的成长,还学会了如何持续学习和进步。 记得刚开始学习编程时,我对编…

Kubernetes Pod的配置管理 ConfigMap和Secret

目录 前言 一、为什么需要配置管理 二、使用ConfigMap管理Pod的配置信息 2.1 创建ConfigMap(4种方式) 2.1.1 指定ConfigMap的参数创建 2.1.2 指定配置文件创建ConfigMap 2.1.3 通过一个文件内的多个键值对创建ConfigMap 2.1.4 yaml文件创建Config…

环境多介质逸度模型实践技术与典型案例【代码】

随着污染物在各种环境中的迁移和转化,多介质污染物模型日益受到关注。在各类多介质模型中,基于逸度概念的逸度模型由于运用范围广,建模数据要求较低而广受欢迎。 专题一:基本理论 1.逸度的定义 2.逸度模型的基本原理 3.各介质…

Java字符流-reader与writer

目录 1、字符流 1.1 Reader 1.2 Writer 1.3 字符流拷贝文件 1.3.1 字符流拷贝文件实现一 1.3.2 字符流拷贝文件实现二 1.4 字符流的异常处理 1.5 字符流的缓冲区 1.6 装饰器模式 1、字符流 计算机并不区分二进制文件与文本文件。所有的文件都是以二进制形式来存储的&…

Golang | Leetcode Golang题解之第36题有效的数独

题目: 题解: func isValidSudoku(board [][]byte) bool {var rows, columns [9][9]intvar subboxes [3][3][9]intfor i, row : range board {for j, c : range row {if c . {continue}index : c - 1rows[i][index]columns[j][index]subboxes[i/3][j/3]…

爆炸之linux-nacos2.0系列集群安装部署

一、环境配置 1、新建磁盘分区 fdisk /dev/vdb 2、创建文件系统 mkfs.xfs /dev/vdb13、创建挂载点: 在 / 目录下创建一个新的目录作为挂载点。/afc 目录 mkdir /afc4、挂载磁盘: 使用 mount 命令将磁盘挂载到新创建的目录。 mount /dev/vdb /afc5、…

用html写一个搜索页面

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>搜索框设计</title><link rel"stylesheet" href"./style.css"> </head> <body> <div class"se…

浅谈Linux里的软硬链接

浅谈Linux里的软硬链接 本机环境 VMware WorkStation 17Linux发行版&#xff1a; CentOS7执行权限&#xff1a;root 软链接 Linux下的软链接 其实 和Windows下的快捷方式是一样的。 拥有这样几个特性&#xff1a; Linux的软链接创建后&#xff0c;删除软链接对源文件没有…

pytorch-手写数字识别之全连接层实现

目录 1. 背景2. nn.Linear线性层2. 实现MLP网络3. train4. 完整代码 1. 背景 上一篇https://blog.csdn.net/wyw0000/article/details/137622977?spm1001.2014.3001.5502中实现手撸代码的方式实现了手写数字识别&#xff0c;本文将使用pytorch的API实现。 2. nn.Linear线性层…

【感受C++的魅力】:用C++演奏歌曲《起风了》——含完整源码

文章目录 一、运行效果二、代码实现1. 引入部分2. 枚举3. 音色定义4. 演奏速度定义5. 特殊定义6. 模拟风声 三、完整代码 一、运行效果 【C的魅力】&#xff1a;用C演奏歌曲《起风了》 二、代码实现 1. 引入部分 #include <iostream> #include <Windows.h> #prag…