KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
KVM is open source software. The kernel component of KVM is included in mainline Linux, as of 2.6.20. The userspace component of KVM is included in mainline QEMU, as of 1.3.
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。
KVM是Linux kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件 QEMU。
一、安装准备
1.确定机器有VT
终端输入命令: grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
2. 确保BIOS里开启VT
Intel(R) Virtualization Tech [Enabled]
如有必要,还需在BIOS中开启VT-d
3. 确保内核版本较新,支持KVM
用uname -r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
二、安装KVM
下面就Ubuntu和CentOS下安装使用KVM虚拟机做介绍:
Ubuntu 中用guest登陆,安装KVM的命令为:
sudo apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source kqemu-source build-essential
kvm安装成功后会有/dev/kvm,如果无需图形管理器,只需要安装前三个即可。
再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
如果输入结果像下面这样的,那么成功了:
Connecting to uri: qemu:///system
Id Name State
----------------------------------
注1:CentOS中安装时,先要选择Selinux为enable,使用命令
#system-config-securitylevel-tui
可查看或修改selinux的状态。
注2: CentOS中用root登陆时则安装命令为:
yum install kvm kmod-kvm qemu
再装入kvm模块:modprobe kvm-intel (Intel机器) 或者 modprobe kvm-amd (amd机器)
注3:可以用以下命令来检查是否装入kvm模块:
/sbin/lsmod | grep kvm
如果输出关于kvm版本的信息则已装入kvm模块
注4: 安装好后,可使用qemu-kvm命令,输入该命令,如果系统显示未知的命令,可查看/usr/libexec中是否有qemu-kvm可执行文件,如果有,将其拷贝到/bin目录下即可。如果确实按照上面的步骤进行了,却在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm可执行文件,可执行以下命令:
#yum provides "*/qemu-kvm"
注5:安装新内核后,可能有部分软件版本过低,不兼容。比如firefox因版本过低,无法启动。
CentOS下可使用如下命令更新该软件(以firefox为例):
#yum update firefox
三、在KVM下安装虚拟机
1.用QEMU创建磁盘镜像
sudo qemu-img create –f qcow windows.img 8G
注:在CentOS和新版Qemu中为:qemu-img create –f qcow2 windows.img 8G
2.使用KVM安装Guest VM
光盘安装:
sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img
硬盘安装:
sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi
注:官方推荐使用 -no-acpi 参数,原因是 qemu/kvm不太支持,可能造成 cpu 的占用偏高。
注1:CentOS下硬盘安装为 qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –no-acpi 即需要去掉了-clock rtc选项,否则会出现无法初始化时钟。
注2:CentOS quest mouse: export SDL_VIDEO_X11_DGAMOUSE=0可解决VM中无法识别USB鼠标的问题。
注3: 安装win 7时,不能使用-no-acpi选项。
相关推荐
Linux运维-运维课程-kvm虚拟化部署实践(上)-07KVM介绍.mp4
Linux运维-运维课程-kvm虚拟化部署实践(上)-08QEMU-KVM介绍.mp4
### KVM虚拟机安装介绍 #### 一、KVM虚拟机概述 KVM(Kernel-based Virtual Machine)是一种基于Linux内核的全虚拟化技术。它实际上只是Linux内核中的一个模块,本身并不能直接用于创建和管理虚拟机。为了实现完整...
#### KVM介绍 KVM(Kernel-based Virtual Machine)是由以色列开源组织 Qumranet 开发的一款开源虚拟机监视器,自 Linux 2.6.20 版本起被纳入 Linux 内核。KVM 是一种基于 x86 硬件的虚拟化技术,其运行需要硬件...
### KVM原理详解 #### 一、KVM基本原理与结构 KVM(Kernel-based Virtual Machine)是一种开源的全虚拟化解决方案,它基于Linux内核并利用硬件辅助虚拟化技术来实现虚拟化功能。KVM架构的核心在于它能够提供一个高...
【数据中心KVM系统介绍】 KVM,全称键盘(Keyboard)、显示器(Video)和鼠标(Mouse),是一种技术,旨在通过集中式的键盘、鼠标和显示器管理多个操作系统和服务器,以提高IT管理和运维效率。KVM的核心目标是降低...
"Qemu-kvm虚拟化技术介绍" Qemu-kvm虚拟化技术是当前虚拟化技术的热点之一,该技术结合了Qemu和KVM两者的优势,提供了高性能和灵活的虚拟化解决方案。下面我们将对Qemu-kvm虚拟化技术的原理、架构和特点进行详细的...
本文将以"img2kvm.zip"这个压缩包为例,详细介绍如何使用"img2kvm"工具将PVE的img格式转换为KVM能够识别的格式,并提供相关的操作步骤。 首先,我们需要了解"img2kvm"工具的基本概念。这是一个专为解决PVE到KVM转换...
【KVM介绍】 KVM是Linux内核中的一个模块,它将Linux转换为一个类型一(bare-metal)的 hypervisor,能够支持多个虚拟机(VMs)在同一台物理主机上并发运行。KVM的优势在于它利用了Linux内核的效率和稳定性,并且...
本文将详细介绍华为KVM客户端的使用及其相关知识。 首先,KVM是Linux内核中的一个模块,它允许用户在单一的物理硬件上运行多个独立的操作系统实例,实现硬件资源的高效利用和灵活分配。华为KVM客户端则是针对华为...
"Qemu-kvm 虚拟化技术介绍" 本文将对 Qemu-kvm 虚拟化技术进行详细的介绍,涵盖 Qemu-kvm 的原理、架构、虚拟化技术、磁盘格式、虚拟机硬盘生产等方面。 一、KVM 原理简介 KVM(Kernel-based Virtual Machine)是...
KVM(Keyboard Video Mouse)和UPS(Uninterruptible Power Supply)是两个在IT领域中至关重要的概念,分别涉及服务器管理与电力保障。 首先,KVM技术主要用于数据中心和服务器机房,它允许管理员通过一个单一的...
在《OpenStack之KVM网络优化(三)》中,可能会详细介绍如何优化虚拟机的网络性能,如使用OVS(Open vSwitch)实现高性能的虚拟交换,以及配置Neutron插件以提升网络效率。《OpenStack之KVM优化(二)》和...
### 虚拟化技术KVM ...通过上述介绍可以看出,KVM作为一种基于Linux内核的全虚拟化技术,不仅具有高效的性能,而且易于集成和管理。随着技术的发展,KVM已经成为许多企业和数据中心的首选虚拟化解决方案之一。
文档《[美河学习在线eimhe.com]KVM虚拟机网络环境介绍.pdf》应该包含了详细的图文教程,从创建网络桥、配置虚拟机网络接口到启动虚拟机的每一步都有清晰的说明和截图,对于初学者来说非常实用。 5. 高级网络功能 ...
IP KVM有很多种类,例如普通KVM切换器、液晶KVM切换器、CAT5网口KVM切换器、矩阵KVM切换器、菊链KVM切换器等。制造KVM的厂家很多,主要品牌有AVOCENT(美国)、RARITAN(美国)、ATEN(台湾)、KINAN(大陆)等。...
本文将详细介绍img2kvm的使用方法及其在不同环境下的应用。 一、img2kvm工具简介 img2kvm是一款强大的命令行工具,能够将标准的ISO、IMG、qcow2等格式的镜像文件转换为KVM兼容的格式。这种转换使得用户可以在PVE、...
目录网盘文件永久链接 KVM-day1 01-什么是kvm虚拟化.mp4 02-安装kvm虚拟机.mp4 03-virsh的日常管理命令上.mp4 04-virsh的日常管理命令下.mp4 05-kvm虚拟机开机自启和console登录.mp4 ...04-openstack的介绍.mp4
本文主要介绍了 KVM 热添加磁盘和删除、KVM 存储池管理两方面的知识点,旨在帮助读者更好地理解和掌握 KVM 虚拟化技术。 一、KVM 热添加磁盘 KVM 热添加磁盘是指在虚拟机运行时添加硬盘的操作,热添加磁盘可以提高...
### 针对KVM平台Linux P2V工具介绍 #### 技术背景与发展趋势 在信息技术领域,尤其是在云计算和虚拟化技术方面,随着上世纪90年代末以来服务器硬件性能的提升以及成本的下降,越来越多的企业开始寻求更高效的数据...