在VMware Workstation的Centos上实现KVM虚拟机的安装部署:详细安装部署过程(保姆级)

KVM概述

• 以色列qumranet公司研发,后被RedHad公司收购
(1)kvm只支持x86平台
(2)依赖于 HVM,inter VT AMD-v

• KVM是(Kernel-based Virtual Machine)的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。

• KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

工作原理

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

KVM的整体结构:

从GUI到Linux内核,包括以下五个组件:
1、virt-manager: 一个用来管理VM的GUI/CUI用户接口,它使用libvirt api 调用VM的各种功能。
2、libvirt:API库,作为较通用的服务器虚拟化软件,它支持Xen,VMware ESXi/GSX,当然,还有QEMU/KVM。
3、QEMU:一个和KVM内核模块交互的模拟器,处理多种客户机系统请求如I/O,一个QEMU进程对应一个客户机系统。
4、KVM内核模块: 从狭义上来说,KVM是一个Linux内核模块,主要负责vCPU的创建,虚拟内存的分配,vCPU寄存器的读写以及vCPU的运行。
5、Bridge-utils - Bridge-utils是一个Linux桥接工具集合,用于创建和配置网络桥接设备。在KVM中使用网络桥接可以实现更高效的网络通信。

KVM的安装与部署

镜像下载地址: http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/

如果是物理服务器,需要在BIOS中打开虚拟化功能(Virtualization Technology),一般的服务器默认是打开这个功能的。
如果是用VMware Workstation做实验,建立的虚拟机的CPU要勾选虚拟化功能,这样虚拟机才会支持KVM虚拟化

首先准备一台新的虚拟机,处理器也不要只给一个
在这里插入图片描述
配置好以后就可以启动了
查看内核中的KVM模块是否已经安装

[root@server159 ~]# lsmod  | grep kvm
kvm_intel             188740  0 
kvm                   637289  1 kvm_intel
irqbypass              13503  1 kvm

在这里插入图片描述
然后就安装KVM所需要的组件

[root@server159 ~]# yum install qemu qemu-img qemu-kvm  libvirt  libvirt-python  libguestfs-tools virt-manager  virt-viewer  virt-install -y

启动libvirtd服务,并设置为开机自启

[root@server159 ~]# systemctl  start  libvirtd
[root@server159 ~]# systemctl  enable  libvirtd

创建一个目录来存放虚拟磁盘,跟在window上创建一个目录存放VMware一样
然后创建虚拟磁盘

[root@server159 ~]#  mkdir  -p  /data/kvm
[root@server159 ~]# qemu-img  create  -f  raw  /data/kvm/server1.raw  10G
Formatting '/data/kvm/server1.raw', fmt=raw size=10737418240 

我们创建了一个10G的虚拟磁盘,但是并不会直接占用我们的10G内存,是根据使用量来决定的

[root@server159 ~]# ls  -lh  /data/kvm/server1.raw 
-rw-r--r-- 1 root root 10G Nov 23 19:52 /data/kvm/server1.raw
[root@server159 ~]# du  -h  /data/kvm/server1.raw 
0	/data/kvm/server1.raw

然后创建一个目录来保存并下载KVM安装的镜像,

[root@server159 ~]# ls /data/iso/
CentOS-7-x86_64-Minimal-2009.iso

配置br0网卡来提供桥接网络

