kvm介绍、安装及创建虚拟机

kvm虚拟化介绍

一、虚拟化分类

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

虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

2、虚拟化层次种类:

(1) 完全虚拟化 --- 最流行的虚拟化方法使用名为 hypervisor 的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。 VMware 和微软的VirtualPC 是代表该方法的两个商用产品,而基于核心的虚拟机 (KVM) 是面向 Linux 系统的开源产品hypervisor 可以捕获 CPU 指令,为指令访问硬件控制器和外设充当中介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。主要缺点是, hypervisor 给处理器带来开销

(2)准虚拟化 --- 完全虚拟化是处理器密集型技术,因为它要求 hypervisor管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是,改动客户端操作系统,让它以为自己运行在虚拟环境下,能够与hypervisor 协同工作。这种方法就叫准虚拟化 (para-virtualization)Xen 是开源准虚拟化技术的一个例子。操作系统作为虚拟服务器在 Xen hypervisor 上运行之前,它必须在核心层面进行某些改变。因此, Xen 适用于 BSD 、 Linux 、 Solaris 及其他开源操作系统,但不适合对像Windows 这些专有的操作系统进行虚拟化处理,因为它们无法改动。准虚拟化技术的优点是性能高。经过准虚拟化处理的服务器可与hypervisor 协同工作,其响应能力几乎不亚于未经过虚拟化处理的服务器。准虚拟化与完全虚拟化相比优点明显,以至于微软和 VMware 都在开发这项技术,以完善各自的产品。

(3)系统虚拟化 --- 就操作系统层的虚拟化而言,没有独立的hypervisor 层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统 ( 不过每个实例有各自的应用程序和用户。

账户 ) 。虽然操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易。

(4)桌面虚拟化 --- 服务器虚拟化主要针对服务器而言,而虚拟化最接近用户的还是要算的上桌面虚拟化了,桌面虚拟化主要功能是将分散的桌面环境集中保存并管理起来,包括桌面环境的集中下发,集中更新,集中管理。桌面虚拟化使得桌面管理变得简单,不用每台终端单独进行维护,每台终端进行更新。终端数据可以集中存储在中心机房里,安全性相对传统桌面应用要高很多。桌面虚拟化可以使得一个人拥有多个桌面环境,也可以把一个桌面环境供多人使用。

3、虚拟化架构分类

(1)1型虚拟化

Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi

都属于这个类型。

(2)2型虚拟化

物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理

KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

二、虚拟化 ---KVM

 1、虚拟化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 自身的调度器进行管理。

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

   3、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 交互

   4、KVM:

             kvm.ko(内核模块),只用于管理虚拟 CPU 和内存。IO 的虚拟化,就交给 Linux 内核和qemu来实现

         Libvirt:是 KVM 的管理工具。Libvirt 除了能管理 KVM 这种 Hypervisor,还能管理 Xen,VirtualBox 等。OpenStack 底层也使用 Libvirt

         Libvirt 包含 3 个东西:后台 daemon 程序 libvirtd、API 库和命令行工具 virsh

(1)libvirtd是服务程序,接收和处理 API 请求

(2)API 库使得其他人可以开发基于 Libvirt 的高级工具,比如 virt-manager,这是个图形化的 KVM 管理工具,后面我们也会介绍;

(3)virsh 是我们经常要用的 KVM 命令行工具,后面会有使用的示例。作为 KVM 和 OpenStack 的实施人员,virsh 和 virt-manager 是一定要会用的。

三、虚拟化VT开启确认

KVM 本身也有一些弱点,那就是相比裸金属虚拟化架构的 Xen 、 VMware ESX 和 HyperV , KVM 是运行在 Linux 内核之上的寄居式虚拟化架构,会消耗比较多的计算资源;不过针对这一点, Intel 、 AMD 已经在处理器设计上有专门的VT-x 和 AMD-V 扩展,这种特性在每次硬件更新的时候也会更新,往往每次更新后都对虚拟化性能和速度上有明显的提升,所以长远来看,也不是什么大问题。

