zoukankan      html  css  js  c++  java
  • 菜鸟玩云计算之十六:Ubuntu14.04上创建的虚拟机迁移到RHEL6.4

    菜鸟玩云计算之十六:Ubuntu14.04上创建的RHEL6.4虚拟机迁移到RHEL6.4主机上

    RHEL6.4 Server作为虚拟机的HOST,执行以下的命令检查配置和安装相关软件:

    # egrep '^flags.*(vmx|svm)' /proc/cpuinfo
    有显示说明CPU支持VT功能
    2、在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术)
    3、安装kvm
    # yum install kvm virt-* libvirt
    4、检查kvm模块是否安装:
    # lsmod | grep kvm
    显示相似以下:
    kvm_intel   53484   9
    kvm 316506 1 kvm_intel
    5、启动服务
    # service libvirtd start
    

    Ubuntu14.04上的 qemu比RHEL6.4上的版本号要新,导致在Ubuntu14.04创建的Guest(RHEL6.4)虚拟机拷贝到RHEL6.4HOST主机上不能执行。为解决问题,能够按以下的步骤:

    1)在Ubuntu14.04上把qcow2格式的vm转成raw格式的。

    2)在RHEL6.4上define raw格式的vm。

    既然RHEL6.4支持raw格式的vm,那么能够在Ubuntu上直接创建 raw格式的虚拟机,然后拷贝到RHEL6.4。可是raw格式的vm占有空间太多,复制起来颇费时间。

    查看虚拟机镜像格式命令:

    $ qume-img info vm.img

    image: vm.img

    file format: raw

    virtual size: 80G

    disk size: 80G # 这个在開始创建的时候很小。稀疏文件。

    因此能够採用以下的办法:

    1)在Ubuntu14.04上用virt-manager安装kvm类型的虚拟机vm.img。默认就是raw格式。能够用80G。

    2)拷贝这个vm.img和vm.xml到RHEL6.4上。注意文件夹位置一定是(能够用链接):

    /etc/libvirt/qemu/vm.xml

    /var/lib/libvirt/images/vm.img

    3)改动vm.xml。此处须要注意,RHEL6.4使用的vm.xml和Ubuntu14.04上的略有不同。以下列出RHEL6.4上个的vm.xml(不同之处):

    <domain type='kvm'>
        <name>vm</name>
        <uuid>...</uuid>
        <memory unit='KiB'>4194304</memory>
        <currentMemory unit='KiB'>4194304</currentMemory>
        <vcpu placement='static'>4</vcpu>
        <os>
            <type arch='x86_64' machine='rhel6.4.0'>hvm</type>
            <boot dev='hd'/>
        </os>
        <features>
            <acpi/>
            <apic/>
            <pae/>
        </features>
        <clock offset='utc'/>
        <!--
        <clock offset='localtime'/>
        -->
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>destroy</on_crash>
        <devices>
            <!-- diff below -->
            <emulator>/usr/libexec/qemu-kvm</emulator>
            <disk type='file' device='disk'>
                <driver name='qemu' type='raw'/>
                <source file='/var/lib/libvirt/images/vm.img'/>
                <target dev='vda' bus='virtio'/>
            </disk>
            <disk type='block' device='cdrom'>
                <driver name='qemu' type='raw'/>
                <target dev='hdc' bus='ide'/>
                <readonly/>
                <address .../>
            </disk>
            ...
            <serial type='pty'>
                <target port='0'/>
            </serial>
            <console type='pty'>
                <target type='serial' port='0'/>
            </console>
            ...
        </devices>
    </domain>

    不同之处在于:

    <emulator>/usr/libexec/qemu-kvm</emulator>


    4)然后执行定义:

    $ virsh define vm.xml


    5)启动和关闭:

    $ virsh start vm

    $ virsh shutdown vm

    以下说明怎样virsh console登录虚拟机。首先须要在vm的/etc/init/下创建ttyS0.conf文件,内容例如以下:

    # /etc/init/ttyS0.conf: 
    # ttyS0 - agetty  
    stop on runlevel [016]  
    start on runlevel [345]  
    
    instance ttyS0  
    respawn  
    pre-start exec /sbin/securetty ttyS0  
    exec /sbin/agetty /dev/ttyS0 115200 vt100-nav
    

    因为我们此时还没有正确配置vm的网络,无法ssh到虚拟机。因此须要使用libguestfs-tools拷贝ttyS0.conf到vm中。

    1)首先主机RHEL6.4上须要安装libguestfs-tools:
    $ yum install libguestfs-tools
    

    2)在主机上创建并编辑好:ttyS0.conf,然后拷贝到vm中:
    $ virsh shutdown vm   # 必须首先关闭虚拟机
    $ virt-copy-in -d vm ttyS0.conf /etc/init
    $ virt-ls -d vm /etc/init
    $ virt-cat -d vm /etc/init/ttyS0.conf

    3)启动并console到vm:
    $ virsh start vm
    $ virsh console vm
    

    4)配置vm的网络。重新启动虚拟机。然后就能够ssh到vm上了。

    大功告成!假设认为 vm小,能够resize。见我的其它文章!


  • 相关阅读:
    JedisConnectionException: java.net.ConnectException: Connection refused
    Mysql索引整理总结
    jstat命令总结
    Java死锁排查和Java CPU 100% 排查的步骤整理
    Spring-Session实现Session共享实现原理以及源码解析
    Spring-Session实现Session共享Redis集群方式配置教程
    Spring-Session实现Session共享入门教程
    Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
    jsp获取当前日期,包括星期几
    使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4048205.html
Copyright © 2011-2022 走看看