KVM虚拟化平台安装及创建虚拟机

文章目录

    • 一、KVM 简介
    • 二、安装KVM虚拟化平台
      • 1、方式一:安装操作系统时,添加虚拟化功能
      • 2、方式二:基于现有系统,安装虚拟化功能
      • 3、验证KVM安装是否无误
    • 三、创建虚拟机
      • 1、创建虚拟机前环境准备工作
      • 2、创建CentOS7.5系统虚拟机

一、KVM 简介

KVM官网

KVM (Kernel-based Virtual Machine) 是一种开源的虚拟化技术,它允许在同一台物理主机上运行多个虚拟机。KVM 是由Linux内核提供的模块化功能,通过将物理主机划分为多个虚拟机,并且为每个虚拟机分配独立的资源,实现了硬件资源的共享和管理。

KVM 基于处理器的虚拟化技术(Intel VT 或者 AMD-V),可以直接利用处理器的虚拟化扩展指令集来提高虚拟机的性能。KVM 提供了完整的虚拟化环境,包括虚拟化的 CPU、内存、磁盘和网络等设备,使得虚拟机可以像独立的物理机一样运行各种操作系统和应用程序。

KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KVM 能够使用Linux 内核的已有功能。但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。

二、安装KVM虚拟化平台

注意:安装KVM虚拟化平台,需要CPU支持虚拟化才可以,需要再BIOS中设置,这个一般也是默认启动的,如果在VMware Workstation,也需要开启CPU的虚拟化功能,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UV25yANt-1693024166455)(D:\MD归档文档\IMG\image-20230826093654954.png)]

1、方式一:安装操作系统时,添加虚拟化功能

1、安装操作系统时勾选下面三个选项,如下图:

在这里插入图片描述

2、安装自动补全命令

yum install bash-completion libvirt-bash-completion -y

2、方式二:基于现有系统,安装虚拟化功能

yum groupinstall "GNOME 桌面" -y	 	 # 安装GNOME桌面环境
yum install qemu-kvm -y		 	      # KVM核心模块
yum install qemu-kvm-tools -y		  # KVM调试工具,可以选择性安装
yum install qemu-img -y 			  # 允许你创建、转换和修改镜像,能处理被qemu支持的所有镜像格式
yum install libvirt -y 				  # 管理虚拟机的工具包
yum install virt-install -y 		  # virt-install是一个使用libvirt库构建新虚拟机的命令行工具
yum install virt-manager -y		      # 图形界面管理虚拟机
yum install bridge-utils -y	          # 配置linux以太网桥
yum install bash-completion libvirt-bash-completion -y # 安装自动补全命令

3、验证KVM安装是否无误

1、验证CPU是否支持虚拟化功能,返回非0表示支持

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

2、检查KVM模块是否安装

lsmod | grep kvm
systemctl status libvirtd

如下图表示支持:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XXOC6QA5-1693024166456)(D:\MD归档文档\IMG\image-20230826095144884.png)]

三、创建虚拟机

1、创建虚拟机前环境准备工作

1、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=[e|p].*/SELINUX=disabled/g' /etc/sysconfig/selinux

2、创建两个目录,用于存放虚拟机的磁盘和ISO镜像

mkdir /root/kvm/{iso,vm} -p

3、将iso系统镜像上传至/root/kvm/iso 目录,我以CentOS7.5系统为例,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCDDqEYE-1693024166456)(D:\MD归档文档\IMG\image-20230826100222344.png)]

2、创建CentOS7.5系统虚拟机

1、打开virt-manager管理页面

virt-manager

2、创建两个存储池

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QI3ukfaw-1693024166456)(D:\MD归档文档\IMG\image-20230826101237091.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PXOb0Zh8-1693024166456)(D:\MD归档文档\IMG\image-20230826102507829.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mFVHCRbA-1693024166456)(D:\MD归档文档\IMG\image-20230826102545135.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dXP5AVSi-1693024166456)(D:\MD归档文档\IMG\image-20230826102531910.png)]

以同样的方法再创建一个镜像存储池,命名为qinzt-test-iso,目录放到为/root/kvm/iso 即可,用于放置以后KVM虚拟机使用的iso光盘镜像文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mAMLIxej-1693024166457)(D:\MD归档文档\IMG\image-20230826103739821.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rdY9MpY9-1693024166457)(D:\MD归档文档\IMG\image-20230826103752010.png)]

