本站已运行

攻城狮论坛

作者: IT邓邓爱踢
查看: 396|回复: 0

more +今日重磅推荐Recommend No.1

所有IT类厂商认证考试题库下载所有IT类厂商认证考试题库下载

more +随机图赏Gallery

【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集
【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课
原创_超融合自动化运维工具cvTools原创_超融合自动化运维工具cvTools
重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)
链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享
某linux大佬,积累多年的电子书(约300本)某linux大佬,积累多年的电子书(约300本)
乾颐堂现任明教教主Python完整版乾颐堂现任明教教主Python完整版
乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)
Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天
约21套Python视频合集 核心基础视频教程(共310G,已压缩)约21套Python视频合集 核心基础视频教程(共310G,已压缩)
最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程
最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器

[其他考试] 泰涨知识 | 虚拟化技术KVM

[复制链接]
查看: 396|回复: 0
开通VIP 免金币+免回帖+批量下载+无广告
虚拟化技术的介绍: P9 K' _& u9 {7 S: [, y
在谈kvm之前我们先来讲一下虚拟化,那到底什么是虚拟化呢? 虚拟化是一种资源管理技术,它将计算机的各种实体资源(CPU、内存、存储、网络等)进行抽象和转化,并提供分割、重新组合,以达到最大化利用物理资源的目的。

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
图1-1(传统架构)

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
          图1-2(引入虚拟化后的架构)

4 y7 n! U5 [  ^) e8 g0 @+ U
我们在把虚拟化以后的架构单独拿出来谈一下,我们可以看到它相较于传统的架构多了虚拟化层(或者说也可以叫做vmm/hypervisor)就是为了达到虚拟化而引入的一个软件层。1 ?( ]3 d7 Q" F4 K  _& C

' R' R( H7 |, i: \! T
它向下掌控实际的物理资源(相当于原本的操作系统);向上呈现给虚拟机N份逻辑的资源,虚拟化层运行在实际物理环境上,在其上会运行虚拟机,而虚拟机的系统我有时也把它叫做guest os,接下来我们来看一下虚拟化的具体实现就是kvm。( E3 i& h0 b/ u

- R, q6 B8 ~1 v: Skvm
/ k" D  j1 T3 o8 R  n: b  F! {8 R1、介绍
4 z# p" ~, _: I
KVM全称是Kernel-based Virtual Machine,即基于内核的虚拟机,他是虚拟化的一种具体实现,KVM是由Qumranet公司开发的,并没有选择从底层开始新写一个Hypervisor,而是选择了基于Linux kernel,通过加载模块使Linux kernel本身变成一个Hypervisor,从此kvm模块成为linux内核的一部分。

/ ^  O3 L* K+ _0 W
我们接下来来讲一下kvm的架构,kvm主要由两部分组成,一个是kvm内核模块,一个是qemu。
4 u& Z6 ?$ x" F; q) D: d+ Q/ A

8 J) z1 e* K: t& M1 V( Q
Kvm模块:他是linux内核的一部分,当linux操作系统加载了kvm内核模块就仿佛变成了hypervisor,可以去实现虚拟化,主要负载cpu和内存虚拟化的实现,并且他是基于硬件的方式实现cpu和内存虚拟化,所以需要开启具体硬件的虚拟化功能,并且针对不同的cpu会加载不同的kvm模块(主要分为amd模块和intel的模块)。
qemu:qemu原本就是一个著名的开源虚拟机软件项目,而不是KVM虚拟化软件的一部分。  v9 p5 U2 w+ g* m5 [
0 X; Z% }3 T) _) C' ]& J& j
与KVM不同,qemu最初实现的虚拟机是一个纯软件的实现,通过二进制翻译来实现虚拟化客户机中的CPU指令模拟,所以性能比较低,当被引入kvm架构当中以后,他只是负责实现I/O虚拟化的功能,并且它被拉起以后只是普通的linux进程,它可以模拟包括磁盘,网卡,声卡等,同时也可以通过/dev/kvm的字符设备和kvm内核模块实现交互。

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
    图1-3# s/ P& ?7 b& ?# {7 R( b5 V7 n

& ~# p$ D; Y, ?. [( `* X/ X9 {. @
从上图我们可以很清楚的了解到kvm的架构,他是由天生集成在linux当中的kvm内核模块和qemu进程构成,并且每个虚拟机就是一个qemu进程,有多少个虚拟机就会有多少个qemu进程进程。

