环境说明

virt-p2v server: Centos 6.8

virt-p2v Client : Centos 7

配置步骤

virt-p2v主要分为两部分,server及client,server端通过yum进行安装即可,client端需要下载iso文件,然后将iso文件写入到u盘中,然后设置需要进行虚拟化的物理服务器通

过u盘启动连接virt-p2v server端进行。

之前查看过很多关于virt-p2v的文档,里面client所需的iso文件,通过yum安装virt-p2v后,可以再/usr/share/virt-p2v目录下面找到,但是在Centos6.8、6.5、7下都没有找到

virt-p2v的安装包也无法找到iso文件。所以virt-p2v的安装文件时在http://rpm.pbone.net/网站中找到的,因为用的Centos6的系统所以下载el6对用的rpm文件,网站链接如下:

http://rpm.pbone.net/index.php3?stat=26&dist=74&size=90482496&name=virt-p2v-0.9.1-2.20130730.1.el6.noarch.rpm。

注意,如果实验的时候使用vmware或者其他的虚拟机进行p2v转换,可能不能成功,客户端会在传输数据后,会提示错误。但是在物理主机进行转换完成后,不会提示错

误。

客户端安装

根据链接http://rpm.pbone.net/index.php3?stat=26&dist=74&size=90482496&name=virt-p2v-0.9.1-2.20130730.1.el6.noarch.rpm中下载的rpm包,安装该软件包,可以

在/usr/share/virt-p2v/目录下找到virt-p2v-0.9.1-2.20130730.1.el6.iso文件,我们需要将该文件写入到U盘中。

安装所需的依赖包
#yum install isomd5sum syslinux syslinux-extlinux
注意这里格式化U盘要用ext3文件系统
#mkfs.ext3 /dev/sdf
挂载virt-p2v-0.9.1-2.20130730.1.el6.iso至/mnt目录中,通过livecd-iso-to-disk 命令将gaiiso文件写入U盘中。
#mount -o loop virt-p2v-0.9.1-2.20130730.1.el6.iso /mnt
#cd /mnt/LiveOS
#./livecd-iso-to-disk /root/virt-p2v-0.9.1-2.20130730.1.el6.iso /dev/sdf
U盘制作完成后,插入需要进行虚拟化的物理服务器上,设置服务器以该U盘为启动项,从U盘进行启动。
通过以上就完成了客户端所需U盘的准备。
virt-p2v服务器端安装
安装virt-v2v
#yum -y install virt-v2v
创建虚拟化所需的pool,编写pool xml文件如下
p2v-pool
c02b7b50-1406-3096-878b-00f3fe0187cc
1609826304000
33718272
1609792585728
/p2v-pool
0755
-1
-1
创建pool p2v-pool
#virsh pool-define p2v-pool.xml
#virsh pool-start p2v-pool
查看pool状态及基本信息
[root@ovirt-host-2 ~]# virsh pool-list
Name State Autostart
-----------------------------------------
p2v-pool active no
[root@ovirt-host-2 ~]# virsh pool-info p2v-pool
Name: p2v-pool
UUID: c02b7b50-1406-3096-878b-00f3fe0187cc
State: running
Persistent: yes
Autostart: no
Capacity: 1.46 TiB
Allocation: 1.05 TiB
Available: 429.01 GiB
修改virt-v2v配置文件/etc/virt-v2v.conf,去掉所有的注释条,
修改如下内容,将default修改为p2v-pool
libvirt
default
修改为
libvirt
p2v-pool

通过以上操作就完成了virt-p2v服务器端的安装。

下面我们来进行转换物理服务器

通过virt-p2v虚拟化物理服务器

1.将U盘插入物理服务器上,并设置U盘为第一启动项。启动后,我们可以看见以下画面

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

设置所需的ip地址,然后点击“Use these network settings”。

2.设置virt-p2v服务器ip及root密码

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

3.设置虚拟化选项,如下图中设置Destination Profile为“libvirt”,并设置image名称为“ovirt-host-1”,注意这个名字对应的是vol名字,所以不能重复,如果需要重复使用,需要

在virt-p2v 服务器端通过virsh来进行删除vol

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

4.在经过一段时间的数据传输后,我们可以再virt-p2v服务器上看见对应的image文件。

[root@ovirt-host-2 p2v-pool]# ls
centos6-sda centos6-sdb ovirt-host-1-sda ovirt-host-2-sda
除了image文件以外,我们还可以找到虚拟化服务器的xml文件,该xml文件中,记录了那台进行虚拟化服务器的所有硬件信息。
[root@ovirt-host-2 p2v-pool]# ll /etc/libvirt/qemu
total 12
drwx------ 3 root root 4096 Sep 26 09:49 networks
-rw------- 1 root root 2595 Oct 17 11:22 ovirt-host-1.xml
需要注意的是可能要对该xml文件进行修改,比如说我现在使用的virt-p2v服务器的qemu所使用的network为
[root@ovirt-host-2 p2v-pool]# virsh net-list
Name State Autostart Persistent
--------------------------------------------------
;vdsmdummy; active no no
vdsm-ovirtmgmt active yes yes
vdsm-Storagenet active yes yes 而在xml配置文件中,我们查看到的network为default


我们要将default修改为vdsm-ovirtmgmt,如下所示:



5.启动转化好的虚拟主机

在确定虚拟主机前,我们需要修改ovirt-host-1-sda的文件属性,添加qemu user的使用权限,
#chown -R 107:107 ovirt-host-1-sda
启动虚拟机
#virsh define ovirt-host-1.xml
#virsh start ovirt-host-1
查看虚拟机状态
[root@ovirt-host-2 p2v-pool]# virsh list
Id Name State
----------------------------------------------------
4 ovirt-host-1 running

查看该虚拟机所占用vnc端口10.10.200.43:0,通过vnc进行远程连接,注意这里可能会显示为127.0.0.1:0,这时候在vnc client就连接不上vnc server,需要修改/etc/libvirt/qemu.conf配置文件中的vnc_listen参数为10.10.200.43(vnc server的ip地址),而后重启libvirtd就可以了。

[root@ovirt-host-2 p2v-pool]# ps -ef | grep vnc
qemu 2231 1 17 11:22 ? 00:05:30 /usr/libexec/qemu-kvm -name ovirt-host-1 -S -M rhel6.6.0 -enable-kvm -m 8101 -realtime mlock=off -smp 8,sockets=8,cores=1,threads=1 -uuid 1218a806-ccba-ae2a-c631-fc9e682ed01d -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/ovirt-host-1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/p2v-pool/ovirt-host-1-sda,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-0-1,readonly=on,format=raw -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -netdev tap,fd=25,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=78:2b:cb:5e:20:18,bus=pci.0,addr=0x3 -netdev tap,fd=26,id=hostnet1 -device e1000,netdev=hostnet1,id=net1,mac=78:2b:cb:5e:20:16,bus=pci.0,addr=0x4 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 10.10.200.43:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on

通过vnc连接10.10.200.43:0,显示如下

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

二NSP虚拟化服务启动失败 虚拟化p2v_p2v虚拟化Linux主机

通过以上步骤就完成了所有的虚拟化步骤。