next up previous contents
Next: 虛擬機快照-xml Up: 管理 KVM 虛擬機 Previous: 新增虛擬機用戶   Contents

複製虛擬機

  1. dump 虛擬機 kvmusb 設定檔至新的 kvm6.xml,且要放在 /etc/libvirt/qemu/ 目錄下,否則虛擬機關機後,虛擬機管理程式會找不到該虛擬機。
    [root@dywftp ~]# virsh dumpxml kvmusb > /etc/libvirt/qemu/kvm6.xml
    
  2. 修改新虛擬機設定檔中 kvmusb 字串為 kvm6。
    [root@dywftp ~]# grep kvm /etc/libvirt/qemu/kvm6.xml
    <domain type='kvm' id='1'>
      <name>kvmusb</name>
        <emulator>/usr/libexec/qemu-kvm</emulator>
          <source file='/var/lib/libvirt/images/kvmusb.qcow2'/>
    [root@dywftp ~]# sed -i 's/kvmusb/kvm6/g' /etc/libvirt/qemu/kvm6.xml
    
  3. 同步虛擬機 image。
    [root@dywftp ~]# rsync -av /var/lib/libvirt/images/kvmusb.qcow2 /var/lib/libvirt/images/kvm6.qcow2 
    sending incremental file list
    kvmusb.qcow2
    
    sent 1011016288 bytes  received 31 bytes  54649530.76 bytes/sec
    total size is 1010892800  speedup is 1.00
    
  4. 產生新的虛擬機 kvm6,出現 uuid 已有定義,表示新的虛擬機 kvm6 必須有新的 uuid。
    [root@dywftp ~]# virsh create /etc/libvirt/qemu/kvm6.xml 
    error: Failed to create domain from /etc/libvirt/qemu/kvm6.xml
    error: operation failed: domain 'kvmusb' is already defined with uuid 6d1314ca-62d0-bad9-38f2-924e7c98ce4b
    
  5. 變更虛擬機 kvm6 的 uuid。
    [root@dywftp ~]# sed -i "s?\(uuid>\).*<?\1$(cat /proc/sys/kernel/random/uuid)<?" /etc/libvirt/qemu/kvm6.xml
    [root@dywftp ~]# grep uuid /etc/libvirt/qemu/kvm6.xml 
      <uuid>197d7de9-c28d-4b0b-b4a7-7549f3984e8d</uuid>
    
  6. 產生新的虛擬機 kvm6。
    [root@dywftp ~]# virsh create /etc/libvirt/qemu/kvm6.xml
    
  7. 列出所有虛擬機,已出現 kvm6。
    [root@dywftp ~]# virsh list --all
     Id    Name                           State
    ----------------------------------------------------
     1     kvm6                           running
     -     kvm7usb                        shut off
     -     kvmusb                         shut off
    



2017-05-01