使用python-libvirt API 迁移
来源:互联网 发布:linux虚拟机共享文件 编辑:程序博客网 时间:2024/06/05 07:43
目前在研究学习使用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=libvirt.open('qemu+tcp://192.168.4.87/system')vm_domain=conn.lookupByName('kk')print vm_domain.migrate(dest_conn,1,'k2k',None,0) # 参数说明:第一个是 目的端的 conn,迁移方式(live),目的端 vm的名字, 目的端 uri 可为空,带宽 可写 0
这样运行代码是 肯定还是不成功,libvirt.libvirtError: Unable to resolve address 'xx' service '49170': No address associated with hostname
需要配置source源主机的 /etc/hosts文件:加入"192.168.4.87 xx",即 把目的端的 ip 和 主机名 做一个映射。
在迁移的过程中,运行在目的主机中的libvirtd进程要根据address和port创建一个URI,URI是目的主机用来接收数据和发回数据到源主机的libvirtd进程的。上面帮助libvirtd法解析主机名到IP地址的工作。
使用 virsh 命令迁移 道理是一样的,但为省去配置 /etc/hosts文件 的麻烦,可以使用:
migrate --live kk qemu+tcp://192.168.4.87/system tcp://192.168.4.87
经测试 使用api时 如果 uri 填写 成:
dest_conn=libvirt.open('qemu+tcp://192.168.4.87/system tcp://192.168.4.87‘)出错,不能达到类似 virsh命令的效果 即不用配置 /etc/hosts文件,如何能避免配置 /etc/hosts文件。
如果总更改/etc/hosts文件,数据同步性比较差,而且比较麻烦,如何不用配置hosts文件呢??
不用配置 /etc/hosts文件 的方法经研究测试,获得成功,类似 virsh的方法,具体代码如下:
print vm_domain.migrate(dest_conn,1,'k2k','tcp://192.168.4.87',0)参数对比 第一段代码的 相应函数。
- 使用python-libvirt API 迁移
- Python libvirt domain api
- Python libvirt domain api
- libvirt 迁移kvm虚拟机 migrate api
- python-libvirt对虚拟机热迁移
- libvirt api 虚拟机动态迁移代码示例(非共享存储)
- 使用libvirt管理kvm(API篇)
- 使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]
- libvirt 虚拟机迁移配置
- Python libvirt
- libvirt Java API用法连载之libvirt Java API使用详解(四)
- libvirt API学习
- libvirt API学习笔记
- libvirt API初探
- libvirt API 简介
- libvirt API简介
- libvirt 部分API 介绍
- libvirt 部分API 介绍
- tslib移植
- TTF文件的制作——打造属于自己的字体
- android:ellipsize省略文字用法
- android控件之DowloadManager
- “懒惰” Linux 管理员的 10 个关键技巧
- 使用python-libvirt API 迁移
- MPEG简介 + 如何计算CBR/VBR MP3的播放时间 - 1
- Web地图比较器(Swipe Tool)和三向地图查看器
- 不支持尝试执行的操作
- 【android】scaleType属性与ImagView中图片的显示的关系
- Matlab将图片转换成asc码txt文本格式
- ubuntu中apt-get的默认安装路径
- IE Operation aborted
- QT在Windows控制台下输出