您的位置:首页 > 运维架构 > Linux

Centos 6下通过virt-p2v进行虚拟化转化(For Linux Server)

2016-10-17 11:56 417 查看

环境说明

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文件如下

<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


     查看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


而在xml配置文件中,我们查看到的network为default

<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,显示如下



通过以上步骤就完成了所有的虚拟化步骤。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