【超详细~KVM】KVM概述、安装及简单操作-------从小白到大神之路之学习运维第91天

第四阶段提升

时  间:2023年8月30日

参加人:全班人员

内  容:

KVM概述、安装及简单操作

目录

一、KVM 概述

二、KVM工作原理

三、KVM应用场景

四、centos7 下安装部署

五、新建虚拟机步骤

1、创建存储池并创建存储卷

2、点击+号创建KVM存储池

3、创建存储卷

4、创建ISO存储池

5、利用winscp工具,将主机上的镜像上传到虚拟机的ISO的目录

6、生成新虚拟机

六、KVM的简单操作


一、KVM 概述

        KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术。

它使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。

        KVM 允许虚拟机直接访问物理硬件资源,从而提供出色的性能和稳定性,同时还支持许多常见的操作系统和应用程序。

        KVM 使用了 QEMU (Quick Emulator) 作为其默认的虚拟机监控程序。

        除此之外,KVM 还支持多种嵌入式和云计算场景,并且得到了广泛的应用。

二、KVM工作原理

        KVM 的工作原理是使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。

        具体来说,它在 Linux 内核之上构建一个虚拟化层,该虚拟化层允许多个虚拟机共享物理服务器上的计算资源(如 CPU、内存和 0 设备)。在此虚拟化层中,每个虚拟机都被视为单独的计算机,每个虚拟机可以运行不同的操作系统和应用程序。

        KVM使用硬件虚拟化技术,即通过 intel VT-x 和 AMD-V 等 CPU 虚拟化指集的支持,将虚拟化性能提升到接近原生性能。

        此外,KVM 还使用 QEMU 作为其虚拟机监控程序,QEMU为每个虚拟机提供了一个虚拟化的环境,在该环境中,虚拟机可以访问它需要的资源(如磁盘、网络和其他I/0 设备)。

        同时,KVM 利用 Linux 内核的强大功能,如分时调度和内存管理,来确保多个虚拟机之间的隔离性和安全性。

        综上所述,KVM 的工作原理是结合硬件虚拟化技术和 Linux 内核的虚拟化模块,创建出一个虚拟化层,将物理服务器划分为多个虚拟机,并为每个虚拟机提供一个虚拟化的环境,从而实现资源共享和隔离。

三、KVM应用场景

        KVM 作为一种强大的硬件虚拟化技术,在许多场景下都具有广泛的应用,以下是几个主要的应用场景:

        1.云计算: KVM 在云计算中表现优异,可用于构建虚拟私有云、虚拟机托管服务等。KVM可以帮助企业实现资源共享、高可用性和快速部署的目标,同时还可以提高数据安全性和隔离性。

        2.Web 托管: KVM 可以用于 Web 服务器的虚拟化,通过将多个虚拟机分配在一个物理服务器上,可以极大地提高服务器的利用率和性能。同时,KVM 还提供了快速备份和恢复数据的功能,保证了服务器的高可靠性。

        3.测试和开发:KVM 可以帮助开发者创建多个虚拟机进行测试和开发,从而提高软件开发周期的效率和速度。开发者可以在虚拟机中运行不同的操作系统和应用程序,隔离他们的开发环境,同时可以在开发过程中随时备份和还原虚拟机。

        4.HPC(高性能计算): KVM 可以用于构建 HPC 集群系统。通过虚拟化技术,HPC 集群系统可以实现资源共享和高效管理,同时保证计算资源的隔离性和安全性。

        5.VDI(虚拟桌面基础设施): KVM 可以用于构建VDI 系统,将多个桌面虚拟机部署在一个物理服务器上,实现桌面虚拟化。VDI 系统可以提供远程访问、资源共享和快速部署的功能,同时可以保证数据隔离和安全性。

四、centos7 下安装部署

下面是在 Centos 7 上安装和部署 KVM 的步骤:

1、硬性条件,支持VT技术

确保您的系统支持虚拟化技术,可以通过以下命令来检查:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果返回结果大于 0,则表示您的系统支持虚拟化技术

2.安装 KVM 和相关软件包,可以通过以下命令来安装:

[root@localhost ~]# yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager

3.创建一个网络桥接器:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0

[root@localhost network-scripts]#

vim   ifcfg-br0

编辑如下内容:

4.配置网络,编辑网卡配置文件:

[root@localhost network-scripts]#

vim  ifcfg-ens33

添加如下内容:

5.重启网络服务,并检查网络:

[root@localhost network-scripts]# ifconfig

[root@localhost network-scripts]#

systemctl restart network

[root@localhost network-scripts]# ifconfig

6.测试 KVM

使用 virt-manager 工具 (可以在本地安装或远程连接) 进行测试,如果可以成功启动虚拟机,则说明 KVM 已经安装并配置成功。

        注意:在 centos7上,防火墙可能会阻止 KVM 的运行,如果您遇到问题,请确保您已将必要的端口添加到防火墙例外列表中。

五、新建虚拟机步骤

