![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
xen、kvm 虚拟化技术
文章平均质量分 74
chenyulancn
python、golang、c/c++、linux、虚拟化、大数据
展开
-
虚拟机迁移技术漫谈,第 1 部分
前言系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展,系统的迁移更加灵活和多样化。本系列文章全面介绍了虚拟机迁移的三种方式 P2V、V2V 和 V2P,及他们在内核转载 2013-06-03 12:23:13 · 2195 阅读 · 0 评论 -
libvirt网络分析之---为什么修改网络后虚拟机会断网
在libvirt官方wiki有这么一段关于网络的介绍:Applying modifications to the networkSometimes, one needs to edit the network definition and apply the changes on the fly. The most common scenario for this is adding ne转载 2013-10-08 22:49:37 · 1837 阅读 · 0 评论 -
How to delete live snapshots
下面是mailing list里面有关这个问题的精彩回答: Harald Skardal问:I have a service that takes new live KVM snapshots Si regularly, keeps a fixed number N (Si ,..,Si-N+1), and therefore needs to delete Si-N in this cy转载 2013-10-08 22:51:24 · 971 阅读 · 0 评论 -
virtio 介绍
KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)的hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有Intel EPT特性支持的平台上,内存虚拟化的效率也较高。QEMU/KVM提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在KVM环境中。不过,KVM在I/O虚拟化方面,传统的方式是使用QEMU纯软件的方式来模拟I/O设备(如第4章中提到模拟转载 2013-10-08 21:46:16 · 999 阅读 · 0 评论 -
libvirt 快照 (一)
验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况。一、快照类型1) 磁盘快照内部的:快照驻留在原来的镜像文件内部外部的:快照以一个新的外部独立文件的形式存在,在此之后,原镜像变成只读,所有改变记录到快照文件里磁盘快照由virsh snapshot-create命令创建2) 内存快照可以将转载 2013-10-08 21:56:57 · 3227 阅读 · 0 评论 -
libvirt虚拟机 网络(一)
0x001 libvirt网络基本概念 libvirt默认使用了一个名为default的nat网络,这个网络默认使用virbr0作为桥接接口,使用dnsmasq来为使用nat网络的虚拟机提供dns及dhcp服务,dnsmasq生效后的配置文件默认保存在以下路径:/var/lib/libvirt/dnsmasq/default.hostsfile mac&&ip绑定的配置文件转载 2013-10-08 22:06:39 · 3360 阅读 · 0 评论 -
为KVM虚拟机配置虚拟网桥 (英语)
转自IBM网站Configuring the networkYou can use the default network setup, or set up a network bridge in the host. The default network allows only outbound communication from the KVM guests. If the KVM转载 2013-10-08 22:18:10 · 1882 阅读 · 0 评论 -
libvirt 虚拟机 网络(三)
Bridge方式的网络配置。Bridge的逻辑原理图如下: 上图中的“br0”就充当了一个桥的作用,主机上的物理网口eth0等根据需要加入到这个桥里面,所有虚拟机要跟外界通信都通过这个br0, br0再经过真实的物理接口eth0等与外界通信。与NAT不同,桥接方式虚拟机跟主机一样能获得主机所在网络的IP地址,不再由主机进行伪装。那么br0是如何在Ubuntu主机上创建出来的呢?虚拟转载 2013-10-08 22:08:07 · 1316 阅读 · 0 评论 -
libvirt虚拟机配置文件的 配置参数
bvirt虚拟机XML定义文件中的配置参数。 XP_VM4 92f1ab08-e115-4016-a522-b550ff593af8 1024000 1024000 1 hvm destroy restart re转载 2013-10-08 22:21:18 · 3797 阅读 · 0 评论 -
基于virtio在虚拟机与主机之间传递消息
Virtio是Linux虚拟机平台上统一的虚拟IO接口驱动。通常主机为了让客户机像在真实环境中一样运行,需要为客户机创建各式各样的虚拟设备,如磁盘,网卡,显卡,时钟,USB 等。这些虚拟设备大大降低了客户机的性能。使用virtio。虚拟机guest不用关注如何创建各种虚拟硬件设备(如磁盘,网卡,显卡等),可以用统一的虚拟设备,因此大大提高虚拟机的性能。这个统一的虚拟设备就是virtio。转载 2013-10-08 22:23:50 · 2216 阅读 · 0 评论 -
virt platform(virt 家族图谱)
There is a libvirt platform relation map转载 2013-10-08 22:31:28 · 847 阅读 · 0 评论 -
libvirt使用之---使用tc实现kvm虚拟机带宽控制
在kvm虚拟机管理的过程当中,对虚拟机带宽进行良好的控制是十分重要的。linux系统当中对网络带宽的控制一般都是使用tc命令实现,tc即是traffic control的缩写,在这里可以找到有关tc命令的内容。当然你可以手动使用tc命令来处理这些事情,比如使用cbq队列,htb队列等,都是可以实现的,网上找找应该有很多关于这方面的资料,比如下面就是使用cbq队列限制src ip为192转载 2013-10-08 22:37:34 · 4006 阅读 · 0 评论 -
浅析libvirt的nwfilter功能
一、简介nwfilter全称network filtering,此部分代码由IBM贡献,其目的在于可让系统管理员在host上通过一套抽象的标准化的配置方式实现对vm的网络数据包的过滤,可以准确的控制到每个vm的每块网卡上。同一个filter规则可以被不同的vm重复使用,当然也可以为每一个vm创建不同的filter规则。当nwfilter规则配置好之后,启动vm的时候libvirt会自动将配转载 2013-10-08 22:27:45 · 2924 阅读 · 0 评论 -
Using VLANs with OVS and libvirt
In previous posts, I’ve shown you how to use Open vSwitch (OVS) with VLANs through fake bridges, as well as how to wrap libvirt virtual network around OVS fake bridges. Both of these techniques ar转载 2013-09-13 17:07:21 · 1338 阅读 · 0 评论 -
Qemu快照(snapshot)机制原理及关键技术理解
1. snapshot 概念 当要做snapshot时,可以通过qemu的monitor terminal 或是QMP(Qemu Monitor Protocol)向QEMU发送命令,命令执行的结果是将原始的镜像(original image)变成备份镜像(bacup image),同时,生成一个snapshot(又称为活动镜像, active image),与原始镜像相比,所有新的变化都转载 2013-09-16 11:35:38 · 1630 阅读 · 0 评论 -
snapshot原理
snapshot是STK(storagetek)为其SVA(shared virtual array)系列磁盘开发的一项技术,后来STK又不这项技术运用与其中低端的磁盘上,但是在非SVA磁盘上这项技术实现起来有点别扭.snapshot 与其他的磁盘快速拷贝技术(如:IBM的flashcopy,EMC的timefinder,hds的shadowimage等)有本质的区别.1、工作原理转载 2013-09-16 11:39:08 · 3486 阅读 · 0 评论 -
Snapshot在virsh和qemu-img中的使用
1。创建快照virsh snapshot-create-as --domain rhel6 --name 2012-03-08--description "Pure Rhel6"2。查看快照virsh snapshot-list rhel63。查看快照配置virsh snapshot-current rhel64。回复快照位置virsh snapshot-revert转载 2013-09-16 09:08:11 · 2433 阅读 · 0 评论 -
KVM虚拟机快照备份
快照:一。确认虚拟机镜像文件格式[root@WWW.ESOJOURN.ORG vps]# qemu-img info centos1.imgimage: centos1.imgfile format: rawvirtual size: 200G (214748364800 bytes)disk size: 6.5GRAW格式是最原始的镜像格式,好处是转载 2013-09-16 09:28:48 · 6278 阅读 · 0 评论 -
qcow2、raw、vmdk等镜像格式
一直纠结在做虚拟化使用什么镜像格式,刚刚开始用了raw的file,后来发现LVM的很多特性对于虚拟化还是有比较理想的能力,而且性能也很不错就用了LVM。后来被VMware骗了跑去搞Esxi接触了VMDK,最近研究openstack发现了qcow2格式,貌似现在很流行呀。也说不上分析这些镜像格式的能力,就简单说说自己的一些使用心得。目前主要有那些格式来作为虚拟机的镜像:raw(def转载 2013-09-16 09:37:54 · 1111 阅读 · 0 评论 -
RHEL6 snapshot快照原理及实验
LVM对lv提供了快照“snapshot”备份功能,这种功能也只对LVM 有效。snapshot有多种实现方法,这里只谈谈“写时复制COW”,不是奶牛哦,是“Copy-On-Write” 当一个 snapshot创建的时候,仅拷贝原始卷里的源数据,这不是物理上的数据拷贝,因此snapshot的创建特别快,当原始卷里的数据有写入时,备份卷开 始记录原始卷哪些数据发生了变化,然后在原始卷新数据覆盖转载 2013-09-16 14:04:59 · 866 阅读 · 0 评论 -
kvm+libvirt虚拟机快照浅析
浅析snapshots, blockcommit,blockpull作者:Kashyap Chamarthy Date: Tue, 23 Oct 2012 15:28:06 +0530这是一篇关于snapshots, blockpull, blockcommit的的介绍.作者和with Eric Blake, Jeff Cody,Kevin Wolf以及很多IRC和mailing转载 2013-09-17 08:57:45 · 2027 阅读 · 0 评论 -
libvirt 快照 (二)
继续试验snapshot的功能。1. 启动虚拟机,在空的D盘上新建一个文本文档test.txt;2. 定义创建snapshot的XML: snap1 也即定义了创建这个虚拟机的外部快照。3. 执行创建外部快照的命令:转载 2013-10-08 21:59:26 · 1584 阅读 · 0 评论 -
KVM虚拟机代码揭秘——QEMU代码结构分析
前言:本文主要概括了QEMU的代码结构,特别从代码翻译的角度分析了QEMU是如何将客户机代码翻译成TCG代码和主机代码并且最终执行的过程。并且在最后描述了QEMU和KVM之间联系的纽带。申明:本文前面部分从qemu detailed study第七章翻译而来。1.代码结构如我们所知,QEMU是一个模拟器,它能够动态模拟特定架构的CPU指令,如X86,PPC,ARM等等。QEMU模拟的架构叫目标架构转载 2013-10-08 22:13:50 · 1140 阅读 · 0 评论 -
libvirt0.9.10 network Qos bug
使用libvirt可以很方便的在节点上控制每个实例的网络带宽,其原理是使用linux的tc命令为每个实例使用的虚拟网卡添加不同的带宽控制队列,可以参考之前的一篇短文:http://itxx.sinaapp.com/blog/content/109但在libvirt0.9.10版本中对实例的下行带宽控制有一个不大不小的问题--实际带宽达不到我们的预期,该问题的原因可以参考这里:http:转载 2013-10-08 22:36:06 · 839 阅读 · 0 评论 -
libvirt虚拟机 网络(二)
虚拟机的网络配置功能,KVM虚拟机网络配置主要有两种方式:NAT方式和Bridge方式。今天我们主要理解和实验NAT方式的网络配置。NAT方式是kvm安装后的默认方式,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机,因为NAT的全称是Network Address Translation(网络地址转换),即虚拟机和主机在一个特定的内部子网内,虚拟机的网络数据在转载 2013-10-08 22:02:13 · 1726 阅读 · 1 评论 -
虚拟化系列-Citrix XenServer 6.1 网络管理
一、Citrix XenServer 6.1网络简介 每个托管服务器都有一个或多个网络。XenServer 网络是虚拟的以太网交换机,它可以连接到外部接口(带或不带 VLAN 标记),或者是单个服务器或池内部完全虚拟的网络。 在物理服务器上安装 XenServer 后,系统将为该服务器上的每个物理 NIC 创建一个网络。该网络在虚拟机上的虚拟网络接口 (VIF) 在主机服务转载 2013-11-05 13:26:48 · 1764 阅读 · 0 评论 -
快照技术原理
一、概念解释 像照相机一样,机器快门一闪,很快就把刚刚的人像停留在了相纸上。存储系统中的数据“快照”与我们生活中所说的“照片”非常相似,所不同的是,照片的对象不是人,而是数据。如同照片留住了我们过去的摸样和岁月,快照把数据在某一时刻的映像也保留了下来。因此我们可以根据快照查找数据在过去某一时刻的映像,常常用来作为增强数据备份系统的一种技术,它可以很大的缩短RTO和RPO两个指标。S转载 2014-07-16 13:30:54 · 912 阅读 · 0 评论 -
Libvirt错误总结
启动虚拟机错误:lzjun@lzjun-ubuntu:/opt/vm$ sudo virsh start vm0error: Failed to start domain vm0error: internal error process exited while connecting to monitor: Could not access KVM kernel module: No转载 2014-08-22 08:14:13 · 5013 阅读 · 0 评论 -
linux下CPU利用率的控制(Python实现)
最近在做的是虚拟化相关的一个demo,牵涉到虚拟化环境下的服务器负载均衡。我们用到一个简单的case,就是在负载出现“不平衡”的时候,进行live migration。由于只是demo需要,我们的负载暂时只考虑到cpu的利用率。而实际准备中,由于没有客户端的压力,很难做到CPU利用率的精确控制。这里写了个简单的脚本程序,通过自适应的调节,来达到将服务器CPU利用率控制在一定的范围内,从而为确保在某转载 2014-08-11 11:35:47 · 4719 阅读 · 1 评论 -
开源虚拟化操作系统OSv初探
OSv是以色列创业公司Cloudius Systems新推出的,适用于虚拟化环境的操作系统。公司创始人包括KVM创立者Avi Kivity等人。OSv目标是成为Guest中默认的系统。Avi Kivty等人认为,传统的操作系统(如Linux,现在很多应用都是跑在Linux系统上的)并非为虚拟化环境所设计的,包含了太多的东西。目前看来,在虚拟化环境下显得过于复杂和笨重。转载 2014-09-03 16:34:02 · 1015 阅读 · 0 评论 -
OVF? OVA? VMDK? – File Formats and Tools for Virtualization
I recently worked on a project to create a “virtual appliance” for one of our customers. They have an server application that they would like to distribute to their customers along with some new d转载 2015-04-23 10:46:14 · 1363 阅读 · 0 评论 -
xenserver 各子项目源码网址
xenserver开源,其源码已经放到github上,由于项目比较庞大,由多个独立的子项目组成,网址如下:https://github.com/xenserver原创 2015-04-20 16:52:22 · 1420 阅读 · 0 评论 -
qemu-kvm虚拟机与宿主机之间简单文件传输方法
qemu-kvm虚拟机与宿主机之间实现文件传输,大概两类方法:1. 虚拟机与宿主机之间,使用网络来进行文件传输。这个需要先在宿主机上配置网络桥架,在qemu-kvm启动配置网卡就可以实现文件传输。2. 使用9psetup协议实现虚拟机与宿主机之间文件传输。该方法先要宿主机需要在内核中配置了9p选项,即: CONFIG_NET_9P=y CONFIG_net_转载 2016-10-13 21:42:57 · 27851 阅读 · 6 评论 -
虚拟化之QEMU与KVM
QEMU是个完全独立的虚拟环境,因为KVM的出现,使得某些同学(包括我自己)对QEMU和KVM之间的关系不是很清楚。QEMU本身可以不依赖于KVM,但是如果有 KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。这篇博文侧重点在QEMU这块,前期主要是考察一下其使用,以及和KVM之关系,后续的博文会涉及到两者间的转载 2016-10-13 21:43:53 · 462 阅读 · 0 评论 -
完全虚拟化软件----KVM
一、KVM虚拟机简介Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20之后继承Linux的主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的VMM之一。Kvm仅仅是一个linux内核的模块,当在linux中安装了kvm后,linux会变成了hypervis转载 2016-10-15 14:39:51 · 1883 阅读 · 0 评论 -
CentOS 6系统kvm虚拟机中配置桥接网络
前提是安装了libvirt、qemu等相关虚拟软件1. 首先禁用并卸载NetworkManager工具,启用自带的network服务 chkconfig NetworkManager offchkconfig network onservice NetworkManager stopyum erase NetworkManager2.配置网络参数首先禁用kvm自带转载 2017-04-21 14:51:41 · 1568 阅读 · 0 评论 -
如何回收Xenserver 删除虚拟机快照后释放的空间
概要本文介绍了如何在删除快照或克隆虚拟机后,使用离线合并(Off-line Coalesce)工具回收磁盘空间。背景资料在基于LVM的Local EXT和NFS SR上删除快照或克隆虚拟机后,通过释放未使用的数据,XenServer可自动回收磁盘空间,此过程称之为合并(coalescing)。XenServer可在虚拟机运行的同时合并磁盘空间(即在线合并)。转载 2014-07-16 09:48:59 · 6792 阅读 · 0 评论 -
Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照
在Xenserver上可以创建Windows和Linux等虚拟机,Xenserver支持大部分的主流操作系统,可以使用 XenCenter 或 xen CLI克隆相应的模板,然后安装操作系统。对于适用于各系统的模板,已经设置了用来定义虚拟硬件配置的预定义平台标志,所有 Windows VM安装都支持ACPI硬件抽象层(HAL)模式。如果后来将其中一个 VM更改为包含多个虚拟 CPU,W转载 2014-07-16 09:46:22 · 1781 阅读 · 0 评论 -
Virtual Networking
The ability to manage virtual machines is something which is receivinga lot of focus right now. Xen, KVM, QEMU and others provide theinfrastructure required to run a virtual machine, and each can prov转载 2013-11-08 10:06:17 · 1273 阅读 · 0 评论 -
KVM虚拟机三大存储模式
KVM的存储选项有多种,包括虚拟磁盘文件、基于文件系统的存储和基于设备的存储。虚拟磁盘文件 为实现KVM(Kernel-based Virtual Machine)存储管理,可以使用LVM(Logical Volume Manager)和创建存储池。当系统创建KVM虚拟机的时候,默认使用虚拟磁盘文件作为后端存储。安装后,虚拟机认为在使用真实的磁盘,但实际上看到的是用于模拟硬盘的虚拟磁盘文转载 2013-11-07 19:33:06 · 1608 阅读 · 0 评论