当前位置:首页 > 虚拟化 > 正文

搭建kvm虚拟化环境步骤(kvm是全虚拟化还是半虚拟化)


一、如何为Ubuntu15.04安装和配置KVMKVM与Xen和Hyper-V的不同之处在于它不要求用户使用特定的系统和内核版本。它只需要一个标准的Linux内核就可以使用KVM创建和管理虚拟机。KVM支持全虚拟化技术,运行在其上的每个虚拟机独立运行,无需了解主机系统架构。
话虽如此,我们来看看如何为Ubuntu15.04安装和配置KVM。
验证您的CPU是否支持硬件虚拟化
要运行KVM,必须确保您的Linux系统所在的CPU支持硬件虚拟化,否则将无法正常工作。我们可以在终端执行以下命令来确认:
egrep"svm|vmx"/proc/cpuinfo
如果你的CPU支持,你会看到类似下面的返回:
如果vmx选项不可用,请重新启动系统并在BIOS中启用硬件虚拟化。
为Ubuntu15.04安装KVM
确认CPU支持并启用硬件虚拟化后,我们可以使用以下命令为Ubuntu15.04安装KVM及相关依赖包:
sudoapt-getinstallqemu-kvmqemuvirt-managervirt-viewerlibvirt-binbridge-utils
启用桥接网络
正常情况下确保虚拟机连接到For为了在互联网上相互通信,我们需要在主机中启用网络桥接。为了保证原有的网络配置不被破坏,我们首先使用以下命令备份网络配置文件:
sudocp/etc/network/interfaces/etc/network/interfaces-bak
之后备份完成后,我们需要对/etc/network/interfaces配置文件进行修改,在配置文件中添加如下信息:
#EnablingBridgenetworkingbr0interfaceautobr0ifacebr0inetstaticaddress192.168.1.70network192.168.1.0netmask255.255.255.0broadcast192.168.1.255gateway192.168.1.1dnsnameservers223.5.5.5bridge_portseth0bridge_stpoff
以上网络环境信息请勿复制!
配置完成后,请重新启动,然后使用以下命令验证网桥是否已配置:
ifconfig
启动KVM虚拟系统管理器
安装并配置桥接网络后,我们可以使用以下命令打开KVM虚拟系统管理器:
sudovirt-manager
点击文件点击菜单下的newvirtualmachine即可创建新的虚拟机。
二、kvm安装linux系统kvm安装linux

Windows系统上可以安装KVM吗?

得益于KVM的广泛兼容性,支持Windows、Linux、Sun等主流操作系统,兼容联想、曙光、浪潮、华为、Boyd、HP、IBM、戴尔和思科。

所以Windows系统可以安装KVM。

是否可以直接在裸机(服务器)上安装KVM(虚拟机)?如何安装?

最流行的两种裸机开源虚拟化技术是内核虚拟机(KVM)和Xen,因此KVM可以直接运行在裸机上,无需任何操作系统。KVM支持几乎所有操作系统:Linux、MacOS、Unix、Windows以及您选择的任何其他操作系统。

如何连接KVM?

安装VNC1。安装VNC服务器(1)在Linux系统上安装VNCyum-yinstallvnc-serveryum-yinstalltigervnc-server(2)设置远程访问所需的密码进入vncserver后,会提示输入密码注意:此密码是需要输入的密码远程访问时输入(3)通过vi/etc/sysconfig/vncservers配置vncserver,设置如下配置值VNCSERVRES=10000:root(10000为桌面,number和root为用户名)VNCSERVERARGS=geometry800x600_nolistentcp_localhost(4)运行防火墙配置允许远程连接VNC服务器vi/etc/sysconfig/iptables_AINPUT_mstate_stateNEW_mtcp_ptcp_dport5901_jACCCEPT(5)重新启动VNC和防火墙服务servicevncserverrestartserviceiptablesrestart2Linux上的ncviewer软件TigerVNC在Windows上的安装2创建KVM虚拟机1、创建Linux虚拟机(1)创建7G通过qemu-img制作镜像文件qemu-imgcreate_7G(2)创建Linux虚拟机qemu-kvm_m1024_cdromubuntu-12.04-desktop-i386。iso_drivefile=;boot=on_bootd_ngraphic_vnc:

2注意:-vnc和:2之间有一空格在另一台计算机上启动TigerVNC,输入192.168.0.123:5902连接并运行“安装”。操作并观察安装进度注:192.168.0.123是基础机的IP,5902是对应的端口号(5900+2)2、创建Windows虚拟机(1)创建包含virtio驱动的镜像并安装。下载UltraISO软件、、将解压到文件夹中使用UltraISO打开并复制virtio-win-0.1-30对应路径下。添加新的win7与virtio驱动文件夹。iso文件保存为新的ios文件win7__drivefile=win7_,if。=virtio,boot=on__bootd_ngraphic_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是针对KVM和KVM优化的Qemu的组合。他的表现比Qemu本人要好得多。。。我们现在所说的KVM其实就是qemu-kvm。Linux中作为块设备存在/dev/kvm和qemu-kvm进程

Kvm三个组件和应用?

KVM虚拟化架构及三种模式

1.访客模式(guestOS):VM中的操作系统为GuestOS

访客以操作系统模式运行。,客户端分为内核模块和用户态

2用户态:

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

内核模式