1、创建存储池并创建存储卷

双击QEMU/KVM

呈现如图

点击存储

2、点击+号创建KVM存储池

前进下一步

创建如下

3、创建存储卷

4、创建ISO存储池

前进下一步

创建如下

5、利用winscp工具,将主机上的镜像上传到虚拟机的ISO的目录

进入页面如下

选择文件传输

选择文件接收位置

文件传输

传输成功

验证

 

6、生成新虚拟机

虚拟管理器新建虚拟机

生成新虚拟机选择本地安装介质

选择镜像位置

确定镜像位置,前进下一步

根据需要,选择合适的运行内存和CPU数量,前进

前进

自定义存储,前进

点击完成

弹出如图

选择如下

选择如下

开始安装

选择中文

选择安装ubuntu

选择中文,继续安装

继续安装

选择清除,现在安装

选择位置,继续安装

选择汉语,继续安装

输入信息,创建普通用户

等待安装

安装完重启

输入用户密码进入

进入页面如下

六、KVM的简单操作

1、查看虚拟机

[root@localhost ~]# virsh list --all

2、关闭虚拟机

[root@localhost ~]# virsh shutdown ubuntu14.04

3、强制关机

[root@localhost ~]# virsh destroy ubuntu14.04

4、开启虚拟机

[root@localhost ~]# virsh start ubuntu14.04

5、通过虚拟机配置文件启动

[root@localhost ~]# virsh create /etc/libvirt/qemu/ubuntu14.04.xml

6、挂起虚拟机

[root@localhost ~]# virsh suspend ubuntu14.04

7、恢复虚拟机挂起

[root@localhost ~]# virsh resume ubuntu14.04

8、设置虚拟机开机和物理机一起自动启动

[root@localhost ~]# virsh autostart ubuntu14.04

9、设置虚拟机取消开机自动启动

[root@localhost ~]#

virsh autostart --disable  ubuntu14.04

10、备份虚拟机配置文件,备份虚拟机到根目录下

[root@localhost ~]# virsh dumpxml ubuntu14.04 > /root/ubuntu14.04.xml

11、删除虚拟机和恢复备份虚拟机

错误示范:

[root@localhost ~]# virsh undefine ubuntu14.04

[root@localhost ~]# virsh create ubuntu14.04.xml

正确做法:

[root@localhost ~]# virsh destroy ubuntu14.04

[root@localhost ~]# virsh create ubuntu14.04.xml

12、虚拟机的克隆和快照

1)虚拟机的克隆,将Centos克隆为localhost指定虚拟机磁盘文件类型

[root@localhost ~]# virt-clone -o ubuntu14.04 -n localhost -f /virtual/KVM /ubuntu14.04.qcow2

错误示范:

正确操作:

2)对Centos虚拟机创建快照

[root@localhost ~]# virsh snapshot-create ubuntu14.04

3)查看快照

[root@localhost ~]# virsh snapshot-list ubuntu14.04

4)恢复用户创建的快照

[root@localhost ~]# virsh snapshot-revert ubuntu14.04

1693386741

5)删除虚拟机创建的快照

[root@localhost ~]# virsh snapshot-delete ubuntu14.04 1693386857

6)修改虚拟机创建的快照名字

[root@localhost ~]# virsh snapshot-edit ubuntu14.04

--snapshotname 1574074089 --rename

[root@localhost ~]# virsh snapshot-list ubuntu14.04

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

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

相关文章

Java【手撕滑动窗口】LeetCode 438. “字符串中所有异位词“, 图文详解思路分析 + 代码

文章目录 前言一、字符串中所有异位词1, 题目2, 思路分析2.1, 引入哈希表找出异位词2.2, 引入变量记录"有效字符的个数"2.3, left 右移维护窗口2.4, 总结核心步骤 3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 Ja…

【QT】使用qml的QtWebEngine遇到的一些问题总结

在使用qt官方的一些QML的QtWebEngine相关的例程的时候,有时在运行会报如下错误: WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed 这个问题在main函数里面最前面加上: QCoreApplication::setAttr…

C++:初识类与this指针

文章目录 前言一、类类的定义和实例化类的访问限定符类的作用域计算类的大小 二、类的成员函数的this指针总结 个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》 前言 一、类 类的定义和实例化 注意类定义结束时后面分号( ; )不能省略。 类…

Apolo学习

安装(java1.8 mysql 5.6.5以上) 下载quickStart的包,早apollo下执行两个sql。如果不执行这两个sql,apollo是执行不起来的。会有两个表来记录apollo的执行情况。其中一个表叫apolloportaldb 在apollo目录下会有执行的包。.sh是…

嵌入式学习之进程

