使用python-libvirt API 迁移
2013-06-03 14:25
267 查看
目前在研究学习使用pythob-libvirt api 操作vm,几经周折才完成了迁移功能:
代码如下:
这样运行代码是 肯定还是不成功,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文件 的麻烦,可以使用:
经测试 使用api时 如果 uri 填写 成:
如果总更改/etc/hosts文件,数据同步性比较差,而且比较麻烦,如何不用配置hosts文件呢??
不用配置 /etc/hosts文件 的方法经研究测试,获得成功,类似 virsh的方法,具体代码如下:
代码如下:
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 的API 使用
- 使用python进行数据迁移案例
- python,使用百度api实现复制截图中的文字
- Windows中使用Python和C/C++联合开发应用程序起步(Python/C API应用)
- python使用json web token (jwt)实现http api的加密传输
- Python例程:使用adodbapi访问MSSQL数据库
- 使用python的Flask实现一个RESTful API服务器端[翻译]
- 使用python的Flask实现一个RESTful API服务器端[翻译]
- 通过python获取kvm虚拟机的监控信息(基于libvirt API)
- 使用python开源组件yarn-api-client获取yarn信息
- python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
- 如何使用python3调用openstack keystone identity REST api接口获取X-AUTH-TOKEN
- Python-Jenkins API使用
- gearman的安装启动及python API使用实例
- 使用python+flask让你自己api(教程源代码)
- [zz]使用 Python 为 KVM 编写脚本,第 1 部分: libvirt
- 使用Python Falcon框架快速实现简单API
- Python例程:使用adodbapi存取二进制数据
- python 使用百度语音api
- 使用python libvirt 接口函数创建 dir 类型存储池、存储卷及删除 存储卷、存储池