KVM详解

一、KVM的简介

1.KVM简介

KVM,基于内核的虚拟机(kernel-based virtual machine),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。kvm在2007年2月被罚殴辱Linux2.6.0核心中,可以以加载核心模块的方式被移植到FreeBSD及illumos上。
2006年10月Qumranet公司正式宣布KVM诞生,同年十月,kvm模块的源代码正式接纳进入Linux内核。
2008年9月,Redhat出资收购Qumranet公司,随后在RHEL6中使用KVM代替Xen.

  • 1.KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。
  • 2.是x86架构且硬件支持虚拟化技术的Linux全虚拟化解决方案。
  • 3.它包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko。
  • 4.kvm还需要一个经过修改的QEMU软件,作为虚拟机上层控制和界面。
  • 5.kvm能在不改变Linux或Windows镜像的情况下同时运行多个虚拟机(即多个虚拟机使用同一镜像),并为每个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器等),同时kvm还能够使用KSM技术帮助宿主服务器节约内存。

2.关于virtual machine manager的介绍

红帽的virtual machine manager是一个虚拟机管理员,可以让用户管理多个虚拟机。
基于内核的虚拟机libvirt和virtual machine manager。

virtual machine manager可以让用户:

    • 1.创建、编辑、引导或停止虚拟机
    • 2.查看并控制每个虚拟机的控制台
    • 3.查看每个虚拟机的性能以及使用率
    • 4.查看每个正在运行中的虚拟机以及主控制端的即时性能及使用率信息
    • 5.不论是在本机或远程,皆可使用kvm、Xen、QEMU

3.其他虚拟化软件

1.Xen

    • Xen是一个开放源代码虚拟化监视器,有Xenproject开发。它打算在单个计算机上运行多达128个有完全功能的操作系统。
      在旧的(无虚拟硬件)处理器上执行Xen。操作系统必须显示的修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。

2.QEMU

    • QEMU是一套有fabrice bellard所谓写的模拟处理器的自由软件。它与bochs、pearpc近似,但其具有某些后两者不具备的特性如高速度及跨平台的特性。经由KVM(早期为kqemu加速器,现在
      kqemu已被KVM取代)这个开源的加速器,QEMU能模拟至接近真实电脑的速度。QEMU有两种主要运作模式:
    • User mode模拟模式,亦即是用户模式。
    • QEMU能引导那些为不同中央处理器编译的Linux程序。而Wine及Dosemu是其主要目标。
    • System mode模拟模式,亦即是系统模式。
    • QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为系统源代码进行测试及除错工作变得容易。其亦能用来在一部主机上模拟数部不同虚拟电脑。

二、安装及环境的部署

1.安装时系统要求

Host system requirements
 • One core or thread for each virtualized CPU and one for the host. 
 • 2 GB of RAM, plus additional RAM for virtual machines. 
 • 6 GB disk space for the host, plus the required disk space for the virtual machine(s). 
 KVM hypervisor requirements # lscpu
Virtualization: VT-x 
# egrep 'svm|vmx' /proc/cpuinfo 
Intel CPU: VT-x 
AMD CPU: AMD -V 
BIOS Enable Virtualization

2.嵌套虚拟化

先用虚拟机,然后再在虚拟机里使用虚拟化,这就是嵌套虚拟化。

VMware 嵌套虚拟化
产品:Workstation、player、ESXi
支持:ESXi、Hyper-V、KVM、Xen
KVM详解_第1张图片
如何打开vm的嵌套虚拟化。
KVM详解_第2张图片

3.安装KVM虚拟化软件

    • 安装kvm虚拟化软件有多种方式:
  • 1.装系统时手动安装
    步骤如下:
    KVM详解_第3张图片
    KVM详解_第4张图片
    KVM详解_第5张图片
    KVM详解_第6张图片
    KVM详解_第7张图片
    KVM详解_第8张图片
    KVM详解_第9张图片
    KVM详解_第10张图片
    KVM详解_第11张图片
    KVM详解_第12张图片
    KVM详解_第13张图片
    KVM详解_第14张图片
    KVM详解_第15张图片
    KVM详解_第16张图片
    KVM详解_第17张图片
    KVM详解_第18张图片
    KVM详解_第19张图片
    开启虚拟机,开始安装过程。
    安装时,还需要具备相应的条件:
    • 1.确定机器有VT:
      输入命令:egrep ‘vmx|svm’ /proc/cpuinfo
      如果有flags:里面有vmx或svm就说明支持VT,如果没有,则说明该机器无法支持KVM虚拟化
    • 2.确保BIOS里开启VT:
      输入命令:lsmod | grep kvm
      如下图所示:
      KVM详解_第20张图片
      3.centOS 7最小化安装
      使用以下命令:
