KVM(一)安装篇

最近研究了OpenStack,不可避免的用到了KVM,先总结下对KVM的学习。

一.KVM原理

KVM是在x86平台上面实现的一种全虚拟化的方案,下面的这个图是我从网上抄来的。基本上可以说明KVM的结构。

最底下是CPU,内存,IO等物理资源。物理资源上面是VMM(虚拟机监视器),和XEN,EXSI等这些虚拟化不一样的是。 KVM的VMM其实是作为linux的一个模块实现的,所以我们安装KVM的时候,只需要在linux操作系统上面加载kvm模块就OK了,而不需要对专门的VMM系统或者对原有的系统进行修改。

VMM层是跑在linux的内核态的,在linux的用户态,有个叫QEMU的东西,我们可以把QEMU看作是内核kvm模块和虚拟机之间的桥梁,虚拟机和内核kvm模块通信要通过QEMU,QEMU也给咱们提供了管理虚拟机的一些命令行工具。 图里面的/dev/kvm这个文件,就是QEMU和内核kvm模块交流的通道。

图里面还有些东西没描绘出来的是,如果仅仅是QEMU管理虚拟机的话,KVM也就只能叫做是软件虚拟化了,其实KVM是一个硬件虚拟化的方案,硬件虚拟化物理平台本身提供了对特殊指令的截获和重定向的硬件支持。显然,这么做减少了软件虚拟化过程中的IO开销等等性能损耗,提高了虚拟机的性能。

表达的不太好,差不多是这个意思吧

二.硬件环境准备

前面说到了KVM是一套硬件虚拟化方案,主要用到的是Intel VT和AMD-V技术。目前Intel和AMD在硬件方面都已经实现了CPU, 芯片,内存方面的虚拟化,IO方面的虚拟化也快了。Intel的内存虚拟化叫做EPT。

所以安装虚拟机之前,先在BIOS里面开启这些虚拟化相关的选项。

三.环境准备

  1. 看一下CPU虚拟化是否已经开启
 egrep ‘(vmx|svm)‘ --color=always /proc/cpuinfo

2.检查一下kvm模块是否已经加载至内核

[email protected]:~# lsmod  |  grep  kvm
kvm_intel             121968  0 
kvm                   287749  1 kvm_intel

如果查不到的话,就需要执行下下面的这个命令

 modprobe kvm-intel或者modprobe kvm-amd

如果执行上面的命令还是加载失败的时候,那说明内核不支持kvm,那就要重新编译下内核了,不过2.6.?之后的内核都已经支持kvm了。

3.安装软件

aptitude -y install kvm bridge-utils

其中kvm是编译好的debian平台下的qemu-kvm,bridge-utils是linux网桥,构建KVM桥接或者NAT模式的网络的时候需要用到。

四.虚拟机安装

  1. 创建一个磁盘文件
kvm-img create -f qcow2 debian.qcow2  10G

qcow2是类型是KVM提倡使用的类型,这种类型支持压缩,支持加密,支持稀疏文件,支持一个镜像文件中有多个虚拟机快照。什么叫稀疏文件呢?这个和咱们用Vmware的时候差不多,就是咱们虽然创建了一个10G的磁盘文件,但是qcow2类型不会一下子把这10G大小全占用,而是按需取用。这样做的好处,显然可以节省磁盘空间,坏处也很明显,当磁盘不够用的时候,临时去宿主机请求磁盘,这个增加了IO的开销。

咱们也可以用dd创建一个linux默认的raw格式的磁盘文件

dd if=/dev/zero of=./debian.img count=8192 bs=1M

2.安装操作系统

设置从光盘启动,系统安装到debian.qcow2上面

kvm  -smp 2 -m 128 -boot order=cd -hda ./debian.qcow2 -cdrom  ./debian-7.4.0-amd64-netinst.iso  -vnc :1

安装命令里面设置了-vnc :1,我们用vncview连接上去,就可以看到操作系统的安装界面了。和平常的操作系统一样,安装就OK了

3.启动虚拟机

安装完毕了,可以在命令行启动虚拟机。默认启动的VNC端口是5900,可以用vncview连接上去

kvm debian.qcow2

我这里启动虚拟机的时候,没有加任何参数,使用的都是默认值,cpu默认是1颗,内存默认是128M,网络默认是KVM自带的user模式的网络。下一篇写写网络配置。

