文章目录

  • 一:虚拟化技术
    • 1.1:虚拟化技术发展
    • 1.2:虚拟化类型
    • 1.3:虚拟化的特性:
      • 优势
      • 劣势
      • 案例:
  • 二:KVM:
    • 2.1、KVM 原理简介
    • 2.2、KVM架构及原理
    • 2.3、KVM原理
    • 2.4、KVM工作流程
  • 三、kvm部署过程
    • 3.1、kvm部署拓扑图
    • 3.2、安装KVM前的环境部署
    • 3.3、安装KVM和网络配置
    • 3.4、创建kvm存储

一:虚拟化技术

通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,
同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,
从而提高计算机的工作效率

1.1:虚拟化技术发展

雏形:
1961年,IBM709机器实现了分时系统,将CPU占用切分为多个极短的时间片(1/100sec)每一个时间片执行不同的工作,通过对这些时间片进行轮询
从而将一个CPU伪装成多个CPU
1972年, IBM正式将system370机的分时系统命名为虚拟机
1990年, IBM推出的system390机支持逻辑分区(将一个CPU分为多份,相互独立,也就是逻辑分割)
Xen 2003年问世,是一个外部的hypervisor程序(虚拟机管理程序),能够控制虚拟机和给多个客户机分配资源

KVM:2007年问世,现已内置在kernel内核中的
Xen 支持的虚拟化技术:全虚拟化,半虚拟化
KVM:支持的虚拟化技术:全虚拟化

1.2:虚拟化类型

1、全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用
⭐⭐使用的方法:使用hypervisor(VMM)软件,其原理是在底层硬件和服务器之间建立一个抽象层,
而基于核心的虚拟机是面向Linux系统的开源产品hypervisor(VMM)可以捕捉CPU的指令,
为指令访问硬件控制器和外设充当中介。

2、半虚拟化:需要修改操作系统

3、直通:直接使用物理硬件资源(需要支持,还不完善)

1.3:虚拟化的特性:

优势

① 集中化管理(远程管理、维护)

② 提高硬件利用率(物理资源利用率低-例如峰值,虚拟化解决了“空闲”容量)

③ 动态调整机器/资源配置(虚拟化把系统的应用程序和服务硬件分离、提高了灵活性)

④ 高可靠(可部署额外的功能和方案,可提高透明负载均衡、迁移、恢复复制等应用环境)

劣势

① 前期高额费用(初期的硬件支持)

② 降低硬件利用率(特定场景-例如极度吃资源的应用不一定适合虚拟化)

③ 更大的错误影响面(本地物理机down机会导致虚拟机均不可用,同时可能虚拟机中文件全部损坏)

④ 实施配置复杂、管理复杂(管理人员运维、排障困难)

⑤ 一定的限制性(虚拟化技术涉及各种限制,必须与支持/兼容虚拟化的服务器、应用程序及供应商结合使用)

⑥ 安全性(虚拟化技术自身的安全隐患)

案例:

VMwareWorkstation:使用软件达到虚拟多操作系统
VirtualBox:使用软件虚拟出多物理设备功能

以VMwareworkstation为例
硬件辅助虚拟化技术Intel-VT-x AMD-V

Intel VT-x技术主要包含CPU、内存和I/O三方面的虚拟化技术,同时提供优化处理(早期为弥补X86架构虚拟化的缺陷)

AMD-V 是对x86处理器系统架构的一组硬件扩展和硬件辅助虚拟化技术,可以简化纯软件的虚拟化解决方案,

改进VMM(虚拟机监视器)的设计,更充分地利用硬件资源,提高服务器和数据中心的虚拟化效率

VMM(虚拟机监视器/管理程序)

VMM是一个系统软件,可以维护多个高效、隔离的程序环境(虚拟机),同时可以管理计算机系统的真实资源、为虚拟机提供接口

二:KVM:

2.1、KVM 原理简介

广义的KVM实际上包含两部分,

1.基于LINUX内核支持的KVM内核模块,

  • KWM内核模块模拟处器和内存以支持虚拟机的运行,

2. 经过简化和修改的Qemu。

  • Qemu主要处理 I/0以及为用户提供一个用户空间工具来进行虛拟机的管理。两者相互结合,相辅相成,构成了一个完整的虚拟化平台。

注意: Qemu本身并不是KVI的一部分,Qemu 是一套完整的虚拟化解决方案,是纯软件实现虚拟化,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟出来的,所以Qemu的性能比较低。

2.2、KVM架构及原理

KVM 虚拟化架构/三种模式
1、客户模式(guestOS):VM中的OS为GuestOS
客户机在操作系统中运行的模式,客户机分为内核模式和用户模式,作用如下:
2、用户模式
为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu工作在此模式下(Qemu的主要功能)
3、linux内核模式
模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

2.3、KVM原理

1、Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),
被KVM 置于一种受限制的CPU 模式下运行。
2、KVM :内核模块模拟处理器和内存以支持虚拟机运行

3、Qemu :主要处理I/O以及为客户提供一个用户空间/dev/kvm 工具libvirt 来进行虚拟机管理
ioctl(定义) 专用于设备输入输出操作的系统调用
libvirt:KVM管理工具
以上构成一个完整的虚拟化平台

