环境说明
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
#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文件如下
<pool type='dir'>
<name>p2v-pool</name>
<uuid>c02b7b50-1406-3096-878b-00f3fe0187cc</uuid>
<capacity unit='bytes'>1609826304000</capacity>
<allocation unit='bytes'>33718272</allocation>
<available unit='bytes'>1609792585728</available>
<source>
</source>
<target>
<path>/p2v-pool</path>
<permissions>
<mode>0755</mode>
<owner>-1</owner>
<group>-1</group>
</permissions>
</target>
</pool>
创建pool p2v-pool
#virsh pool-define p2v-pool.xml
#virsh pool-start p2v-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
<profile name="libvirt">
<method>libvirt</method>
<storage>default</storage>
<network type="default">
<network type="network" name="default"/>
</network>
</profile>
修改为
<profile name="libvirt">
<method>libvirt</method>
<storage>p2v-pool</storage>
<network type="default">
<network type="network" name="default"/>
</network>
</profile>
通过以上操作就完成了virt-p2v服务器端的安装。
下面我们来进行转换物理服务器
通过virt-p2v虚拟化物理服务器
1.将U盘插入物理服务器上,并设置U盘为第一启动项。启动后,我们可以看见以下画面
设置所需的ip地址,然后点击“Use these network settings”。
2.设置virt-p2v服务器ip及root密码
3.设置虚拟化选项,如下图中设置Destination Profile为“libvirt”,并设置image名称为“ovirt-host-1”,注意这个名字对应的是vol名字,所以不能重复,如果需要重复使用,需要
在virt-p2v 服务器端通过virsh来进行删除vol
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
<interface type='network'>
<mac address='78:2b:cb:5e:20:18'/>
<source network='default'/>
<model type='e1000'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='network'>
<mac address='78:2b:cb:5e:20:16'/>
<source network='default'/>
<model type='e1000'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
我们要将default修改为vdsm-ovirtmgmt,如下所示:
<interface type='network'>
<mac address='78:2b:cb:5e:20:18'/>
<source network='vdsm-ovirtmgmt'/>
<model type='e1000'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='network'>
<mac address='78:2b:cb:5e:20:16'/>
<source network='vdsm-ovirtmgmt'/>
<model type='e1000'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
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,显示如下
通过以上步骤就完成了所有的虚拟化步骤。