您的当前位置:首页Kvm之十一:v2v迁移

Kvm之十一:v2v迁移

2024-12-13 来源:哗拓教育

Centos7 Kvm v2v迁移(都是在vm环境下,实验后面没有实现)

1、v2v迁移
#虚拟化迁移至虚拟化环境
#p2v迁移,是指物理机器迁移至虚拟化环境
#安装v2v迁移工具:yum install -y virt-v2v
#
2、KVM-KVM的v2v迁移
#KVM是采用Centos7,vm是采用oel6操作系统,始终报错
错误信息:
qemu-img: /var/tmp/v2vovl16ebce.qcow2: Could not open '/data/vmfs/c4_qcow2.img': No such file irectory
virt-v2v: error: qemu-img command failed, see earlier errors
If reporting bugs, run virt-v2v with debugging enabled and include the 
#新安装centos6操作系统测试,环境确认,两台KVM需要有相同的存储池位置,vmfspool
#node72检查
[root@node72 ~]# virsh pool-list
 名称               状态     自动开始
-------------------------------------------
 iso                  活动     是       
 oel1                 活动     是       
 vmfspool             活动     是       

[root@node72 ~]# 
#关闭需要迁移的虚拟机
[root@node72 ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 7     oel4                           running
 -     oel5                           关闭
[root@node72 ~]# virsh shutdown oel4
域 oel4 被关闭
[root@node72 ~]#
#测试KVM 自身vm迁移到自身,-oc是迁移出去,-on取另外一个名字,因为系统本身已经存在oel4这个实例
[root@node72 ~]# virt-v2v -oc qemu+ssh://192.168.2.110/system -os vmfspool -on centos4 -b br0 oel4
[   0.0] Opening the source -i libvirt oel4
[   0.0] Creating an overlay to protect the source from being modified
[   0.0] Opening the overlay
[  10.0] Initializing the target -o libvirt -oc qemu+ssh://192.168.2.110/system -os vmfspool
root@192.168.2.110's password: 
root@192.168.2.110's password: 
root@192.168.2.110's password: 
[  17.0] Inspecting the overlay
[  24.0] Checking for sufficient free disk space in the guest
[  24.0] Estimating space required on target for each disk
[  24.0] Converting CentOS release 6.5 (Final) to run on KVM
virt-v2v: This guest has virtio drivers installed.
[  69.0] Mapping filesystem data to avoid copying unused and blank areas
[  69.0] Closing the overlay
[  70.0] Checking if the guest needs BIOS or UEFI to boot
[  70.0] Copying disk 1/1 to /data/vmfs/centos4-sda (qcow2)
    (100.00/100%)
[  82.0] Creating output metadata
root@192.168.2.110's password: 
池 vmfspool 被刷新
root@192.168.2.110's password: 
定义域 centos4(从 /tmp/v2vlibvirt7142b4.xml)
[ 107.0] Finishing off
[root@node72 ~]#
#可以看到迁移的vm磁盘为/data/vmfs/centos4-sda (qcow2)
#检查,另外需要因为是迁移到自身测试,所以需要查看配置文件UUID,MAC地址,VNC端口,
[root@node72 ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos4                        关闭
 -     oel4                           关闭
 -     oel5                           关闭
[root@node72 ~]#
3、KVM之间的v2v迁移
#检查node71的迁移环境
[root@node71 ~]# virsh pool-list
 名称               状态     自动开始
-------------------------------------------
 iso                  活动     是       
 vmfspool             活动     是       

[root@node71 ~]# 
#测试迁移,从node72迁移出来
[root@node72 ~]# virt-v2v -oc qemu+ssh://192.168.2.111/system -os vmfspool  -b br0 oel4
[   0.0] Opening the source -i libvirt oel4
[   0.0] Creating an overlay to protect the source from being modified
[   0.0] Opening the overlay
[  10.0] Initializing the target -o libvirt -oc qemu+ssh://192.168.2.111/system -os vmfspool
root@192.168.2.111's password: 
root@192.168.2.111's password: 
root@192.168.2.111's password: 
[  18.0] Inspecting the overlay
[  24.0] Checking for sufficient free disk space in the guest
[  24.0] Estimating space required on target for each disk
[  24.0] Converting CentOS release 6.5 (Final) to run on KVM
virt-v2v: This guest has virtio drivers installed.
[  68.0] Mapping filesystem data to avoid copying unused and blank areas
[  69.0] Closing the overlay
[  69.0] Checking if the guest needs BIOS or UEFI to boot
[  69.0] Copying disk 1/1 to /data/vmfs/oel4-sda (qcow2)
    (100.00/100%)
[  80.0] Creating output metadata
root@192.168.2.111's password: 
池 vmfspool 被刷新

root@192.168.2.111's password: 
定义域 oel4(从 /tmp/v2vlibvirt255acc.xml)

[  86.0] Finishing off
[root@node72 ~]# 
#迁移完成
#检查测试,在运行迁移的vm之前,需要根据实际环境的情况来检查vm配置文件,确定是否按需修改
[root@node71 vmfs]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     oel2                           关闭
 -     oel3                           关闭
 -     oel4                           关闭
[root@node71 vmfs]# 
#可以查看到oel4已经迁移完成

#这是采用node72迁移出去的方式(-oc),但是在node71上采用迁移进来的方式(-ic)就会报错误
[root@node71 vmfs]# virt-v2v -ic qemu+ssh://192.168.2.110/system -os vmfspool -b br0 -on centos6 oel4
virt-v2v: warning: no support for remote libvirt connections to '-ic 
qemu+ssh://192.168.2.110/system'.  The conversion may fail when it tries to 
read the source disks.
[   0.0] Opening the source -i libvirt -ic qemu+ssh://192.168.2.110/system oel4
root@192.168.2.110's password: 
[   2.0] Creating an overlay to protect the source from being modified
qemu-img: /var/tmp/v2vovl1c0ab2.qcow2: Could not open '/data/vmfs/c4_qcow2.img': No such file or directory
virt-v2v: error: qemu-img command failed, see earlier errors

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]
[root@node71 vmfs]# 
#暂时还不清楚,我们-ic一直会报"No such file or directory"
virt-v2v 命令帮助
[root@node71 iso]# virt-v2v --help
virt-v2v: convert a guest to use KVM

 virt-v2v -ic  -os imported esx_guest

 virt-v2v -ic  esx_guest -o rhev -os rhev.nfs:/export_domain --network rhevm

 virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp

 virt-v2v -i disk disk.img -o local -os /var/tmp

 virt-v2v -i disk disk.img -o glance

There is a companion front-end called "virt-p2v" which comes as an
ISO or CD image that can be booted on physical machines.

A short summary of the options is given below.  For detailed help please
read the man page virt-v2v(1).

  -b in:out                                   Map bridge 'in' to 'out'
  --bridge in:out                             -"-
  --debug-gc                                  Debug GC and memory allocations
  --dcpath path                               Override dcPath (for vCenter)
  --dcPath path                               -"-
  --debug-overlay                             Save overlay files
  --debug-overlays                            -"-
  -i disk|libvirt|libvirtxml|ova              Set input mode (default: libvirt)
  -ic uri                                     Libvirt URI
  -if format                                  Input format (for -i disk)
  --long-options                              List long options
  --machine-readable                          Make output machine readable
  -n in:out                                   Map network 'in' to 'out'
  --network in:out                            -"-
  --no-copy                                   Just write the metadata
  --no-trim all|mp,mp,..                      Don't trim selected mounts
  -o glance|libvirt|local|null|qemu|rhev|vdsm Set output mode (default: libvirt)
  -oa sparse|preallocated                     Set output allocation mode
  -oc uri                                     Libvirt URI
  -of raw|qcow2                               Set output format
  -on name                                    Rename guest when converting
  -os storage                                 Set output storage location
  --password-file file                        Use password from file
  --print-source                              Print source and stop
  --qemu-boot                                 This option cannot be used in RHEL
  -q                                          Quiet output
  --quiet                                     -"-
  --root ask|...                              How to choose root filesystem
  --vdsm-image-uuid uuid                      Output image UUID(s)
  --vdsm-vol-uuid uuid                        Output vol UUID(s)
  --vdsm-vm-uuid uuid                         Output VM UUID
  --vdsm-ovf-output                           Output OVF file
  -v                                          Enable debugging messages
  --verbose                                   -"-
  -V                                          Display version and exit
  --version                                   -"-
  --vmtype server|desktop                     Set vmtype (for RHEV)
  -x                                          Enable tracing of libguestfs calls
  -help                                       Display this list of options
  --help                                      Display this list of options
显示全文