libvirt
chenyulancn
python、golang、c/c++、linux、虚拟化、大数据
展开
-
CentOS 6系统kvm虚拟机中配置桥接网络
前提是安装了libvirt、qemu等相关虚拟软件1. 首先禁用并卸载NetworkManager工具,启用自带的network服务 chkconfig NetworkManager offchkconfig network onservice NetworkManager stopyum erase NetworkManager2.配置网络参数首先禁用kvm自带转载 2017-04-21 14:51:41 · 1560 阅读 · 0 评论 -
libvirt 问题解决记录集
本篇记录在使用libvirt的时候遇到的一些情况,即解决方法.出现Permission denied123[root@localhost vm]# virsh start centoserror: Failed to start domain centoserror: internal error process exited whi转载 2013-10-24 21:28:55 · 30705 阅读 · 0 评论 -
libvirt使用之---使用tc实现kvm虚拟机带宽控制
在kvm虚拟机管理的过程当中,对虚拟机带宽进行良好的控制是十分重要的。linux系统当中对网络带宽的控制一般都是使用tc命令实现,tc即是traffic control的缩写,在这里可以找到有关tc命令的内容。当然你可以手动使用tc命令来处理这些事情,比如使用cbq队列,htb队列等,都是可以实现的,网上找找应该有很多关于这方面的资料,比如下面就是使用cbq队列限制src ip为192转载 2013-10-08 22:37:34 · 3957 阅读 · 0 评论 -
libvirt 虚拟机 网络(三)
Bridge方式的网络配置。Bridge的逻辑原理图如下: 上图中的“br0”就充当了一个桥的作用,主机上的物理网口eth0等根据需要加入到这个桥里面,所有虚拟机要跟外界通信都通过这个br0, br0再经过真实的物理接口eth0等与外界通信。与NAT不同,桥接方式虚拟机跟主机一样能获得主机所在网络的IP地址,不再由主机进行伪装。那么br0是如何在Ubuntu主机上创建出来的呢?虚拟转载 2013-10-08 22:08:07 · 1294 阅读 · 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 · 1865 阅读 · 0 评论 -
KVM虚拟机代码揭秘——QEMU代码结构分析
前言:本文主要概括了QEMU的代码结构,特别从代码翻译的角度分析了QEMU是如何将客户机代码翻译成TCG代码和主机代码并且最终执行的过程。并且在最后描述了QEMU和KVM之间联系的纽带。申明:本文前面部分从qemu detailed study第七章翻译而来。1.代码结构如我们所知,QEMU是一个模拟器,它能够动态模拟特定架构的CPU指令,如X86,PPC,ARM等等。QEMU模拟的架构叫目标架构转载 2013-10-08 22:13:50 · 1135 阅读 · 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 · 3250 阅读 · 0 评论 -
libvirt 快照 (一)
验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况。一、快照类型1) 磁盘快照内部的:快照驻留在原来的镜像文件内部外部的:快照以一个新的外部独立文件的形式存在,在此之后,原镜像变成只读,所有改变记录到快照文件里磁盘快照由virsh snapshot-create命令创建2) 内存快照可以将转载 2013-10-08 21:56:57 · 3167 阅读 · 0 评论 -
libvirt中使用 virtio 总线类型
采用virtio的目的是提高虚拟机的性能,KVM在I/O虚拟化方面,传统的方式是使用QEMU纯软件的方式来模拟I/O设备(模拟的网卡、磁盘、显卡等等),其效率并不非常高。在KVM中,可以在客户机中使用半虚拟化驱动(Paravirtualized Drivers,PV Drivers)来提高客户机的性能(特别是I/O性能)。目前,KVM中实现半虚拟化驱动的方式是采用了virtio这个Linux上转载 2013-10-08 21:53:21 · 4512 阅读 · 0 评论 -
libvirt虚拟机 网络(二)
虚拟机的网络配置功能,KVM虚拟机网络配置主要有两种方式:NAT方式和Bridge方式。今天我们主要理解和实验NAT方式的网络配置。NAT方式是kvm安装后的默认方式,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机,因为NAT的全称是Network Address Translation(网络地址转换),即虚拟机和主机在一个特定的内部子网内,虚拟机的网络数据在转载 2013-10-08 22:02:13 · 1673 阅读 · 1 评论 -
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 · 964 阅读 · 0 评论 -
KVM虚拟机克隆
每次重新创建实在是费功夫,因此克隆是个好主意。在Hyper-V中没有直接clone的菜单,需要export和import,还要修改名称文件之类的。反而在KVM中操作十分简单。假定有了一个vm1虚拟机,现在要克隆出vm2虚拟机。按照下列步骤执行:1.停止vm1[plain] view plaincopyprint?virsh shutdown vm1 Dom转载 2013-10-24 21:52:12 · 769 阅读 · 0 评论 -
linux 配置nfs网络文件系统
01020304050607080910111213141516171819修改文件vi /etc/exports/home/images *(rw,sync,no_root_squash)/home/images 为要共享的文件夹 rw:可读写的权限; ro:只读的权限; no_root_转载 2013-10-24 21:16:40 · 1041 阅读 · 0 评论 -
解决centos6 的virt-manager 无法创建network interface问题
新安装的centos6.4系统,本以为对libvirt尤其对网络支持的会很好,结果还是在创建network interface出错,启动时提示:Conncetion activation failed: Failed to determine connection’s virtual interface name、Connection activation failed: Master conne原创 2013-11-06 08:41:48 · 3176 阅读 · 1 评论 -
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 · 4971 阅读 · 0 评论 -
使用libvirt管理kvm虚拟机
web方式管理虚拟机,查看:http://blog.chinaunix.net/uid-1838361-id-3060330.html补充:这篇笔记使用的libvirt版本为0.6.3,kernel为2.6.18-194.26.1.el5遇到了几个bug,建议首先升级kernel,然后升级libvirt,kvm。源:http://centos.ustc.edu.cn/cen转载 2013-12-03 10:00:19 · 1304 阅读 · 0 评论 -
Linux下单网卡多vlan多虚拟机
#启动xen服务:xend start#列出虚拟机xm list#startxm create -c 虚拟机名#进入虚拟机xm console 虚拟机名#退出虚拟机ctrl]#关闭xm shutdownlinux bridge实现了ieee 802.1d协议,这个实现,不能支持VLAN的功能。也就是说,这个实现,只能承载一个广播域,而不能承载多个广播转载 2013-11-23 11:49:34 · 3120 阅读 · 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 · 1263 阅读 · 0 评论 -
centos6.4 下 virt-manager 使用 nfs存储出现的无权限访问问题解决办法
在centos6.4 下使用virt-manager或libvirt 接口启动 nfs 存储上的 虚拟硬盘或者 iso镜像时 出现 “ internal error Process exited while reading console log output: char device redirected to /dev/pts/4 qemu-kvm: -drive file=/v原创 2013-11-22 16:31:26 · 3124 阅读 · 0 评论 -
Adding Linux VLAN and bridge interfaces using libvirt
Always wanted to now how to add interfaces (VLANs or bridges) to your Linux hypervisor without dealing with the distribution specific network configuration to serve guest networks ?Just use libvirt转载 2013-11-08 13:09:50 · 1235 阅读 · 0 评论 -
Libvirt虚拟机网络配置
一、libvirt默认NAT模式在安装启动libvirt之后,系统会自动创建一个名为virbr0的网桥,其IP地址为192.168.122.1。具体信息如下:virbr0 Link encap:以太网 硬件地址 7a:b3:07:b3:47:e7 inet 地址:192.168.122.1 广播:192.168.122.255 掩码:255.255.转载 2013-11-07 19:09:18 · 4840 阅读 · 0 评论 -
virt-manager 创建network interface (bridge、vlan、bond等)后,启动出错问题原因
在使用virt-manager 创建network interface (bridge、vlan、bond等)后,启动会提示internal error failed to create (start) interface eth0.1 (netcf: failed to execute external program - Running 'ifup eth0.1' failed with原创 2013-11-08 11:18:45 · 3485 阅读 · 0 评论 -
Redhat/CentOS6.2 x86系统KVM虚拟机网络配置(一)—NAT方式
摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。NAT方式的配置原理和步骤。NAT方式适用于桌面主机的虚拟化。问题客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。KVM 客户机网络连接有两种方式:用户网络(User Networking):让虚拟机访问主机、互转载 2013-11-07 19:19:31 · 904 阅读 · 0 评论 -
Redhat/CentOS6.2 x86系统KVM虚拟机网络配置(二)—Bridge方式
摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。问题客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。KVM 客户机网络连接有两种方式:用户网络(User Networking):让虚拟转载 2013-11-07 19:20:46 · 871 阅读 · 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 · 1819 阅读 · 0 评论 -
libvirt 快照 (二)
继续试验snapshot的功能。1. 启动虚拟机,在空的D盘上新建一个文本文档test.txt;2. 定义创建snapshot的XML: snap1 也即定义了创建这个虚拟机的外部快照。3. 执行创建外部快照的命令:转载 2013-10-08 21:59:26 · 1567 阅读 · 0 评论 -
虚拟机迁移技术漫谈,第 2 部分(KVM 虚拟机在物理主机之间迁移的实现)
前言虚拟机的迁移技术为服务器的虚拟化提供简便的方法。目前流行的虚拟化产品 VMware,Xen,Hyper-V,KVM 都提供各自的迁移工具。其中 Linux 平台上开源的虚拟化工具 KVM 发展迅速,基于 KVM 的虚拟机的迁移特性也日趋完善。本文全面介绍 KVM 虚拟机在不同的应用环境下的静态迁移(离线迁移)和动态迁移(在线迁移),并且在最新发布的 Suse Linux Enterpris转载 2013-06-03 12:19:55 · 1736 阅读 · 0 评论 -
基于libvirt的虚拟化迁移
为什么要迁移呢?当一台主机的负载过高时,我们希望把虚拟机迁移到一台系统更好的主机上。当主机发生硬件故障需要停机维护时,我们需要迁移虚拟机,如果主机就只跑了一台虚拟机我们可以把它迁移到其他主机,提高资源的利用率,等等。迁移命令:# virsh migrate --live GuestName DestinationURI (--live :迁移过程中虚拟机一直保持运行转载 2013-06-03 12:17:51 · 1690 阅读 · 0 评论 -
用libvirt远程管理虚拟机
如何用libvirt远程管理虚拟机? 要用libvirt连接到超级管理程序,我们需要一个URI,这个URI配合virsh和virt-viewer命令使用,后面可以跟一些可选项,virt-viewer可以调用一些链接参数,例如:virsh -c qemu:///system 当链接到远程机器时,可以定义几种使用的协议:ssh,tcp,tls。当链接到远程机器时,需要使用远程主机的转载 2013-05-31 15:41:47 · 2265 阅读 · 0 评论 -
使用tcp方式连接libvirtd
使用tcp方式连接libvirtdLibvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。这些软件包括一个API库、一个daemon(libvirtd)和一个命令行工具(virsh)。Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和hypervisor。只要远程服务器运行了libvirtd,libvirt的客户端就转载 2013-05-31 10:14:51 · 2527 阅读 · 0 评论 -
使用python libvirt 接口函数创建 dir 类型存储池、存储卷及删除 存储卷、存储池
研究libvirt存储部分,简单例子进行测试验证:import libvirtconn=libvirt.open('qemu:///system')#conn=libvirt.open('qemu:///system')xmldesc=''' virttest /var/images_test '''#storage_pool.connect()s原创 2013-05-23 14:46:31 · 2180 阅读 · 1 评论 -
python libvirt 创建 iscsi 存储池、及存储池与iscsi 概念对应关系
近期在研究libvirt,存储创建iscsi存储池import libvirtconn=libvirt.open('qemu:///system')#conn=libvirt.open('qemu:///system') /dev/disk/by-pathxmldesc=''' iscsi /dev/disk/by-path原创 2013-05-29 17:04:10 · 1987 阅读 · 0 评论 -
Libvirt 虚拟化 资料整理
Libvirt 虚拟化库剖析 http://www.ibm.com/developerworks/cn/linux/l-libvirt/ libvirt http://smilejay.com/2013/03/libvirt-introduction/ http://www.cnblogs.com/zhangzhang/category/353803.htm原创 2013-05-11 22:30:37 · 1150 阅读 · 0 评论 -
kvm-libvirt的使用:创建虚拟机与快照
http://blog.csdn.net/whuqin/article/details/67328981.创建域(虚拟机):包括Volume和描述硬件配置的xml//前端与节点建立连接Connect conn=new Connect("qemu+ssh://[email protected]/system",false);//根据xml描述创建新虚拟机并启动SAXReader reade转载 2013-05-25 15:18:37 · 998 阅读 · 0 评论 -
Libvirt XML学习笔记
为什么要学习libvirt 中的XMLl Libvirt中配置虚拟机都是通过xml文件来配置的,如启动一个虚拟机需要的对虚拟机配置的描述就是通过XML来实现的。因此XML在libvirt管理虚拟机中有很重要的地位。 Domain XML format1. 元素和属性概述根元素为所有虚拟机需要的是命名域。它有两个属性,第一个属性是指定Hyp转载 2013-05-25 14:53:23 · 1378 阅读 · 0 评论 -
使用libvirt管理kvm虚拟机
说明:这篇笔记为更好的管理虚拟化服务,如果仅仅是测试虚拟化,查看另一篇笔记:http://blog.chinaunix.net/space.php?uid=1838361&do=blog&id=234090web方式管理虚拟机,查看:http://blog.chinaunix.net/uid-1838361-id-3060330.html补充:这篇笔记使用的libv转载 2013-05-25 14:57:03 · 1622 阅读 · 0 评论 -
虚拟机迁移技术漫谈,第 1 部分
前言系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展,系统的迁移更加灵活和多样化。本系列文章全面介绍了虚拟机迁移的三种方式 P2V、V2V 和 V2P,及他们在内核转载 2013-06-03 12:23:13 · 2171 阅读 · 0 评论 -
Migration fails with Error: unable to resolve address
SymptomQEMU guest migration fails and this error message appears:# virsh migrate qemu qemu+tcp://192.168.122.12/system error: Unable to resolve address name_of_host service '49155': Name or serv转载 2013-06-03 12:30:35 · 1606 阅读 · 0 评论 -
使用python-libvirt API 迁移
目前在研究学习使用pythob-libvirt api 操作vm,几经周折才完成了迁移功能:代码如下:import libvirt# virsh migrate --live kk qemu+tcp://192.168.4.87/system tcp://192.168.4.87#conn=libvirt.open('qemu:///system')#dest_conn=原创 2013-06-03 14:25:55 · 2948 阅读 · 1 评论 -
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 · 830 阅读 · 0 评论