linux kvm安装(linux官网)

大家好,今天小编来为大家解答linux kvm安装这个问题,linux官网很多人还不知道,现在让我们一起来看看吧!

KVM虚拟机的安装方法

一、安装准备

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和Open vSwitch

在如今多租户模式的数据中心环境下,虚拟化技术正从传统的基于虚拟机管理程序的服务器虚拟化,扩展到网络虚拟化。在这种环境下,基于软件的虚拟交换机通常连同虚拟机管理程序一起部署在服务器上,串联起了不同虚拟机之间传送的流量。

我在本教程上将演示如何在Ubuntu或Debian上安装和配置KVM和Open vSwitch(OVS)。KVM和Open vSwitch分别是用于如今的数据中心中的最流行的开源虚拟机管理程序和虚拟交换机。

将Open vSwitch安装在Ubuntu或Debian上

虽然OVS以程序包的方式出现在Ubuntu或Debian上,但我在此还是通过源代码来构建OVS,这将拥有最新的功能特性和修正版。

首先,安装用于构建OVS的依赖项。

$sudoapt-getinstallbuild-essentiallibssl-devlinux-headers-$(uname-r)

通过源代码来构建OVS,如下所示。下列步骤将构建OVS内核模块以及OVS用户空间工具。

$wget

$tarxvfvzopenvswitch-1.9.3.tar.gz

$cdopenvswitch-1.9.3

$./configure--with-linux=/lib/modules/`uname-r`/build

$make

接下来,继续在/usr/local/share/下安装OVS用户空间组件:

$sudomakeinstall

下一步是,测试OVS内核模块(安装该模块之前)。为此,先在内核中装入内核模块。

$sudoinsmod./datapath/linux/openvswitch.ko

证实OVS内核模块已成功装入。

$lsmod|grepopenvswitch

openvswitch 97934 0

一旦你证实openvswitch.ko已成功装入到内核中,继续安装内核模块,如下所示。

$sudomakemodules_install

配置和启动Open vSwitch

创建一个框架式OVS配置数据库。

$sudomkdir/etc/openvswitch

$sudoovsdb-toolcreate/etc/openvswitch/conf.db./vswit

chd/vswitch.ovsschema

启动OVS数据库服务器。

$sudoovsdb-server--remote=punix:/usr/local/var/run/ope

nvswitch/db.sock-remote=db:Open_vSwitch,manager_options

--pidfile--detach

OVS配置数据库初始化。

$sudoovs-vsctl--no-waitinit

最后,启动OVS守护程序。

$sudoovs-vswitchd--pidfile--detach

将KVM安装在Ubuntu或Debian上

使用apt-get命令,安装KVM和必要的用户空间工具。

$sudoapt-getinstallqemu-kvmlibvirt-binbridge-utils

virt-manager

将一个普通的非根用户(如alice)添加到libvirtd群组,那样该用户不需要根用户权限,就能启动虚拟机。

$sudoadduseralicelibvirtd

退出,重新以该用户身份登录,让群组成员的变更生效。

运行下面这个命令。如果你看到空空如也的虚拟机列表,这意味着KVM已成功设置完毕。

$virsh-cqemu:///systemlist

Id Name State

为KVM配置Open vSwitch

现在是时候创建OVS网桥启动脚本了,那样启动或终止虚拟机时,OVS就能自动配置。

安装依赖项(用户模式Linux实用工具),这些依赖项将用于处理Linux网桥模式。

$sudoapt-getinstalluml-utilities

创建网桥启动脚本,如下所示。

$sudovi/etc/openvswitch/ovs-ifup

#!/bin/sh

switch='br0'

/sbin/ifconfig$10.0.0.0up

ovs-vsctladd-port${switch}$1

$sudovi/etc/openvswitch/ovs-ifdown

#!/bin/sh

switch='br0'

/sbin/ifconfig$10.0.0.0down

ovs-vsctldel-port${switch}$1

$sudochmod+x/etc/openvswitch/ovs-if*

然后,创建一个默认的网桥br0,并添加一个物理网络接口,虚拟机将通过这个接口与外部网络进行联系。在该教程中,我假设这类网络接口是eth5。

$sudoovs-vsctladd-brbr0

$sudoovs-vsctladd-portbr0eth5

借助KVM启动虚拟机

现在你可以准备启动访客虚拟机了。

我假设,你已经准备好了一个访客虚拟机映像(比如ubuntu-client.img)。使用下面这个命令,启动访客虚拟机。

$sudokvm-m1024-netnic,macaddr=11:11:11:EE:EE:EE-ne

ttap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/op

envswitch/ovs-ifdown-vnc:1-drivefile=/home/dev/images

/ubuntu-client.img,boot=on

这会创建并启动一个访客虚拟机;一旦访客虚拟机启动,其虚拟接口就自动添加到OVS网桥br0。

你可以使用ovs-vsctl这个命令,核实OVS的状态,如下所示。