3、创建存储卷(虚拟机磁盘)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eYOTijJn-1693024166457)(D:\MD归档文档\IMG\image-20230826103904647.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DvBX6B7A-1693024166457)(D:\MD归档文档\IMG\image-20230826103911870.png)]

4、新建虚拟机

virt-manager

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ch9CxXbd-1693024166457)(D:\MD归档文档\IMG\image-20230826104117541.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mMmpPXaJ-1693024166458)(D:\MD归档文档\IMG\image-20230826104122903.png)]

选择ISO系统镜像文件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O2Mf4UrN-1693024166458)(D:\MD归档文档\IMG\image-20230826104128338.png)]

虚拟机的资源配置,根据需求规划:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WpD0CZJb-1693024166458)(D:\MD归档文档\IMG\image-20230826104132882.png)]

选择虚拟机的磁盘卷:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7dHOczbP-1693024166459)(D:\MD归档文档\IMG\image-20230826104137291.png)]

指定虚拟机名称,及资源确认:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2qWup9pk-1693024166459)(D:\MD归档文档\IMG\image-20230826104142036.png)]

完成后就开始安装虚拟机了,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZHY5lxcy-1693024166459)(D:\MD归档文档\IMG\image-20230826104146063.png)]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构(Java实现)LinkedList与链表(上)

链表 逻辑结构 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。 无头双向链表:在Java的集合框架库中LinkedList底层实现就是无头双向循环链表。 链表的…

数据库系统课设——基于python+pyqt5+mysql的酒店管理系统(可直接运行)--GUI编程

几个月之前写的一个项目,通过这个项目,你能学到关于数据库的触发器知识,python的基本语法,python一些第三方库的使用,包括python如何将前后端连接起来(界面和数据),还有界面的设计等…

实战项目 在线学院springcloud调用篇3(nacos,feging,hystrix,gateway)