KVM 的虚拟化需要硬件支持(需要处理器支持虚拟化:如 Intel 厂商的 Intel-VT ( vmx )技术&&AMD 厂商的 AMD-V ( svm )技术。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的半虚拟化( Para-Virtualization ),新版本则是基于硬件支持的完全虚拟化。但 Xen 本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。

你当前的 CPU 是否支持 VT 技术?当不确定你当前 CPU 是否支持 VT 技术时
1. 可以在 windows 下使用 cpu-z 软件来进行测试
2. 可以在 Linux 下查看 CPU 的相信信息来确定

** CPU 虚拟化给我们带来了哪些好处?

CPU 的虚拟化技术可以将单 CPU 模拟多 CPU 并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

** 虚拟化技术与多任务超线程的技术的区别?(操作系统多对一)

虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,彼此独立。每一个操作系统都运行在一个虚拟的 CPU 或者是虚拟主机上;而超线程技术只是单 CPU 模拟双 CPU 来平衡程序运行性能,这两个模拟出来的 CPU 是不能分离的,只能协同工作

原文地址:https://www.cnblogs.com/xiaoxiaotiejiang/p/11080689.html

时间: 2024-08-02 05:25:21

kvm介绍、安装及创建虚拟机的相关文章

kvm无人值守安装centos 7虚拟机

centos 7安装好KVM之后还要安装虚拟机,通过VNC连接手动安装centos 7虚拟机太麻烦了,所以无人值守安装是做好的.简单记录下. 无人值守安装centos 7前提是要安装KVM,并且能手动创建虚拟机.首先创建centos7.ks.cfg文件 vi /root/centos7.ks.cfg install #禁用第一次启动时设置系统的向导 firstboot --disabled eula --agreed reboot # 系统语言 lang en_US.UTF-8 keyboard

(1)VMware虚拟机安装与创建虚拟机

VMware简介: VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统. VMware主要特点: 不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统. 本机系统可以与虚拟机系统网络通信 可以设定并且随时修改虚拟机操作系统的硬件环境 安装VMware虚拟机: 建议的VMware配置: cpu:建议主频为1GHz以上. 内存:建议1GB以上. 硬盘:建议分区空闲空间8GB以上. 1.

VMWare下载安装以及创建虚拟机教程

参考博客https://blog.csdn.net/qq_39135287/article/details/83993574 下载 1.打开官网https://www.vmware.com/cn.html,选择上方的[下载]按钮,在下拉页中选择[产品下载],并选择[Workstation Pro] 2.滚动条拉到页面下方,可以选择我们要下载的VMWare版本(默认是最新版本,我这里是15.0),然后在下方选择我们要下载的是Linux还是Windows版本,点击[转至下载] 3.在跳转到的新页面中

初识kvm之安装第一个虚拟机

1.镜像文件准备 使用scp工具(windows下使用winscp)远程传输镜像文件到服务器端 #scp ~/Downloads/[email protected]:/home/iso 参数解释:1)~/Downloads/CentOS-6.5-x86_64-bin-DVD1.iso本地文件 2)192.168.137.107服务器地址 3)/home/iso上传到该目录下,查看结果如下: 2.开始安装操作系统(以centos6.5为例) 2.1创建qcow2格式虚拟磁盘 #qemu-img c

KVM script 脚本 automate 创建虚拟机vm

使用这个脚本可以预先设置安装ubuntu时候需要的参数, 可实现automate安装 .https://github.com/christhai/Virtualization/blob/master/kvmScripts/makeUbuntuVM.sh makeVM.sh #! /bin/bash   # Using newest versions from apt # Making desktop   if [ ! "$1" ] then echo "Usage: $0 v

centos7中安装kvm,并连接vnc创建虚拟机

一 环境准备 1 关闭selinux 永久关闭:cd /etc/selinux/config  修改enforcing为disabled后保存退出. 临时关闭,重启失效: setenforce 0 getenforce 显示Permissive 修改完毕 2关闭防火墙 systemctl stop firewalld systemctl disable firewalld 3关闭Network Manager sysetmctl stop Network Manager systemctl di

在centos6.7上安装kvm,批量创建虚拟机

实验环境:dell r710 linux系统使用centos6.7 内存32G,硬盘800G 服务器主机:172.18.204.1 kickstart文件主机:172.18.11.115 ]# modprobe kvm ]# lsmod |grep kvm 显示如下即可继续: 验证:如下文件存在即可 ]# ls /dev/kvm 关闭selinux: ]# vim /etc/sysconfig/selinux selinux=dsabled ]# service NetworkManager s

KVM 介绍(1):简介及安装

1. KVM 介绍 KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor: 它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购. 它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU. 它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中. 它需要支持虚拟化扩展的 CPU. 它是完

OpenStack入门篇(三)之KVM介绍及安装

1.什么是虚拟化? 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest). 那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢? 这个主要是通过一个叫做 Hypervisor 的程序实现的. 2.虚拟化的分类 ①Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervi