美文网首页Kvm虚拟化
Kvm之五:vm克隆

Kvm之五:vm克隆

作者: 词穷又词贫 | 来源:发表于2017-01-16 11:26 被阅读105次

    Centos7 Kvm的vm 克隆

    1、vm克隆方式
    #1、virt-clone命令直接克隆
    #2、拷贝xml与disk文件克隆(异机迁移)
    

    2、virt-clone克隆vm(vm必须处于关闭状态)

    #running状态克隆直接报错
    #指定目标disk名称即可,克隆过程中会自动创建,与workstation一样
    [root@node71 vm]# ll oel3/
    总用量 0
    [root@node71 vm]# virt-clone -o oel1 -n oel3 -f /data/vm/oel3/oel3_raw.img --check all=off
    WARNING  将图形设备端口设定为 autoport 以避免冲突。
    正在分配 'oel3_raw.img'                                                       |  20 GB  00:00:56     ==================================================]  127 B/s |  20 GB  --:--:-- ETA 
    
    成功克隆 'oel3'。
    [root@node71 vm]# 
    [root@node71 vm]# virsh list --all
     Id    名称                         状态
    ----------------------------------------------------
     -     oel1                           关闭
     -     oel2                           关闭
     -     oel3                           关闭
     -     win7                           关闭
    
    [root@node71 vm]# virsh start oel3
    域 oel3 已开始
    
    [root@node71 vm]# 
    #but这样是不建议的,vnc端口设置-1,随机,mac地址,UUID也都是随机
    #所以在开机之前先根据编写好的mac地址与vnc端口进行编辑xml配置文件
    <graphics type='vnc' port='5913' autoport='no' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    #oel6的vm在克隆后,会出现网卡冲突,需要修改此配置文件
    vi /etc/udev/rules.d/70-persistent-net.rules
    

    3、拷贝方式静态迁移

    #cp的方式需要修改xml文件好几个地方,如果是其它机器,按需调整
    [root@node71 vm]# cp oel1/oel1_raw.img oel4/oel4_raw.img
    [root@node71 vm]# cd /etc/libvirt/qemu/  
    [root@node71 qemu]# ls
    autostart  networks  oel1.xml  oel2.xml  oel3.xml  win7.xml
    [root@node71 qemu]# cp oel1.xml oel4.xml
    #修改配置
    <name>oel4</name>
      <uuid>cce3195a-4fd6-4fcd-8f4b-5757021e2330</uuid>
    ...
    <source file='/data/vm/oel4/oel4_raw.img'/>
    ...
    <mac address='52:54:00:37:5f:a6'/>
    ...
    <graphics type='vnc' port='5914' autoport='no' listen='0.0.0.0'>
    ...
    #启动克隆虚拟机
    [root@node71 qemu]# virsh define oel4.xml
    定义域 oel4(从 oel4.xml)
    
    [root@node71 qemu]# virsh start oel4
    域 oel4 已开始
    
    [root@node71 qemu]# virsh console oel4
    连接到域 oel4
    换码符为 ^]
    
    [  OK  ]
    Setting hostname localhost.localdomain:  [  OK  ]
    Setting up Logical Volume Management:   2 logical volume(s) in volume group "VolGroup" now active
    [  OK  ]
    Checking filesystems
    Checking all file systems.
    [/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/mapper/VolGroup-lv_root 
    /dev/mapper/VolGroup-lv_root: clean, 22727/1215840 files, 504433/4859904 blocks
    [/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 -a /dev/vda1 
    /dev/vda1: clean, 44/128016 files, 81219/512000 blocks
    [  OK  ]
    Remounting root filesystem in read-write mode:  [  OK  ]
    Mounting local filesystems:  [  OK  ]
    Enabling /etc/fstab swaps:  [  OK  ]
    Entering non-interactive startup
    Starting monitoring for VG VolGroup:   2 logical volume(s) in volume group "VolGroup" monitored
    [  OK  ]
    Bringing up loopback interface:  [  OK  ]
    Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization.
    [FAILED]
    Starting auditd: [  OK  ]
    Starting system logger: [  OK  ]
    Starting kdump:[FAILED]
    Mounting filesystems:  [  OK  ]
    Starting acpi daemon: [  OK  ]
    Retrigger failed udev events[  OK  ]
    Adding udev persistent rules[  OK  ]
    Starting sshd: [  OK  ]
    Starting postfix: [  OK  ]
    Starting crond: [  OK  ]
    
    Oracle Linux Server release 6.6
    Kernel 3.8.13-44.1.1.el6uek.x86_64 on an x86_64
    
    localhost.localdomain login: 
    

    virt-clone 使用帮助

    [root@node71 ~]# virt-clone -h
    usage: virt-clone --original [NAME] ...
    
    复制虚拟机,更改全部主机端的特定配置,比如 MAC 地址、名称等等。 
    
    未更改 VM 内容:virt-clone 不会更改虚拟机 OS 中的任何内容,它只是复制磁盘,而不会对主机端进行任何改动。因此,更改密码、更改静态 IP 地址等操作则不在此工具范围内。有关此类更改,请查看 virt-sysprep(1)。
    
    optional arguments:
      -h, --help            show this help message and exit
      --version             show program's version number and exit
      --connect URI         使用 libvirt URI 连接到 hypervisor
    
    通用选项:
      -o ORIGINAL_GUEST, --original ORIGINAL_GUEST
                            原始虚拟机的名称;必须为关闭或者暂停
                            状态。
      --original-xml ORIGINAL_XML
                            将 XML 文件作为原始虚拟机使用。
      --auto-clone          从原始虚拟机配置中自动生成克隆名称和
                            存储路径。
      -n NEW_NAME, --name NEW_NAME
                            新客户端的名称
      --reflink             使用 btrfs COW 轻型复制
    
    存储配置:
      -f NEW_DISKFILE, --file NEW_DISKFILE
                            作为新客户端磁盘映像的新文件
      --force-copy TARGET   强制复制设备(例如:如果 'hdc'
                            是随机光驱设备,则使用 --force-copy=hdc)
      --nonsparse           不要用稀疏文件作为克隆的磁盘映像
      --preserve-data       不要克隆存储,使用 --file
                            指定的新磁盘映像会保持不变。
    
    联网配置:
      -m NEW_MAC, --mac NEW_MAC
                            克隆客户端的新固定 MAC
                            地址。默认为随机生成 MAC。
    
    其它选项:
      --replace             不要检查名称冲突,请使用同一名称替换
                            所有虚拟机。
      --print-xml           输出所生成域 XML,而不是创建虚拟机。
      --check CHECK         启用或禁用验证检查。例如:
                            --check path_in_use=off
                            --check all=off
      -q, --quiet           禁止无错误输出
      -d, --debug           输入故障排除信息
    
    有关示例及完整选项语法,请查看 man page。
    [root@node71 ~]#

    相关文章

      网友评论

        本文标题:Kvm之五:vm克隆

        本文链接:https://www.haomeiwen.com/subject/uxzubttx.html