虚拟化平台-----KVM平台的搭建与部署

目录

 

一.KVM虚拟化平台简介

虚拟化的定义

虚拟化的分类

KVM的发展

KVM的简介

Linux上的用户空间、内核空间、虚拟机之间的关系

KVM虚拟化的三种模式

二.在centos7上搭建与部署KVM虚拟化平台

搭建KVM的准备工作

搭建KVM功能

准备在KVM上安装虚拟机

KVM平台命令管理


一.KVM虚拟化平台简介

虚拟化的定义

  • 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可以运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而且互相不影响,从而提高计算机的工作效率
  • 虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配,灵活调度,跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求

虚拟化的分类

  • 虚拟化的层次分类

1.完全虚拟化:最流行的虚拟化方法使用名为hypervisor的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。VMware和微软的VirtualPC是代表该方法的两个商用产品,而基于核心的虚拟机(KVM)是面向Linux系统开发的开源产品hypervisor可以捕捉CPU指令,为指令访问硬件控制器和外设充当中介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。其缺点是,hepervisor给处理器带来了开销
2.准虚拟化:完全虚拟化是处理密集型技术,因为它要求hypervisor管理各个虚拟服务器,并且让它们彼此独立。减轻这种负担的一种方法是,改动客户端操作系统,让它以为自己运行在虚拟环境下,能够与hypervisor协同工作。这种方法叫做准虚拟化,Xen是开源准虚拟化技术的一个例子。操作系统为虚拟服务器在Xen hyoervisor上运行之前,它必须在核心层面进行某些改变。因此,Xen适用于BSD、Linux、Solaris及其他开源系统,但不适合对象Windows这些专有的操作系统进行虚拟化处理,因为它们无法改动。准虚拟化技术的优点就是性能高。经过虚拟化处理的服务器可与hypervisor协同工作,其响应能力几乎不亚于未经过虚拟化处理服务器。准虚拟化与完全虚拟化相比优点明显,以至于微软和VMware都在开发这项技术,以完善各自的产品
3.系统虚拟化:就操作系统层的虚拟化而言,没有独立的hypersivor层,相反,主机操作本身就负责在多个虚拟化服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统虚拟化,所有虚拟化服务器必须运行同一个操作系统(不过每个实例有各自的应用程序和用户),虽然操作系统虚拟化的灵活性比较差,但是本机速度性能比较高,此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易
4.桌面虚拟化:服务器虚拟化主要针对服务器而言,而虚拟化1最接近用户的是桌面虚拟化。桌面虚拟化的主要功能是将分散的桌面环境集中且保存管理起来,包括桌面环境的集中下发,集中更新,集中管理。桌面虚拟化使得桌面管理变得简单,不用每台终端单独进行维护、更新。终端数据可以集中存储在中心机房里,安全性相对传统桌面应用要高很多。桌面虚拟化可以使得一个人拥有多个桌面环境,也可以把一个桌面环境供多人使用

  • 虚拟化架构分类
  • 1型虚拟化,hypervisor直接安装物理机上,多个虚拟机在hypervisor运行。hypervisor实现方式一般是一个特殊定制的Linux系统。Xen和VMware的ESXi都属于这个类型

 

  • 2型虚拟化,物理机上首先安装常规的操作系统,比如rehat、Ubuntu和windows。Hypervisor作为OS上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBOX和VMware Workstation都属于这个类型

KVM的发展

  • 2006 年 10 月由以色列的 Qumranet 组织开发的一种新的“虚拟机”方案,并将其贡献给开源世界
  • 2007 年 2 月于 Linux Kernel-2.6.20 中第一次包含了 KVM
  • 2008 年 9 月,红帽收购了 Qumranet ,由此入手了 KVM 的虚拟化技术。在之前红帽决是将Xen 加入到自己的默认特性当中——那是 2006 年,因为当时Xen技术脱离了内核的维护方式,也许是因为采用 Xen 的 RHEL 在企业级虚拟化方面没有赢得太多的市场,也许是因为思杰跟微软走的太近了,种种原因,导致其萌生了放弃 Xen。而且在正式采用 KVM 一年后,就宣布在新的产品线中彻底放弃 Xen ,集中资源和精力进行 KVM 的工作。
  • 2009 年 9 月,红帽发布其企业级 Linux 的 5.4 版本( RHEL5.4 ),在原先的 Xen 虚拟化机制之上,将 KVM 添加了进来
  • 2010 年 11 月,红帽发布其企业级 Linux 的 6.0 版本( RHEL6.0 ),这个版本将默认安装的 Xen 虚拟化机制彻底去除,仅提供 KVM 虚拟化机制
  • 2011 年初,红帽的老搭档 IBM 找上红帽,表示 KVM 这个东西值得加大力度去做。于是到了 5 月, IBM 和红帽,联合惠普和英特尔一起,成立了开放虚拟化联盟( Open Virtualization Alliance ),一起声明要提升 KVM 的形象,加速 KVM 投入市场的速度,由此避免 VMware 一家独大的情况出现。联盟成立之时,红帽的发言人表示, 大家都希望除 “ VMware 之外还有一种开源选择。未来的云基础设施一定会基于开源
  • 自 Linux 2.6.20 之后逐步取代 Xen 被集成在Linux 的各个主要发行版本中,使用 Linux 自身的调度器进行管理。

KVM的简介

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

Linux上的用户空间、内核空间、虚拟机之间的关系

  • Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。
  • KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。
  • QEMU:修改过的为 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过IOCTL /dev/kvm 设备和 KVM 交互。
  • KVM有一个内核模块叫kvm.ko,只用于管理虚拟cpu和内存。IO的虚拟化,交给Linux内核和qemu来实现
  • Libvirt:是KVM的管理工具。Libvirt除了能管理KVM这种Hypevisor,还能管理Xen、VirtualBox等。openstack底层也使用libvirt
  • Libvirt包含:后台daemon程序Libvirtd、API库和命令行工具virsh
  • Libvirtd是服务程序,接收和处理API请求
  • API库使得其他人可以卡法基于Libvirt的高级工具,比如virt-manager,这是个图形化的KVM管理工具
  • virsh是我们经常使用的KVM命令行工具,下面会介绍

KVM虚拟化的三种模式

  • 客户模式:可以简单理解成客户机在操作系统运行中的模式,客户模式又分为内核模式和用户模式
  • 用户模式:为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,qemu运行在这个模式下
  • 内核模式:模式CPU以及内存,实现客户模式的切换,处理从客户模式的退出。KVM内核模式运行在这个模式下

 

二.在centos7上搭建与部署KVM虚拟化平台

搭建KVM的准备工作

  • 开启虚拟化功能
  • 增加内存,处理器,硬盘资源(内存最少4G)

搭建KVM功能

  • 可以先在NAT模式下,安装各种安装包,在设置KVM网络时,设置桥接模式
yum -y install qemu-kvm                                    ####KVM 模块
yum -y install qemu-kvm-tools                              ####KVM 调试工具,可不安装
yum -y install virt-install                                ####构建虚拟机的命令行工具
yum -y install qemu-img                                 ####qemu 组件,创建磁盘、 启动虚拟机等
yum -y install bridge-utils                                ####网络支持工具
yum -y install libvirt                                     ####虚拟机管理工具
yum -y install virt-manager              
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值