时间: 2025-01-16 04:28:58

KVM(一)安装篇的相关文章

Centos6.5 x86_64系统安装kvm虚拟机—基础篇

KVM简介: KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机). 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案. 它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko). KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面. KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,

Centos6.4配置总结--安装篇(Ⅰ)

下图是我从官网下载的CentOS-6.4-i386-bin-DVD,有两张光盘,第一张是系统盘,第二张是附属的一些软件.该系统我将要安装到VMware虚拟机上,我的本机是win8 在VMware上新建一台虚拟机,分配内存的时候注意一下,你分配的内存大小会决定你的Linux会以什么的模式安装. 该版本的Linux安装模式有两种,即文本模式和图形模式.文本模式安装的时候会没有自定义分区大小的功能,图形模式有.据说分配的计算机内存必须等于或者大于628M才会启动图形安装模式,我当时分配512M内存的时

KVM虚拟机安装管理——qemu-kvm方式

KVM (kernel-based virtual machine,内核虚拟机),是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,虚拟化效率高.管理简便. 1)系统环境  操作系统 CentOS release 6.3 内核版本 2.6.32-279.el6.x86_64 服务器型号 Dell  R410 基本配置 32G内存.8核CPU.4T硬盘 2)安装KVM软件,加载内核模块 2.1)安装kvm 内核模块

Redis 一:安装篇

1.安装环境,虚拟机 + centos6.5 PS::前提已经安装了yum的情况下 第一步:安装 mkdir /usr/redis 新建redis目录 cd /usr/redis 进入目录 wget http://download.redis.io/releases/redis-2.8.13.tar.gz 下载2.8.13安装包 PS::如果wget显示无此命令,请先 yum install wget tar zxf redis-2.8.13.tar.gz 解压 cd redis-2.8.13.

SystemTap 学习笔记 - 安装篇

https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux 安装 为了部署 SystemTap,需要安装以下两个 RPM 包: systemtap systemtap-runtime 以 root

使用GNS3和Cisco IOU搭建路由交换实验-安装篇

如何使用GNS3和Cisco IOU搭建路由交换实验-安装篇 GNS3软件的安装 建议大家从官网直接下载最新版本的GNS3,官网连接http://www.gns3.com/ 根据系统类型选择相应的版本,这里我选择的是Windwos系统的最新版本1.3.2 下载好安装包后直接运行安装包,在如下画面时,根据需要选择安装组件,如果已经安装过某些组件,如WinPCAP.Wireshark等组件的话可以取消安装,不然的话会安装向导会联机下载所需组件: 如果安装过相应组件的话,会出现如下提示对话框: 如果选

mysql-cluster 安装篇(3)---rpm简易安装法

周氏一族,整理技术文档,给下一代留点教程...... 网络架构 192.168.0.202    管理节点(MGM) 192.168.0.203    存储节点(NDB) 192.168.0.204    查询节点(API) 准备材料(可以到官网下载,解压拿出来这两个包) MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm 开始安装之前,还是再三告知,mgm

ansible(一)安装篇

研究了一个多礼拜saltstack,这东西除了偶尔不稳定之外,感觉啥活都能干.楼主,趁着没事, 再研究下ansible吧. 打开ansible官网,两行文字映入眼帘. Ansible is the simplest way to automate IT. 意思是ansible是IT管理最简单的方法,简单归简单,不知道干的活有没有saltstack多了?.下面就开始楼主的ansible之旅了. ansible有啥特点呢? 还是官网首页?最下面的三块,简单用楼主的中国式英语翻译下. 简单,ansib

vnc+kvm远程安装系统的黑屏问题

利用vnc从Windows远程到linux,再从linux的kvm中远程连接到kvm管理器,安装系统时发现总是黑屏,开始以为是安装包的问题,后来在kvm本地安装发现能够正常显示,这应该是vnc的bug吧. 之后利用Remote viewer工具能够成功远程.过程如下 1.在Windows中vnc远程linux,在kvm中连接远端服务器的kvm管理器,新建虚拟机. 2.在遇到如下图界面时,把箭头所指选项勾上 3.在Display Spice 中改为如下选项,因为kvm默认是localhost不能远