拟CPU和内存,实现客户端模式切换,并处理运行在该模式下从客户端模式启动

KVM原理

1Guest:Guest系统,包括CPU(vCPU)、内存、驱动程序(控制台、网卡、I/O设备驱动程序等)

由KVM插入以在CPU限制模式下运行。

内核模块模拟处理器和内存来支持虚拟机运行

3Qemu主要处理I/O,为客户提供libvirt用户空间管理虚拟机的/dev/kvm工具

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

libvirt:KVM管理工具

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

简单理解:

KVM驱动提供处理器和内存虚拟化,以及guestI/O拦截。guestI/O被拦截后,交给Qemu处理

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

KVM工作流程

用户模式​​Qemu使用libkvm接口通过ioctl系统调用访问内核模式。KVM驱动程序为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入Guest模式,加载GuestOS并运行。如果在运行GuestOS时发生异常,GuestOS操作将暂停,当前状态将被保存,系统将退出内核模式来处理这些异常。

当内核模式处理这些异常时,如果不需要V/O,则处理完成后将恢复到客户端模式。如果需要V/O,则进入用户模式,Qemu将处理I/O。处理完成后进入内核态,然后进入客户端态


三、centos6.5下kvm环境搭建详解1.关闭一些服务,关闭内核防火墙(需要重启机器)

chkconfigpostfixoff

chkconfigiptablesoff

chkconfigip6tablesoff

chkconfigNetworkManageroff

sed-i's/=enforcing/=disabled/g'/etc/selinux/config

2.验证虚拟化支持

[root@kvm~]#cat/proc/cpuinfo|grep'vmx'--color=auto###验证IntelCPU是否支持全虚拟化

[root@kvm~]#cat/proc/cpuinfo|grep'svm'--color=auto###验证AMDCPU是否支持全虚拟化

3.安装和更新kvm相关包和加载模块

[root@kvm~]#yuminstall。-ykvmvirt-*libvirtsbridge-utilsqemu-img

[root@kvm~]#yumupgradedevice-mapper-libs

[root@kvm~]#modprobekvm-intel###加载kvmmodule。执行成功后,不会返回任何信息。

[root@kvm~]#lsmod|grepkvm###检查kvm模块是否加载

kvm_intel542850

kvm3331721kvm_intel

四、网卡eth0,相关配置br0

[root@kvmnetwork-scripts]#catifcfg-eth0

DEVICE=eth0

HWADDR=00:0c:29:77:95:8e

TYPE=以太网

UUID=29ab4ff0-e2ed-4132-ac07-8e5bbd472ff5

ONBOOT=是

NM_CONTROLLED=yes

BOOTPROTO=no

BRIDGE=br0

[root@kvmnetwork-scripts]#catifcfg-br0

设备=br0

TYPE=桥

ONBOOT=是

NM_CONTROLLED=否

BOOTPROTO=静态

IPADDR=192.168.1.100

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=202.102.224.68

[根@kvmnetwork-scripts]#servicenetworkrestart

5修改/etc/libvirt/

echo'vnc_listen=0.0.0.0'/etc/libvirt/

6.重新启动libvirtd和消息总线服务

[root@kvmlibvirt]#/etc/init.d/libvirtdrestart

停止libvirtddaemon:[失败]

启动libvirtddaemon:[确定]

[root@kvmlibvirt]#/etc/init.d/messagebusrestart

停止系统消息总线:[确定]

启动系统消息总线:[确定]

[root@kvmlibvirt]#

[root@kvmlibvirt]#mkdir/iso###创建镜像文件目录

[root@kvmlibvirt]#mkdir-p/data/kvmdisk/###创建虚拟磁盘存储目录

==============通过WinSCP软件上传ISO文件到iso目录======本文不再解释======

7.创建虚拟机

[root@localhost~]#virt-install-nwin08-r4096-vcpus=4-s80-c/iso/--hvm--os-type=windows-f/data/kvmdisk/--

graphicsvnc,listen=0.0.0.0,port=7789--force--autostart

//命令解释:

创建一个名为win08的虚拟机,大小为4G内存、4个CPU、80G硬盘。安装镜像为/iso/设置为全虚拟化,同时系统类型为windows,配置vnc端口为7789自动开始安装

virt-install参数说明:

-n--name=虚拟机名称

-r--ram=虚拟机分配的内存

-u--uuid=虚拟机uuid

--vcpus=2指定2个vcpu数量

-v--hvm所有虚拟机

-p--paravirt半虚拟化

--l--location=localdir安装源

--vnc使用vnc

//可以使用--graphicsvnc,listen=LISTEN,...

--vncport指定vnc监听端口,默认端口为5900,端口不能重复使用

--vnclisten指定vnc绑定ip

-c--cdrom=CD-ROM驱动器或安装路径

-s--file-size=要使用的磁盘映像的大小,以GB为单位

-f--file=用作磁盘映像的文件

--disk=使用变体选项将安装介质用作磁盘

--force阻止交互式提示

--os-variant指定操作系统类型

>

--speedup加速

--这里一般使用默认网络类型,应该使用bridge

centos安装:virt-install-nCentos6.5-r4096-vcpu=4-s80-c/iso/。--hvm--os-type=linux-f/data/kvmdisk/--graphics

vnc,listen=0.0.0.0,port=7789--force--autostart

上一篇:虚拟化搭建

下一篇:kvm虚拟化搭建