1 V* s9 Y: o( Y) Y
2、管理架构
一个成熟的虚拟化实现离不开良好的管理和运维工具,部署、运维、管理的复杂度与灵活性是企业实施虚拟化时重点考虑的问题。KVM目前已经有了一套自己的管理模型它的架构如下:

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
   图1-4

) t" v5 F6 }. v
从上图我们可以看到整个kvm虚拟化实现的架构,底层是kvm虚拟化平台,在向上是libvirt,以及在libvirt之上的各种管理工具(management tools),那现在分别给大家介绍一下。
【Libvirt】( P) v$ ]; x9 i& D
为了更方便地管理平台虚拟化技术而设计的它包含应用程序接口、守护进程和管理工具, 它不仅提供了对虚拟化客户机的管理,也提供了对虚拟化网络和存储的管理它也支持对于不同的虚拟化平台的管理包括,kvm,xen,vmware等,libvirt通过不同的驱动去实现对于不同的虚拟化平台的对接,它是作为管理工具和虚拟化平台之间的中间层,帮我屏蔽底层的各种细节,向上提供统一的接口给各种管理工具使用
【管理工具】
那我们知道libvirt给我们提供的是api接口我们需要通过编程的方式进行调用,显然不符合我们使用的习惯,所以我们引入了各种管理工具,通过管理工具调用api接口,并且给我呈现更加方便和简单的使用方式,那我们现在来介绍一些主流的管理工具:
virsh: virsh是用C语言编写的一个使用libvirt API的虚拟化管理工具,libvirt项目的源代码中就包含了virsh这个虚拟化管理工具的代码,virsh是用于管理虚拟化环境中的虚拟机和Hypervisor的命令行工具
virt-viewer是“Virtual Machine Viewer (虚拟机查看器)它是一个显示虚拟化客户机的图形界面的工具
virt-install为虚拟客户机的安装提供了一个便捷易用的方式
virt-manage(虚拟机管理器)是用于管理虚拟机的图形化的桌面用户接口,目前仅支持在Linux或其他类UNIX系统中运行
, R. e- S- P1 k$ N" R8 d& ]
3、安装使用
实验环境:我这边选择使用vmwareworkstation进行实验
9 s6 }( k8 a4 H
* l. J7 o6 r, w( V
1. 我们需要在vmwareworkstation创建虚拟机,并且一定要开启虚拟化功能

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
6 |, c( f6 B9 K: M4 J. M
2. 安装的linux系统(我这边选择centos 8.0)
3. 选择安装虚拟化相关组件(其他系统安装步骤我这边省去了)

* b$ C. h" ]) }% h; o' q9 o' B0 G

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM

+ Y# c2 H4 O9 `' H: W' e5 {0 L
4.等系统安装完成,那我们的kvm也安装完成了
5.检查
通过命令可以看到相应的kvm模块
[czw@localhost ~]$ lsmod | grep kvm
kvm_amd               106496  0
ccp                    98304  1 kvm_amd
kvm                   745472  1 kvm_amd
irqbypass              16384  1 kvm
通过命令看一下qemu进程是否被拉起, 但是只有你运行虚拟机之后才能看到对应的进程
[czw@localhost ~]$ ps -aux | grep qemu
通过上述命令我们可以看到libvirtd已经被拉起
[czw@localhost ~]$ ps -aux | grep libvirtd
root  1039  0.0  0.7 1840320 42204 ?    Ssl  02:20   0:00 /usr/sbin/libvirtd
6.简单使用
从前面的架构图我们可以知道我们一般是通过管理工具去操作虚拟化平台,那这边我们可以去使用virt-manager这个图形化工具,我们可以在命令行输入命令去调用该工具
[czw@localhost ~]$ virt-manager
点击如如图所示选项创建虚拟机

- w7 f" M0 j6 P! A+ x: i$ @4 U

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
6 d3 ]1 p& t# V$ L) I
选择系统的引导方式,选择用iso安装

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
' b& E# ~( h6 O1 d6 B
选择本地的iso系统以及对应的操作系统
" M3 A0 l' t  @+ X" \, l

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM

2 ^, d, w  b# ^7 l! h
选择内存大小和cpu规格

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
3 r. c0 f4 J2 K6 D) ]! W
选择磁盘大小

. |- z# ?0 a3 O5 }9 M8 o; H! _

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM

, O) a# {, `8 t- e
配置虚拟机名字和网络类型按默认配置就行

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
9 K0 ^  |' H; h5 w! c$ J& h
经过上述步骤就完成了虚拟机的创建。( Z1 _0 @; L2 K4 j/ Q

1 a% `# U; A6 E- I* c4 l% e结束语' s9 j* ]2 H& j/ j# _! b; A( h
0 Y$ Q+ {; o  i$ n- K
Kvm也是时下最主流的虚拟化实现,学习和使用kvm可以帮助大家对于虚拟化以及其之上的云计算有个更深入的了解,希望本次的内容能让大家有所收获。

/ X. ~+ X$ O3 v- j: i% p' z# F0 s$ ~

泰涨知识 | 虚拟化技术KVM

泰涨知识 | 虚拟化技术KVM
CCNA考试 官方正规报名 仅需1500元
回复 论坛版权

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图浏览|手机版|网站地图|攻城狮论坛

GMT+8, 2026-7-5 14:48 , Processed in 0.104201 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

Designed by ARTERY.cn