virt-v2v命令将ESXI 虚机迁移到OpenStack中


一简介: 

virt-v2v是将外部的虚拟化平台上的虚拟机转化到可以运行的KVM平台上。它可以读取在VMware、Xen运行Hyper-V和其他虚拟机管理程序上的Windows和Linux的虚拟机,并将其转换为KVM的libvirt,OpenStack等几种方式。
ESXI 平台下线,将虚机迁移至openstack 运行,但windows 虚机,大多是存在驱动问题的,因此需要先考虑驱动问题。
 
二、安装软件
# yum install -y qemu-kvm libvirt virt-manager virt-v2v 
三、命令介绍
   1、 查看EXSI 主机虚机列表
     #virsh -c esx://root@EXSI_server_IP?no_verify=1 list --all        ## EXSI_server_IP : EXSI 主机IP,需要输入服务器的root 密码
 
   2、拷贝虚拟机到本地,拷贝完成后会在当前目录生成一个xml文件和disk1磁盘文件,同样也是需要输入EXSI 服务器密码
     #mkdir /data         #创建用于存放文件的目录
     #virt-v2v-copy-to-local -ic esx://root@EXSI_server_IP?no_verify=1 vm_name            #vm_name: 需要拷贝到本地的虚机名称(在步骤一中获取)
     

 

 

  
   3、转换数据格式,把磁盘文件的格式转换成OpenStack能够识别的格式 (如果有报错,查看最后的报错总结)
     # mkdir /data/vms          #创建用于存放格式转换后的文件
   # virt-v2v -i libvirtxml vm_name.xml -o local -os vms/ -of raw               # -of :转换为row 格式        -os :指定输出路径      vm_name.xml:为第二步骤中生成的文件
     

 

 

  4、将转换完成后的 vm_name-sda 文件上传至openstack中,启动新的虚机。

    流程:创建卷-->通过rbd 导入 vm_name-sda 的设备---> 启动虚机 

    
 
 
 
四、报错总结:
   第三步报错:Failed to connect socket to '/var/run/libvirt/libvirt-sock'
  
   解决:
    1、# groupadd libvirtd       #增加libvirtd用户组
    2、# sudo usermod -a -G libvirtd $USER     #设置用户到组
    3、# vi /etc/libvirt/libvirtd.conf         #取消注释并修改为如下:  
      

 

     4、增加权限启动配置
      
vi /etc/polkit-1/localauthority/50-local.d/50-org.libvirtd-group-access.pkla [libvirtd group Management Access] Identity=unix-group:libvirtd Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes

 

     5、重启服务
       service libvirtd restart
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM