KVM(Kernel-basedVirtualMachine,即内核级虚拟机)是一个开源的系统虚拟化模块,是使用于Linux核心中的虚拟化基础建设,KVM在年2月被导入Linux2.6.20核心中,它也被引入FreeBSD。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。kvm需要经过修改的QEMU软件(qemu-kvm)和virt(libvirt)作为虚拟机上层控制界面,kvm能在不改变linux或windows镜像的情况下同时运行多个虚拟机,并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……),也可以按需求加载半虚拟化驱动,加强和硬件的协作。在主流的linux内核,如2.6.20以上的内核均包含了kvm核心,在近两年的linux内核更新中,也都有增强kvm稳定性和负载能力的修改。
一言以蔽之,kvm是和VMware,virtualbox一样的虚拟机工具,不过他并没有windows版本.他功能强大,稳定性高,最重要的,当然是完全免费开源了.
如果输出的结果包含VMX,是Intel处理器虚拟机技术标志:如果包含SVM,是AMD处理器虚拟机技术的标志,如果什么都没有得到,那系统并没有支持虚拟化的处理,不能使用KVM,当然,近几年新出的cpu绝大部分都支持了。
然后,就可以来安装了,kvm这个工具其实是一个工具集群,所以要想编译安装的话,难度太高,所以无论那篇文章,都是建议yum或apt安装的,而还好各大官方和非官方的源都对kvm的更新跟进比较迅速,所以还是可以.
qemu-kvm:kvm基本功能,但仅仅安装KVM还不是一个完整意义上的虚拟机,只是安装了一个hypervisor(这个步骤其实和单纯安装ESXI产品一样),必须安装一些管理工具软件包配合才能使用。
libvirt:是一个可与管理程序互动的API程序库。libvirt使用xm虚拟化构架以及virsh命令行工具管理和控制虚拟机。virt-manager:也称VirtualMachineManager,它可为管理虚拟机提供图形工具。它使用libvirt程序库作为管理API。virtinst:提供创建虚拟机的virt-install命令。
libvirt-python:软件包中含有一个模块,它允许使用由Python编程语言编写的应用程序使用
软件装完了,那就上虚拟机吧,不过在安装前,还需要做些事情,检查selinux关闭状态和bios的虚拟化有没有开,如果这两个没做好,你就装不了虚拟机.
我想selinux就不用多说了,这个是军工级防火墙,大部分人是用不到的,也阻碍虚拟机和外界的通信,不实际,除非你真的有这样的需求吧.
至于bios没开虚拟化的问题,正如我开头说的,近几年的cpu都支持虚拟化,但是服务器厂家出于某些安全和性能原因,默认关闭,这个时候就需要手动去开启,开启选项各不相同,我不能一一举例,如果很不幸没开虚拟化,还请各位自己摸索了.如果不设置好这个模块加载的问题,那么你的虚拟机一装就蓝屏,就等于用不了了.
--------------------------------选读内容---分割线----------------------------------------
然后还有一个关于网络设置的问题,kvm和其他虚拟机软件一样,支持nat和网桥的网络模式,虽然我觉得nat模式再做iptables转发是足够的,但是总有些人觉得网桥模式直接获取本地DHCP源IP也很有需要,而网桥模式需要把服务器自身的网卡设置成网桥.
---------------------------------------分割线---------------------------------------------
好了,该准备的准备好了,下面就可以来安装虚拟机了,看完刚才yum的软件包,大家应该知道,可以用命令安装,也可以用图形来安装,然后我都不打算细说,只说几个重点,进到装系统界面嘛,我就什么也不说了,装系统应该是干IT的基本技能了.
上面的操作命令,使用网络为默认的网络,虚拟机的名字为rhel5.内存分配为
M。虚拟机存储文件的位置为:/tmp/rhel5.img使用/mnt/cd1为安装源(已经挂载了iso的文件夹)。然后就会调用一个图形界面virt-viewer进行安装,再然后就和你一般装系统一样了,慢慢点"下一步"吧。
先来讲讲虚拟机的存储文件,如果有了解过其他虚拟机软件的话,其实这个还是分很多种格式,不过并不准备详细说,只说一种,而且是kvm自带的qcow2格式,他的特点是可伸缩,而且有实际存储数据才会占空间,没有就不占,
这种方式就是磁盘的精简模式。如果使用virt-manager来创建的话,创建磁盘文件的容量不能超过当前磁盘的空闲容量,看起来就不那么灵活了.
每种镜像文件格式都有优点缺点,想要用得666,是要熟悉每种格式的特点,不过个人觉得,用好自己熟悉的也是可以了,大部分情况下还是差别不大的。
点击第一张图显示的[创建新虚拟机],然后弹出一个窗口,这里如无特别需求,都是默认的,点[forward]下一步
这里选择iso文件,如箭头所指,先点击[浏览],然后选择镜像目录,这里是[cop],再然后选到你想安装的iso文件
选择虚拟硬盘,你想用默认的格式就直接该改数字,然后下一步就好了,你想自己创建,那就点[manage],然后选择你想存放虚拟硬盘镜像文件的路径,然后点那个绿色的[加号],再然后创建你想的格式和容量,点击[完成],最后选择你刚创建的虚拟硬盘镜像,再点[foeward]下一步
我们装虚拟机当然不是为了玩玩,是切切实实用起来,但问题是,如果不是网桥模式,在nat模式下,虚拟机虽然能访问外网,外网是访问不了它的,这可咋办?不要慌,linux有iptables,可以达到路由功能,实现数据包转发.
第
一,新版本的kvm在libvirtd启动时,会自己加入确保虚拟内网正常访问外网的NAT规则进来,在旧版本里是没有的,所以有些文章由于版本新旧的问题,并不一定能用,因为双方规则可能有些冲突了.
第
二,系统自带的iptables匹配规则是有先后之分的,默认是自下而上匹配,以最后一次匹配为准,所以就有可能出现和kvm自带规则冲突的问题,-A是加到最下面一行的,-I是加到最上面一行的.
母机ip:192.168.1.132母机映射目的端口:nat网关:192.168.122.1虚拟机ip:192.168.122.73虚拟机端口:
这里无需做SNAT,因为libvirtd自己添加的在NAT表的MASQUERADE规则相当于已经给你做掉了SNAT转换!
虚拟化与KVM1、虚拟化简介1)系统虚拟化是将底层物理设备与上层操作系统、软件分离的一种去耦合技术,在一台物理机器上逻辑的划分出多台机器。2)虚拟化的目标是实现IT资源利用效率和灵活性的最大化。在一台物理主机上虚拟出多个虚拟计算机(虚拟机,VirtualMachine,VM),其上能同时运行多
KVM介绍
(5):libvirt介绍[LibvritforKVM/QEMU]学习KVM的系列文章:
(1)介绍和安装
(2)CPU和内存虚拟化
(3)I/OQEMU全虚拟化和准虚拟化(Para-virtulizaiton)
(4)I/OPCI/PCIe设备直接分配和SR-IOV(5)libvirt介绍
(6)Nova通过libvirt管理QEM
KVM介绍
(7):使用libvirt做QEMU/KVM快照和Nova实例的快照(NovaInstancesSnapshotLibvirt)学习KVM的系列文章:
(1)介绍和安装
(2)CPU和内存虚拟化
(3)I/OQEMU全虚拟化和准虚拟化(Para-virtulizaiton)
(4)I/OPCI/PCIe设备直接分配和SR-IOV(5)libvirt介绍(6
使用virsh之前先安装kvm环境,请参考我这边文章安装kvm
1.查看所有的虚拟机virshlist//正在运行的所有虚拟机virshlist--all2.启动虚拟机m7//重启
3.关闭虚拟机virshshutdownvm7//关闭指令,是虚拟机进入shutoff状态,系统提示虚拟机正在被关闭,却未必能成功当
目录:(4.1)KVM虚拟机性能优化思路及方案(4.2)利用tuned优化(4.3)配置KSM(4.4)通过配置大页优化guestos(4.5)配置CPU的亲和性(4.6)半虚拟化驱动(4.1)KVM虚拟机性能优化思路及方案通过前面的学习我们已经可以正常的创建虚拟机了,当然运行虚拟机不是难点,难点在于怎样让我们创建的虚拟机运行的更高效。我们要运行的KVM虚拟机一般要从内存来考虑,考虑每台虚拟机消耗
1.KVM介绍KVM是基于虚拟化扩展(IntelVT或者AMD-V)的X86硬件的开源的Linux原生的全虚拟化解决方案。KVM中,虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度;虚机的每个虚拟CPU被实现为一个常规的Linux线程。这使得KVM能够使用Linux内核的已有功能。KVM本身不执行任何硬件模拟,需要用户空间程序通过
文章目录
一、虚拟化技术
1、虛拟化技术概念
2、虚拟化技术发展
3、虚拟化类型
4、虚拟化特性
二、KVM简介
三、KVM架构及原理
1、KVM虛拟化架构/三种模式
2、KVM原理
四、KVM工作流程
五、KVM部署
1、修改主机名,关闭防火墙
2、自动挂载
3、环境优化
4、制作本地YUM仓库
5、安装KVM6、设置KVM网络
7、创建KVM存储和镜像数据的目录、上传centos7镜像
8、创建虚拟机
一、虚拟化技术
1、虛拟化
KVM全称Kernel-basedVirtualMachineqemu全称virsh全称VirtualShell一、安装准备
1.确定机器有VT终端输入命令:grepvmx/proc/cpuinfo(INTEL芯片)grepsvm/proc/cpuinfo(AMD芯片)
1、部署kvm环境。这里我选择第一种安装方式,直接安装图形化。根据引导选项默认创建完虚拟机点击处理器,勾选虚拟化打开虚拟机,进行配置,找到最小安装,勾选图片中的选项其他的步骤都是正常安装虚拟机的流程,这里就不演示了验证是否满足条件lscupvirt-manager对加载的硬盘格式化,用来存储ios镜像和虚拟机文件gdisk/dev/sdb直接全部回车,默认就行格式化磁盘,然后进行
一、虚拟机资源
1、修改主机名
2、将镜像光盘设为永久挂载
3、环境优化[root@kvm~]#vim/etc/ssh/sshd_config取消DNS注释,改为NO4、制作本地YUM仓库
5、关闭防火墙、核心防护
二、安装KVM1、安装VM基本组件#安装GNOME桌面环境如果装了图形界面可以不需要装
简介KVM(Kernel-basedVritualMachine)--基于内核的虚拟机KVM是基于虚拟化扩展的X86硬件的开源Linux原生的全虚拟化方案(要求cpu支持Intel-VT-x或AMD-V)KVM内嵌于内核模块中,模拟处理器和内存以支持虚拟机运行虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度;虚拟机的每个虚拟CPU被实现为一个常规的Linux
Youcancreate,delete,run,,andmanageyourvirtualmachinesgraphically.Thetoolvirt-managerallowsyoutouseagraphicalinterface
KVM虚拟机部署
一.安装前的准备安装虚拟机vmware虚拟机安装教程见虚拟机工具中此篇注意点以我这边的配置参考:CPU选择为
4,内存选择8CB,硬盘选择160GB。镜像选择自己的镜像***.iso.如下图所示:cpu硬件虚拟化打勾设置虚拟机临时网关在直连虚拟机的情况下,用root权限编辑网卡信息vi/etc/work-scripts/ens192#编辑网卡
KVM基本介绍:KVM是Kernel-basedVirtualMachine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20之后集成在Linux的各个主要发行版本中,KVM目前已成为学术界的主流VMM(virtualmachinemonitor,虚拟机监视器,也称为hypervisor)之
一,也是当前各大云计算厂商广泛使用的虚拟化技术。KVM的虚拟化需要硬件支持(
一、KVM介绍KVM:运行在内核空间,提供CPU和内存的虚级化,以及客户机的I/O拦截。Guest的I/O被KVM拦截后,交给QEMU处理。QEMU:修改过的为KVM虚机使用的QEMU代码,运行在用户空间,提供硬件I/O虚拟化,通过ioctl/dev/kvm设备和KVM交互。KVM所实现的拦截虚拟机I/O请求的原理现代CPU本身实现了对特殊指令的截获和