这是已启动的虚拟机的远程桌面会话。

kvm安装linux系统kvm安装linux

Windows系统能装KVM吗?

因为KVM广泛的兼容性,支持Windows,Linux,和Sun等主流操作系统,并兼容联想、曙光、浪潮、华为、宝德、HP、IBM、戴尔和思科等主流服务器。

所以Windows系统能装KVM。

裸机(服务器)可以直接安装KVM(虚拟机)吗?怎么安装?

两种最流行的裸机开源虚拟化技术是KernelVirtualMachine(KVM)和Xen,所以KVM可以直接在裸机上运行,不需要什么操作系统。KVM几乎支持任何操作系统:Linux、MacOS、Unix、Windows以及你所采用的其他任何操作系统。

KVM怎么连接?

一安装VNC1.安装VNC服务端(1)在Linux系统上安装VNCyum-yinstallvnc-serveryum-yinstalltigervnc-server(2)设置远程登录所需要的密码输入vncserver后会提示输入密码注:此密码是远程登录时所需要输入的密码(3)进行vncserver配置vi/etc/sysconfig/vncservers设置以下配置值VNCSERVRES=10000:root(其中10000为桌面号、root为用户名)VNCSERVERARGS=geometry800x600_nolistentcp_localhost(4)进行防火墙配置允许远程连接VNC服务器vi/etc/sysconfig/iptables_AINPUT_mstate_stateNEW_mtcp_ptcp_dport5901_jACCCEPT(5)重启VNC和防火墙服务servicevncserverrestartserviceiptablesrestart2.安装VNC客户端在Linux上安装vncviewer在Windows上安装TigerVNC软件二创建KVM虚拟机1.创建Linux虚拟机(1)通过qemu-img创建一个7G的映像文件qemu-imgcreate_fqow2Ubuntu1204.img7G(2)创建一个Linux虚拟机qemu-kvm_m1024_cdromubuntu-12.04-desktop-i386.iso_drivefile=Ubuntu1204.img;boot=on_bootd_nographic_vnc:

2注:-vnc与:2之间有空格在另外一台机器上启动TigerVNC,输入192.168.0.123:5902进行连接来进行安装操作和观察安装进度注:192.168.0.123为本机IP,5902为相应端口号(5900+2)2.创建Windows虚拟机(1)制作包含virtio驱动的映像安装UltraISO软件下载win7.iso,virtio-win-1.1.16.vfd,virtio-win-0.1-30.iso将virtio-win-0.1-30.iso解压成文件夹使用UltraISO打开win7.iso,并将virtio-win-0.1-30复制到对应路径将添加了virtio驱动文件夹的新win7.iso文件另存为新的ios文件win7_virtio.isoqemu-imgcreate_frawwin7_virtio.img30Gqemu-kvm_m1024_cdromwin7_virtio.iso_drivefile=win7_virtio.img,if=virtio,boot=on_fdavirtio-win-1.1.6.vfd_bootd_nographic_vnc:

3注:-vnc与:3之间有空格在另外一台机器上启动TigerVNC,输入192.168.0.123:5903进行连接来进行安装操作和观察安装进度注:192.168.0.123为本机IP,5903为相应端口号(5900+3)三远程桌面虚拟化连接在另外一台机器上启动TigerVNC,输入192.168.0.123:593进行win7虚拟机登录

KVM、QEMU和KQemu有什么区别?

KVM只基于内核的虚拟化Qemu本身就是一种虚拟化,也是一种硬件仿真模拟器KQemu是Qemu针对于KVM做优化后和KVM的结合,性能比Qemu本身好很多。。。我们目前说的KVM其实就是qemu-kvm在linux中是以一个/dev/kvm的块设备和qemu-kvm的一个进程存在的

kvm三个组件及应用?

KVM虚拟化架构及三种模式

1、客户模式(guestOS):VM中的OS为GuestOS

客户机在操作系统中运行的模式,客户机分为内核模成和用户模式

2、用户模式:

为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu工作在此模式下(Qemu的主要功能)

3、linux内核模式

模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

KVM原理

1、Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O设备驱动等)

被KVM置于一种受限制的CPU模式下运行。

2、KVM内核模块模拟处理器和内存以支持虚拟机运行

3、Qemu主要处理I/O以及为客户提供一个用户空间/dev/kvm工具libvirt来进行虚拟机管理

ioctl(定义)专用于设备输入输出操作的系统调用

libvirt:KVM管理工具

以上构成一个完整的虚拟化平台

简单理解:

KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,交由Qemu处理

Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

KVM工作流程

用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入客户模式,装载GuestOS并运行。GuestOS运行过程中如果发生异常,则暂停GuestOS的运行并保存当前状态同时退出到内核模式来处理这些异常。

内核模式处理这些异常时如果不需要V/O则处理完成后重新进入客户模式。如果需要V/O则进入到用户模式,则由Qemu来处理I/O,处理完成后进入内核模式,再进入客户模式

阅读剩余
THE END