简单理解:

KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后, 交由Qemu处理
Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

2.4、KVM工作流程

用户模式的 Qemu 利用接口 libkvm 通过 ioctl 系统调用进入内核模式。 KVM驱动为虚拟机创建虚拟 CPU 和虚拟内存,
然后执行 VMLAU·NCH 指令进入客户模式,装载 Guest OS 并运行。Guest OS 运行过程中如果发生异常,则暂停Guest OS
的运行并保存当前状态同时退出到内核模式来处理这些异常。
内核模式处理这些异常时如果不需要 I/O则处理完成后重新进入客户模式。如果需要 I/O 则进入到用户模式,
则由 Qemu 来处理 I/O,处理完成后进入内核模式,再进入客户模式

三、kvm部署过程

3.1、kvm部署拓扑图

3.2、安装KVM前的环境部署

1、在VMware软件中新建虚拟机,并安装centos7系统

  • 注意:

    • 处理器数量:2 每个处理器内核数:2 处理器内核总数:4
    • 虚拟化Intel VT-X 选项√下
    • 内存大小为16G 网络NAT模式 声卡和打印机移除 挂载光盘 硬盘1TG
    • 安装GNOME桌面 点开发工具 分区自动分配 安装操作系统
      具体centos7的安装这里不做详细介绍,网上有很多文章介绍。

      2、centos7系统开局优化和KVM环境准备
1、配置静态IP地址,保证与nat模式的网段一致
vi /etc/resolv.conf
nameserver 8.8.8.8
保证网络能够上网2、挂载光盘
vi /etc/fstab
/dev/sr0   /mnt   iso9660  defaults   0   0
mount -a3、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 04、关闭核心防护
sed -i '7s/enforcing/disabled/' /etc/sysconfig/selinux
cat /etc/sysconfig/selinux 5、配置yum本地源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/
[root@localhost yum.repos.d]# ls
backup
[root@localhost yum.repos.d]# vim local.repo
输入以下信息
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1
[root@localhost yum.repos.d]# yum clean all       #清空yum仓库
[root@localhost yum.repos.d]# yum makecache    #加载yum数据

3.3、安装KVM和网络配置

1、安装一些需要的软件

yum groupinstall -y "GNOME Desktop"   #安装 GNOME 桌面环境  如果装了图形界面不需要装了
yum -y install qemu-kvm               #安装KVM 模块
yum -y install qemu-kvm-tools         #安装KVM 调试工具
yum -y install virt-install           #构建虚拟机的命令行工具
yum -y install libvirt                #虚拟机管理工具
yum -y install virt-manager            #图形界面管理虚拟机

2、进行检查

查看CPU是否支持虚拟化
cat /proc/cpuinfo | grep vmx          查看KVM模块是否安装
lsmod | grep kvm  优化
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
将 系 统 的 默 认 运 行 target 更 改 为
graphical.targe开启libvirtd服务,并设置开机自启动
systemctl start libvirtd
systemctl enable libvirtd

重启系统

3、设置KVM网络
宿主服务器安装完成 KVM, 首先要设定网络, 在 libvirt 中运行 KVM 网络有两种方法:
NAT 和 Bridge, 默认是 NAT。

用户模式, 即 NAT 方式, 这种方式是默认网络, 数据包由 NAT 方式通过主机的接口进行
传送, 可以访问外网, 但是无法从外部访问虚拟机网络。
桥接模式, 这种模式允许虚拟机像一台独立的主机一样拥有网络, 外部的机器可以直接
访问到虚拟机内部, 但需要网卡支持, 一般有线网卡都支持。
这里以 Bridge(桥接) 为例。
修改ens33网卡

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=0e5a02f3-25d6-4222-a2c7-3303cc76117a
DEVICE=ens33
ONBOOT=yes
#IPADDR=20.0.0.80
#PREFIX=24
#GATEWAY=20.0.0.2
BRIDGE=br0   #注释掉IP地址、网关、掩码,添加上br0
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=20.0.0.80  #添加NAT网段的IP地址
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS1=8.8.8.8
DNS2=114.114.114.114重启network网络
systemctl restart network     

3.4、创建kvm存储

1、创建镜像文件夹,上传镜像

mkdir -p /data_kvm/iso
mkdir -p /data_kvm/store    #虚拟机存储的目录//挂载本地共享文件夹
mount.cifs //192.168.100.1/share /opt
cp CentOS-7-x86_64-DVD-1810.iso /data_kvm/iso/[root@localhost Linux]# ls /data_kvm/iso/
CentOS-7-x86_64-DVD-1810.iso//图形界面敲下面命令,打开虚拟系统管理器
virt-manager     
  • 创建两个存储池 iso 和 store
    双击打开QEMU/KVM—存储–—添加(加号)—–填写名称—–前进—–浏览—–其他位置–----计算机—–data_kvm–store–打开–完成,使用相同方法创建镜像存储池,选择的文件夹是/data_kvm/iso







  • 创建存储卷
    在store存储池里添加存储卷,最大容量选择20G

    - 创建虚拟机
    打开虚拟系统管理器–右击QEMU/KVM–选择新建

    默认本地安装介质–前进

    选择ISO映像–浏览选择刚刚创建的镜像----–前进



    选择CPU:2G、内存:2048M的配置

    选择存储卷的位置

    点击在安装前自定义配置–选择网络(桥接)–完成

    点击引导选项-----勾选主机引导时启动虚拟机------开始安装-----出现提示默认是


    更改一下分区,去掉home目录。



    这里需要DHCP自动分配一个IP地址,所以虚拟机配置里nat模式要勾选后打开网络,
    注意:要记住分配的IP地址,过一会儿用
    选择最小化安装