一 springcloud与springboot的关系 1.1 关系 1.2 版本关系 1.3 list转json串 public class Test {public static void main(String[] args) {List<String> dataListnew ArrayList<String>();dataList.add("12");dataList.add("45");dataLi…

RabbitMQ死信队列

RabbitMQ死信队列 1、过期时间TTL 过期时间TTL表示可以对消息设置预期的时间&#xff0c;在这个时间内都可以被消费者接收获取&#xff1b;过了之后消息将自动被 删除。RabbitMQ可以对消息和队列设置TTL&#xff0c;目前有两种方法可以设置&#xff1a; 第一种方法是通过队列…

#systemverilog# 之 event region 和 timeslot 仿真调度(六)疑惑寄存器采样吗

一 象征性啰嗦 想必大家在刚开始尝试写Verilig HDL代码的时候,都是参考一些列参考代码,有些来自于参考书,有些来自于网上大牛的笔记,甚至有写来自于某宝FPGA开发板的授权代码。我还记得自己当时第一次写代码,参考的是一款Altera 芯片,结合Quartus 开发软件, 在上面练习…

【Go Web 篇】Go 语言进行 Web 开发:构建高性能网络应用

随着互联网的快速发展&#xff0c;Web 开发已经成为了软件开发领域中不可或缺的一部分。随之而来的是对于更高性能、更高效的网络应用的需求。在这个领域&#xff0c;Go 语言因其并发性能、简洁的语法以及丰富的标准库而备受关注。本篇博客将深入探讨如何使用 Go 语言进行 Web …

requests模板成功下载,但是不能在pycharm中运行

在做实验的过程中&#xff0c;需要用到requests&#xff0c;但是在pycharm中成功下载&#xff0c;仍然无法使用&#xff0c;找了很久&#xff0c;解决方法如下&#xff1a; 进入win中的命令提示符 下载requests模块 pip install requests输入python显示你的python的基本信息&…

分布式数据库架构:高可用、高性能的数据存储

在现代信息时代&#xff0c;数据是企业发展的核心。为了支持海量数据的存储、高并发访问以及保证数据的可靠性&#xff0c;分布式数据库架构应运而生。分布式数据库架构是一种将数据存储在多个物理节点上&#xff0c;并通过一系列复杂的协调和管理机制来提供高可用性和高性能的…

[Linux]文件IO

文章目录 1. 文件描述符1.1 虚拟地址空间1.1.1 存在的意义1.1.2 分区 1.2 文件描述符1.2.1 文件描述符1.2.2 文件描述符表 2. Linux系统文件IO2.1 open/close2.1.1 函数原型2.1.2 close函数原型2.1.3 打开已存在文件2.1.4 创建新文件2.1.5 文件状态判断 2.2 read/write2.2.1 re…

【Go Web 篇】从零开始:构建最简单的 Go 语言 Web 服务器

随着互联网的迅速发展&#xff0c;Web 服务器成为了连接世界的关键组件之一。而在现代编程语言中&#xff0c;Go 语言因其卓越的性能和并发能力而备受青睐。本篇博客将带你从零开始&#xff0c;一步步构建最简单的 Go 语言 Web 服务器&#xff0c;让你对 Go 语言的 Web 开发能力…

【UniApp开发小程序】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】

声明 本文提炼于个人练手项目&#xff0c;其中的实现逻辑不一定标准&#xff0c;实现思路没有参考权威的文档和教程&#xff0c;仅为个人思考得出&#xff0c;因此可能存在较多本人未考虑到的情况和漏洞&#xff0c;因此仅供参考&#xff0c;如果大家觉得有问题&#xff0c;恳…

vue关闭弹窗刷新父页面 this.$refs

代码截图 主页面 弹出框页面 接这一篇文章后续 参考链接

【C++】AVL树(高度平衡二叉树)

AVL树 概念AVL树节点定义AVL树节点插入AVL树四种旋转情况左单旋右单旋先左单旋再右单旋先右单旋后左单旋 元素的插入及控制平衡判断最后节点是否平衡 概念 二叉搜索树虽然可以缩短查找的效率&#xff0c;但如果数据有序或者接近有序二叉搜索树将退化为单支树&#xff0c;查找元…

视频云存储/安防监控EasyCVR视频汇聚平台接入GB国标设备时,无法显示通道信息该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

语言模型(language model)

文章目录 引言1. 什么是语言模型2. 语言模型的主要用途2.1 言模型-语音识别2.2 语言模型-手写识别2.3 语言模型-输入法 3. 语言模型的分类4. N-gram语言模型4.1 N-gram语言模型-平滑方法4.2 ngram代码4.3 语言模型的评价指标4.4 两类语言模型的对比 5. 神经网络语言模型6. 语言…

百度工程师浅析解码策略

作者 | Jane 导读 生成式模型的解码方法主要有2类&#xff1a;确定性方法&#xff08;如贪心搜索和波束搜索&#xff09;和随机方法。确定性方法生成的文本通常会不够自然&#xff0c;可能存在重复或过于简单的表达。而随机方法在解码过程中引入了随机性&#xff0c;以便生成更…

改进YOLO系列:9.添加S2Attention注意力机制

添加S2Attention注意力机制 1. S2Attention注意力机制论文2. S2Attention注意力机制原理3. S2Attention注意力机制的配置3.1common.py配置3.2yolo.py配置3.3yaml文件配置1. S2Attention注意力机制论文 论文题目:S 2 -MLPV2: IMPROVED SPATIAL-SHIFT MLP ARCHITECTURE…

Unity 之 GameObject.Find()在场景中查找指定名称的游戏对象

文章目录 GameObject.Find 是 Unity 中的一个函数&#xff0c;用于在场景中查找指定名称的游戏对象。这个函数的主要作用是根据游戏对象的名称来查找并返回一个引用&#xff0c;使您能够在代码中操作该对象。以下是有关 GameObject.Find 的详细介绍&#xff1a; 函数签名&…

SpringBoot简单上手

spring boot 是spring快速开发脚手架&#xff0c;通过约定大于配置&#xff0c;优化了混乱的依赖管理&#xff0c;和复杂的配置&#xff0c;让我们用java-jar方式,运行启动java web项目 入门案例 创建工程 先创建一个空的工程 创建一个名为demo_project的项目&#xff0c;并且…

【MySQL系列】表的内连接和外连接学习

「前言」文章内容大致是对MySQL表的内连接和外连接。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、内连接二、外连接2.1 左外连接2.2 右外连接 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选&#xff0c;前面篇章学习的…