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