到这里我们的KVM已经完成了!!!

KVM虚拟化平台介绍及搭建相关推荐

  1. KVM虚拟化技术介绍及搭建

    目录 前言 一.虚拟化 1.1 虚拟化发展历史 1.2 虚拟化分类 1.2.1 架构分类 1.2.2 虚拟化程度分类 1.3 虚拟化的优势及劣势 1.3.1 优势 1.3.2 劣势 二.KVM 2.1 ...

  2. Docker容器与虚拟化技术——部署KVM虚拟化平台

    部署KVM虚拟化平台 一.搭建KVM虚拟化平台 1.前置知识点 (1)什么是虚拟化         把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机 ...

  3. linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)

    一 .部署KVM虚拟化平台 hyper-v是windows中的虚拟化 1.KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具 2.KVM组成 1.KVM Driv ...

  4. linux搭建虚拟化平台报告,CentOS 7中搭建KVM虚拟化平台的方法步骤

    什么是虚拟化 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化 ...

  5. KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍

    一.使用virt-manager创建和管理虚拟机 1.使用VNC Viewer连接进入虚拟化平台主机 2.打开终端输入virt-manager命令启动virt-manager虚拟机管理界面 #virt ...

  6. Centos7搭建KVM虚拟化平台之基于OVS网桥

    Centos7搭建KVM虚拟化平台之基于OVS网桥 文章目录 Centos7搭建KVM虚拟化平台之基于OVS网桥 一.什么是虚拟化技术?为什么要用虚拟化技术? 二.Qemu-KVM基本工作原理分析 三 ...

  7. KVM虚拟化平台搭建+理论

    文章目录 一.KVM虚拟化架构 二.KVM组成 三.KVM原理简介 四.KVM 运行时的三种模式 五.KVM工作原理 六.案例 1.案例概述 2.案例环境 3.KVM虚拟化平台部署 1)安装系统 2) ...

  8. KVM虚拟化平台搭建

    目录 一.虚拟化技术概述 1.1 虚拟化技术 1.2 虚拟化技术发展(雏形) 1.3 虚拟化特点 1.4 虚拟化类型 1.5 虚拟化的特性 1.6 虚拟化前后对比 1.6.1 对比 1.6.1.1 操 ...

  9. 搭建kvm虚拟化平台和管理kvm虚拟化平台

    一.搭建kvm虚拟化平台 1,安装前准备:启用虚拟化支持,添加内存和内核 2,安装kvm服务 挂载光盘 2)安装kvm调试工具 3) 安装管理虚拟机命令 4) 安装KVM管理控制台 3.启动虚拟化服务 ...

最新文章

  1. python的字符串的转义
  2. c#金额转换成中文大写金额
  3. 今年电子设计竞赛取消了?
  4. Linux 下用来查询安装包信息的RPM选项
  5. 云上更安全?亚马逊云科技宣布将持续加大在中国区域安全合规领域投入
  6. 【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo
  7. HDOJ-1014 Uniform Generator
  8. 使用记事本编写xml文件保存出现异常原因
  9. unity算法面试_Unity面试准备
  10. wfGo 围棋 联机对战模式
  11. centos下安装teamview
  12. oracle取字段第三位字符,oracle字符串根据分隔符号获取第几个元素
  13. mysql中文表头转为英文字名_中文名字转换英文名字
  14. 哪里有日语50音图的发音啊?
  15. vue3购物车(全选,反选,数量计算)
  16. 计算机系统的环境变量,电脑path环境变量不见了怎么恢复_教你恢复电脑path环境变量的方法...
  17. [渝粤教育] 西安邮电大学 成本会计学 参考 资料
  18. 关于QPainter无法绘制问题
  19. Day7 字符串详解——python学习之路
  20. IAR教程之IAR常用功能简介

热门文章

  1. 很幽默的讲解六种Socket IO模型(转)
  2. nginx配置vhost
  3. COSCon'20 开源硬件论坛深圳开源聚会
  4. 【wepy】设置disabled的值 不生效 解决办法
  5. bm25算法Java代码_搜索引擎相关度算法 -BM25 JAVA实现
  6. Java多态(笔记本电脑实现usb接口)
  7. 再塑生命的人课件PPT模板
  8. Java 实现手机号码验证
  9. 新手搭建Redis服务器
  10. 【HTML】<audio>标签||☆如何配置src的属性值URL