[root@kvm01 ~]#  yum install qemu-kvm qemu-img libvirt -y
[root@kvm01 ~]# yum install virt-install libvirt-python virt-manager python-virtinst libvirt-client
其中:
libvirt  #虚拟机管理
virt  #虚拟机安装克隆
qemu-kvm  #管理虚拟机磁盘

4.kvm远程管理
使用Xmanager

windows安装软件X-manager,然后使用xshell软件开启X11转发,然后连接虚拟机,输入virt-manager管理。

KVM详解_第21张图片
KVM详解_第22张图片
KVM详解_第23张图片

三、创建kvm虚拟机

    • 1、添加一块80G的硬盘来存储操作系统的安装介质,ISO文件
    • 2、利用fdisk分出一块40G的分区
    • 3、创建LVM逻辑卷 # pvcreate /dev/sdb1 # vgcreate vmvg /dev/sdb1 # lvcreate -n lvvm1 -l 10239 vmvg #将vmvg可以用PE全部分配给lvvm1
    • 4、挂载# mkfs.xfs /dev/vmvg/lvvm1 格式化lvvm1 # echo “/dev/vmvg/lvvm1 /vm/ xfs defaults 0 0” >> /etc/fstab # mount -a
    • 5、创建iso镜像文件存放目录 # mkdir /iso 上传镜像文件

创建kvm虚拟机又多种方式,使用virt-install命令行,使用 virt-manager 工具、使用 qemu-img 和qemu-kvm 命令行方式安装和OpenStack Nova 使用 libvirt API 通过编程方式来创建虚机等。

简单案例
安装centOS7:
1.使用命令行的方式创建虚拟机:

 # virt-install  --name=centos7 --memory 512,maxmemory=1024 --vcpus 1,maxvcpus=4 --os-type=linux  --cdrom=/iso/CentOS-7-x86_64-Minimal-1908.iso  --disk path=/var/lib/libvirt/images/centos7u6.img,size=5,format=qcow2 --network bridge=virbr0  --vnc  --vncport=5950  --vnclisten=0.0.0.0  --autostart

KVM详解_第24张图片
使用自带的工具安装centOS7(安装完毕):
KVM详解_第25张图片
virt-install参数详解

参数 参数说明
–virt-type HV_TYPE 要使用的管理程序名称(kvm、qumu、xen等)
–os-type 系统类型
–os-variant DISTRO_VARIANT 在客户机上安装的操作系统,例如:‘rhel8’、‘Windows XP’等
-n NAME,-name NAME 客户及实例名称
–memory MEMORY 配置客户机虚拟内存的大小
–vcpus VCPUS 配置客户机虚拟CPU(vcpu)的数量
–disk DISK 指定存储的各种选项
-cdrom CDROM 光驱安装介质
-w NETWORK,–network NETWORK 配置客户机网络接口
–graphics GRAPHICS 配置客户机显示设置
虚拟化平台选项
-v, --hvm 这个客户机是一个全虚拟化客户机
-p, --paravirt 这个客户机是一个半虚拟化客户机
–container 这个客户机是一个容器客户机
–virt-type HV_TYPE 要使用的管理程序名称(kvm、qemu、xen)等
–arch ARCH 模拟CPU架构
–machine MACHINE 及其类型为仿真类型
其它选项
–noautoconsole 不要自动尝试连接到客户端控制台
–autostart 主机启动时自动启动域
–noreboot 安装完成后不启动客户机

2.使用自带工具virt-manager创建虚拟机

KVM详解_第26张图片KVM详解_第27张图片
KVM详解_第28张图片
KVM详解_第29张图片
KVM详解_第30张图片
KVM详解_第31张图片

3.使用qumu-img和qemu-kvm命令行方式安装创建虚拟机

(1)创建一个空的qcow2格式的镜像文件
#qemu-img create -f qcow2 windows-master.qcow2 8G 
(2)启动一个虚机,将系统安装盘挂到 cdrom,安装操作系统
#qemu-kvm -hda windows-master.qcow2 -m 512 -boot d -cdrom /iso/"Windows XP SP3 VOL".iso
(3)现在你就拥有了一个带操作系统的镜像文件。你可以以它为模板创建新的镜像文件。使用模板的好
处是,它会被设置为只读所以可以免于破坏。
#qemu-img create -b windows-master.qcow2 -f qcow2 windows-clone.qcow2
(4)你可以在新的镜像文件上启动虚机了
#qemu-kvm -hda windows-clone.qcow2 -m 512

你可能感兴趣的:(KVM,kvm,linux,运维)