[root@server159 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0

然后ens33和br0网卡的设置

[root@server159 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 
TYPE=Bridge
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.121.159
PREFIX=24
DNS1=192.168.121.2
GATEWAY=192.168.121.2
[root@server159 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
BRIDGE=br0

然后重启网络

[root@server159 ~]# systemctl restart network

查看ip在哪张网卡

[root@server159 ~]# ifconfig 
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.121.159  netmask 255.255.255.0  broadcast 192.168.121.255inet6 fe80::250:56ff:fe22:e283  prefixlen 64  scopeid 0x20<link>ether 00:50:56:22:e2:83  txqueuelen 1000  (Ethernet)RX packets 32  bytes 2012 (1.9 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 34  bytes 2500 (2.4 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::250:56ff:fe22:e283  prefixlen 64  scopeid 0x20<link>ether 00:50:56:22:e2:83  txqueuelen 1000  (Ethernet)RX packets 874221  bytes 1263022646 (1.1 GiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 68757  bytes 6441324 (6.1 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

然后修改VNC访问的密码

[root@server159 ~]# vim /etc/libvirt/qemu.conf 

在这里插入图片描述

然后开始安装我们的虚拟机

[root@server159 ~]# virt-install --name=server1  --virt-type=kvm --memory 1024,maxmemory=2048  --cdrom=/data/iso/CentOS-7-x86_64-Minimal-2009.iso  --disk path=/data/kvm/server1.raw   --network bridge=br0  --vnc --vncport=5901 --vnclisten=0.0.0.0  --noautoconsole  --autostart

在这里插入图片描述
看一下端口启动没有
在这里插入图片描述
然后去我们window上安装的Real VNC通过这个端口访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接进来以后就是这个界面,这个大家都熟悉, 我就不介绍了
根据自己要求来配就好了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装好以后就直接重启KVM虚拟机,当然VNC就会直接断开连接
然后在宿主机查看KVM虚拟机的情况

[root@server159 ~]# virsh listId    Name                           State
----------------------------------------------------
[root@server159 ~]# virsh start server1
Domain server1 started[root@server159 ~]# virsh listId    Name                           State
----------------------------------------------------2     server1                        running

然后这时候就可以用VNC来连接KVM虚拟机了
在这里插入图片描述
然后使用Xshell连接
在这里插入图片描述
在这里插入图片描述

可以看到是可以连接的,也ping通百度访问外网,现在就和我们的宿主机差不多了

这样我们的KVM虚拟机就安装好了

希望对大家有用

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

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

相关文章

Spark---补充算子

一、Spark补充Transformation算子 1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin 作用在K&#xff0c;V格式的RDD上。根据K进行连接&#xff0c;对&#xff08;K&#xff0c;V&#xff09;join&#xff08;K&#xff0c;W&#xff09;返回&#xff08;K&#xff0c;&a…

世界复合医学杂志世界复合医学杂志社世界复合医学编辑部2023年第8期目录

论著 能谱&#xff08;Revolution&#xff09;CT胸腹联合胸痛三联CTA扫描对急性胸痛患者疾病的差异分析 左明飞;温丽娟;焦宇; 1-38 超声引导下肩袖间隙注射及肩胛上神经阻滞联合触发点针刺治疗粘连性肩关节囊炎的疗效分析 余菲;王娴;戴甫成;张维;刘武;孙勇; 4-8 神…

python tkinter 使用(六)

python tkinter 使用&#xff08;六&#xff09; 本文主要讲述tkinter中进度条的使用。 1:确定的进度条 progressbar tkinter.ttk.Progressbar(root, mode"determinate", maximum100, value0) progressbar.pack()def updateProgressBar():for i in range(100):pr…

【Unity】 UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用

1. 什么是PhysicsRaycaster组件&#xff1f; PhysicsRaycaster是Unity UGUI中的一个组件&#xff0c;用于在UI元素上进行物理射线检测。它可以检测鼠标或触摸事件是否发生在UI元素上&#xff0c;并将事件传递给相应的UI元素。 2. PhysicsRaycaster的工作原理 PhysicsRaycast…

【Proteus仿真】【51单片机】智能垃圾桶设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用报警模块、LCD1602液晶模块、按键模块、人体红外传感器、HCSR04超声波、有害气体传感器、SG90舵机等。 主要功能&#xff1a; 系统运行后&#xf…

基于GPRS的汽车碰撞自动报警系统(论文+源码)

1. 系统设计 本次基于GPRS的汽车碰撞自动报警系统的设计中&#xff0c;其主要的目标功能如下&#xff1a;1、实时检测当前的GPS精度和纬度坐标&#xff1b;2.当发生碰撞后系统自动将当前的信息通过GPRS数据发送到远端数据进行报警&#xff1b;3、系统在碰撞后一方面进行本地报警…

听GPT 讲Rust源代码--src/tools(2)

题图来自AI生成 File: rust/src/tools/rust-analyzer/crates/hir-def/src/src.rs rust-analyzer 是一个 Rust 语言的语法分析器和语义分析器&#xff0c;用于提供代码补全、导航、重构等开发工具。而 rust-analyzer 的代码实现存储在 rust/src/tools/rust-analyzer 这个文件夹中…

010 OpenCV中的4种平滑滤波

目录 一、环境 二、平滑滤波 2.1、均值滤波 2.2、高斯滤波 2.3、中值滤波 2.4、双边滤波 三、完整代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、平滑滤波 2.1、均值滤波 在OpenCV库中&#xff0c;blur函数是一种简…

递归剪枝题

期中考终于考完了&#xff0c;整道题奖励下自己 我一北大同学问我的&#xff0c;说他递归超时了&#xff0c;叫我想一个办法 后面他说他加了个剪枝就过了&#xff0c;然后我自己尝试了一个方法&#xff1a; 就是先把城市按1到n排列&#xff0c;然后考虑互换&#xff0c;如果互…

考过了PMP,面试的时候应该怎么办?

近期喜番在后台收到了很多同学们的私信&#xff0c;表示自己已经过了8月份的PMP考试&#xff0c;开始着手往项目管理岗位转型&#xff0c;但是对于项目管理岗位的面试却一筹莫展。放轻松&#xff0c;大家的需求喜番都了解了&#xff0c;喜番给大家总结了一些项目经理在面试的时…

SpringCloud 微服务全栈体系(十七)

第十一章 分布式搜索引擎 elasticsearch 七、搜索结果处理 搜索的结果可以按照用户指定的方式去处理或展示。 1. 排序 elasticsearch 默认是根据相关度算分&#xff08;_score&#xff09;来排序&#xff0c;但是也支持自定义方式对搜索结果排序。可以排序字段类型有&#…

【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用

使用fastapi的时候&#xff0c;swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有时候无法加载&#xff08;国内环境原因或者是局域网屏蔽&#xff09;&#xff0c;此时就需要自己用魔法下载好对应文件&#xff0c;然后替换到fastapi里面去。 fastapi里面依靠这…

计算机视觉(CV)技术的优势:

计算机视觉&#xff08;CV&#xff09;技术的优势&#xff1a; 自动化&#xff1a;计算机视觉技术可以自动化处理大量的视觉数据。 精度和速度&#xff1a;计算机视觉技术可以在很短的时间内对大量的图像数据进行处理&#xff0c;并且可以达到非常高的精度。 可靠性&#xff…

【微软技术栈】使用(TAP)基于任务的异步模式

本文内容 使用 Await 挂起执行取消异步操作监视进度使用内置的基于任务的连结符构建基于任务的连结符构建基于任务的数据结构 c#使用基于任务的异步模式 (TAP) 处理异步操作时&#xff0c;可以使用回叫实现等待&#xff0c;而不会阻塞。 对于任务&#xff0c;这可通过 Task.C…

java学习part07数组工具类

1比较内容 2输出信息 3值填充 4快速排序 5二分查找 负数没找到&#xff0c;其他表示下标

ES6 — ES14 新特性

一、ES6 新特性&#xff08;2015&#xff09; 1. let和const 在ES6中&#xff0c;新增了let和const关键字&#xff0c;其中 let 主要用来声明变量&#xff0c;而 const 通常用来声明常量。let、const相对于var关键字有以下特点&#xff1a; 特性varletconst变量提升✔️全局…

【漏洞复现】金蝶云星空管理中心 ScpSupRegHandler接口存在任意文件上传漏洞 附POC

漏洞描述 金蝶云星空是一款云端企业资源管理(ERP)软件,为企业提供财务管理、供应链管理以及业务流程管理等一体化解决方案。金蝶云星空聚焦多组织,多利润中心的大中型企业,以 “开放、标准、社交”三大特性为数字经济时代的企业提供开放的 ERP 云平台。服务涵盖:财务、供…

什么是切片

切片&#xff0c;是一个比较生疏的名词&#xff0c;这是现代计算机编程语言或者说Python里的一个概念&#xff0c;大致意思是从一个集合里切出一块来&#xff0c;就像切一块豆腐&#xff0c;一刀下去切出两块豆腐 先看一个函数range、返回值是列表&#xff0c;内容和传入range…

【MySQL】mysql中不推荐使用uuid或者雪花id作为主键的原因以及差异化对比

文章目录 前言什么是UUID?什么是雪花ID?什么是MySql自增ID?优缺点对比UUID:优点1.全球唯一性2.无需数据库支持 缺点1.存储空间大2.索引效率低3.查询效率低 雪花ID&#xff1a;优点1.分布式环境下唯一性 缺点1.依赖于机器时钟2.存储空间较大3.查询效率低 MYSQL自增:优点1.简单…

qml PathView使用介绍

PathView 是 QML 的一个强大的元素,它能够在任意路径上布局和滚动项目。这使得创建复杂的滚动视图和项目动画变得相对更简单。 以下是 PathView 的一些主要特性: 路径定义: PathView 根据 Path 元素定义的路径布局项目。路径可以是简单的直线,复杂的曲线,或者包含多个不同…