1.进程间通信概述 UNIX系统IPC是各种进程通信方式的统称。 2.管道通信原理 特点: 1.它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 2.它只能用于具有亲缘关系的进程之间通信(也是父子进程或者…

java设计模式---策略模式

策略模式的定义 策略设计模式是一种行为设计模式。当在处理一个业务时,有多种处理方式,并且需要再运行时决定使哪一种具体实现时,就会使用策略模式。 策略模式的类图: 策略模式的实现 在支付业务中,有三种付款方式&…

Kubernetes(k8s)上安装Prometheus和Grafana监控

Kubernetes上安装Prometheus和Grafana监控 环境准备Kubernetes准备 安装项目开始安装下载安装的项目安装项目替换镜像替换kube-state-metrics替换prometheus-adapter 修改Service修改alertmanager-service.yaml修改grafana-service.yaml修改prometheus-service.yaml 执行这些ya…

虚拟世界指南:从零开始,一步步教你安装、配置和使用VMware,镜像ISO文件!

本章目录 CentOS简介镜像下载一、新建虚拟机(自定义)1、进入主页,在主页中点击“创建新的虚拟机”2、点击创建虚拟机创建自己的虚拟机。可以选择自定义3、在“硬件兼容性(H)中选择:Workststion 15.x” ->下一步4、选择“稍后安…

Langchain使用介绍之outparser 和memory

上一篇博客中对Langchain中prompt进行了详细的介绍,此篇博客将介绍Langchain中的outparser和memory。当调用大模型生成内容时,返回的内容默认是string类型,这对于我们获取response中的某些内容信息可能会带来障碍,例如返回的内容本…

HP惠普星15青春版/惠普小欧笔记本电脑15s-du1008tx原装出厂Win11系统

适用型号:15s-du1007tx、15s-du1008tx、15s-du1009tx、15s-du1010tx、15s-du1011tx、15s-du1012tx、15s-du1013tx 自带所有驱动、出厂主题壁纸LOGO、Office办公软件、惠普电脑管家等预装程序 所需要工具:32G或以上的U盘 文件格式:ISO 文件大…

msvcr120.dll文件丢失的解决方法,四种快速解决发方法分享

你是否曾经在使用电脑时遭遇过 msvcr120.dll 文件丢失的困扰?如果你对此感到茫然无措,那么请跟随我的脚步,让我们一起探索这个问题的根源。当我一如既往地打开电脑,准备开始一天的工作时,突然发现许多应用程序无法正常…

android framework之Applicataion启动流程分析(三)

现在再回顾一下Application的启动流程,总的来说,虽然进程的发起是由ATMS服务发起的,但是进程的启动还是由AMS负责,所以需要调用AMS的startProcess()接口完成进程启动流程,AMS要处理的事情很多,它将事务交给…

WPF工控机textbox获得焦点自动打开软键盘

1.通过nuget安装 osklib.wpf 2.在textbox getFoucs中敲入如下代码即可实现获得焦点弹出软键盘 private void txtPLC_IP_GotFocus(object sender, RoutedEventArgs e){try{// Osklib.OnScreenKeyboard.Close();Osklib.OnScreenKeyboard.Show();}catch (Exception ex){MessageB…

linux添加sht3x温湿度传感器驱动记录

最近拿到一块imx6ull板子,上面有一颗温湿度传感器sht30,需要读取其数值。本人能力有限,自己写驱动还有一点困难,好在 linux内核里自带了很多器件的驱动,只需要找到相关的驱动文件根据要求修改一下设备树、添加进内核里编译就可以。…

QT(8.30)常用类与组件,实现登录界面

1.作业&#xff1a; 完成一个登录界面(图片未附带): 头文件: #ifndef WIDGET_H #define WIDGET_H#include <QWidget>#include <QLineEdit>//行编辑器#include<QIcon>//图标#include<QLabel>//标签#include<QPushButton>//按钮#include<QIc…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书海口经济学院图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书海口经济学院图书馆

ELK安装、部署、调试 (七)kibana的安装与配置

1.介绍 Kibana 是一个基于浏览器的开源可视化工具&#xff0c;主要用于分析大量日志&#xff0c;以折线图、条形图、饼图、热图、区域图、坐标图、仪表、目标、时间等形式。预测或查看输入源的错误或其他重大事件趋势的变化。Kibana 与 Elasticsearch 和 Logstash 同步工作&am…

【FPGA零基础学习之旅#11】数码管动态扫描

&#x1f389;欢迎来到FPGA专栏~数码管动态扫描 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能指正…

[深度学习]大模型训练之框架篇--DeepSpeed使用

现在的模型越来越大&#xff0c;动辄几B甚至几百B。但是显卡显存大小根本无法支撑训练推理。例如&#xff0c;一块RTX2090的10G显存&#xff0c;光把模型加载上去&#xff0c;就会OOM&#xff0c;更别提后面的训练优化。 作为传统pytorch Dataparallel的一种替代&#xff0c;D…

Python 类和对象

类的创建 Python语言中&#xff0c;使用class关键字来创建类&#xff0c;其创建方式如下&#xff1a; class ClassName(bases):# class documentation string 类文档字符串&#xff0c;对类进行解释说明class_suiteclass是关键字&#xff0c;bases是要继承的父类&#xff0c;…