一简介: 

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
 

virt-v2v命令将ESXI 虚机迁移到OpenStack中的更多相关文章

  1. esxi虚机迁移到Workstation

    虚拟机的文件管理由VMware Workstation来执行.一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中. 如下图所示:(< ...

  2. VMWare 虚机迁移后Linux系统网卡启动问题

    重新安装VMWare或拷贝虚机文件后有时网卡会无法工作,主要是因为网卡的Mac地址改变了,如果系统中的网卡配置信息中有Mac的信息,则虚机的系统的网卡可能无法正常工作. 如果出现上述问题,解决办法如下 ...

  3. Hyper-V、Esxi虚机还原,远程重启(关机)

    /// <summary> /// 还原虚拟机 /// </summary> /// <param name="RDPID"></para ...

  4. openstack 虚机迁移 Unacceptable CPU info: CPU doesn't have compatibility

    问题: Unacceptable CPU info: CPU doesn't have compatibility 解决: vim /usr/lib/python2.7/site-packages/n ...

  5. v2v-VMware/VSphere中虚机离线迁移至openstack平台

    先决条件 exsi到openstack的迁移,分为两种,一种是静态迁移,另一种是在线迁移. 静态迁移(offline migration)也叫做常规迁移,离线迁移.在迁移之前将虚拟机暂停,同时拷贝虚拟 ...

  6. OpenStack之虚机热迁移

    OpenStack之虚机热迁移 最近要搞虚机的热迁移,所以也就看了看虚机迁移部分的内容.我的系统是CentOS6.5,此处为基于NFS共享平台的虚机迁移.有关NFS共享服务器的搭建可以看这里. Yak ...

  7. OpenStack之虚机冷迁移代码简析

    OpenStack之虚机冷迁移代码简析 前不久我们看了openstack的热迁移代码,并进行了简单的分析.真的,很简单的分析.现在天气凉了,为了应时令,再简析下虚机冷迁移的代码. 还是老样子,前端的H ...

  8. OpenStack之虚机热迁移代码解析

    OpenStack之虚机热迁移代码解析 话说虚机迁移分为冷迁移以及热迁移,所谓热迁移用度娘的话说即是:热迁移(Live Migration,又叫动态迁移.实时迁移),即虚机保存/恢复(Save/Res ...

  9. [译] libvirt 虚机的生命周期 (Libvirt Virtual Machine Lifecycle)

    翻译自:http://wiki.libvirt.org/page/VM_lifecycle   这篇文章描述虚机生命周期的基本概念.其目的在于在一篇文章中提供完整的关于虚机创建.运行.停止.迁移和删除 ...

随机推荐

  1. centos7 未启用swap导致内存使用率过高。

    情况描述: 朋友在阿里云上有一台系统为CentOS7的VPS,内存为2GB,用于平时开发自己的项目时测试使用: 他在上面运行了5个docker实例,运行java程序:还有一个mysql服务: 上述5个 ...

  2. ecshop不同的文章分类使用不同的模板的方法

    ecshop文章模板做的太简单,页面很丑,怎么才能实现不同的文章使用不同的模板呢,方法是有的,就是没有shopex那么方便,但还可以实现,只要能用就行. 1.打开article_cat.php文件,在 ...

  3. sonar扫面代码总体流程

  4. 鸿蒙内核源码分析(调度队列篇) | 内核有多少个调度队列 | 百篇博客分析OpenHarmony源码 | v6.05

    百篇博客系列篇.本篇为: v06.xx 鸿蒙内核源码分析(调度队列篇) | 内核有多少个调度队列 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...

  5. P4428-[BJOI2018]二进制【树状数组,set】

    正题 题目链接:https://www.luogu.com.cn/problem/P4428 题目大意 长度为\(n\)的\(0/1\)串要求支持 修改一个位置 求区间\([l,r]\)有多少个子区间 ...

  6. Phalcon如何创建多模块并能进行访问 《Phalcon入坑指南系列 四》

    本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能<Phalcon入坑指南系列 二> 三.Phalc ...

  7. 使用AC自动机解决文章匹配多个候选词问题

    解决的问题 KMP算法用于单个字符串匹配,AC自动机用于文章中匹配多个候选词. 流程 第一步,先将候选词先建立前缀树. 第二步,以宽度优先遍历的方式把前缀树的每个节点设置fail指针, 头节点的fai ...

  8. SVN基本配置--创建版本库(图文并茂)

    SVN基本配置简 上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使 ...

  9. java统一返回标准类型

    一.前言.背景 在如今前后端分离的时代,后端已经由传统的返回view视图转变为返回json数据,此json数据可能包括返回状态.数据.信息等......因为程序猿的习惯不同所以返回json数据的格式也 ...

  10. Redis5种常用数据类型的使用以及内部编码

    String 字符串类型是redis的最基本类型,首先无论值是什么数据类型,其键都是字符串,且其他数据类型的数据结构都是在字符串的基础上搭建的,相信读者能够体会到字符串在redis的地位是有多么的重要 ...