一、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无需特殊硬件支持,就能达到高性能的虚拟化。
- Xen是一个开放源代码虚拟化监视器,有Xenproject开发。它打算在单个计算机上运行多达128个有完全功能的操作系统。
2.QEMU
-
- QEMU是一套有fabrice bellard所谓写的模拟处理器的自由软件。它与bochs、pearpc近似,但其具有某些后两者不具备的特性如高速度及跨平台的特性。经由KVM(早期为kqemu加速器,现在
kqemu已被KVM取代)这个开源的加速器,QEMU能模拟至接近真实电脑的速度。QEMU有两种主要运作模式:
- QEMU是一套有fabrice bellard所谓写的模拟处理器的自由软件。它与bochs、pearpc近似,但其具有某些后两者不具备的特性如高速度及跨平台的特性。经由KVM(早期为kqemu加速器,现在
-
- 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

如何打开vm的嵌套虚拟化。

3.安装KVM虚拟化软件
-
- 安装kvm虚拟化软件有多种方式:
- 1.装系统时手动安装
步骤如下:

















开启虚拟机,开始安装过程。
安装时,还需要具备相应的条件: -
- 1.确定机器有VT:
输入命令:egrep ‘vmx|svm’ /proc/cpuinfo
如果有flags:里面有vmx或svm就说明支持VT,如果没有,则说明该机器无法支持KVM虚拟化
- 1.确定机器有VT:
-
- 2.确保BIOS里开启VT:
输入命令:lsmod | grep kvm
如下图所示:

3.centOS 7最小化安装
使用以下命令:
- 2.确保BIOS里开启VT:
[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虚拟机
- 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

使用自带的工具安装centOS7(安装完毕):

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创建虚拟机






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的简介、虚拟机管理器、其他虚拟化软件如Xen和QEMU。接着,讨论了KVM的安装和环境部署,强调了嵌套虚拟化的概念和开启条件。最后,阐述了如何创建KVM虚拟机,包括磁盘分区、LVM逻辑卷的创建以及挂载,并提供了使用virt-install、virt-manager以及qemu-kvm命令行创建虚拟机的方法。

6万+

被折叠的 条评论
为什么被折叠?



