1. 程式人生 > 實用技巧 >通過zfs快照定義kvm虛擬機器

通過zfs快照定義kvm虛擬機器

環境

檢視kvm虛擬機器:virsh list --all

檢視虛擬機器的檔案系統:ll /tank

檢視kvm虛擬機器的磁碟檔案:

需求:通過zfs快照拉起一個kvm虛擬機器的副本

1、對CentOSkvm虛擬機器的磁碟檔案CentOS-7.qcow2做個快照

zfs snapshot tank/CentOS-7@test1

2、通過克隆重新生成新的磁碟檔案

zfs clone tank/CentOS-7@test1 tank/CentOS-7-test1  # 注意:這裡克隆出來的 tank/CentOS-7-test1是一個新的檔案系統,名稱不能使用@符號

3、 複製CentOS-7.xml檔案,修改name、disk_path,刪除uuid、mac

複製:[email protected]

修改:

4、定義虛擬機器

virsh define /etc/libvirt/qemu/[email protected]

在宿主機上修改kvm虛擬機器的ip和主機名

1、需要安裝guestmount工具

yum install libguestfs-tools -y

2、掛載kvm虛擬機器的映象檔案

guestmount -a /tank/CentOS-7-test1/CentOS-7.qcow2 -i /etc/libvirt/kvm_mount
""" /tank/CentOS-7-test1/CentOS-7.qcow2 磁碟路徑 /etc/libvirt/kvm_mount 要掛載的目錄,沒有則建立
"""

3、掛載之後修改網絡卡檔案:/etc/libvirt/kvm_mount/etc/sysconfig/network-scripts/ifcfg-eth0

注意:只有掛載成功了之後才能修改網絡卡檔案

注意:路徑是否正確

sed -i "/IPADDR/s/=.*/=192.168.1.180/"  /etc/libvirt/kvm_mount/etc/sysconfig/network-scripts/ifcfg-eth0  # 修改ip
sed -i '/HWADDR/d' /etc/libvirt/kvm_mount/etc/sysconfig/network-scripts/ifcfg-eth0                       #
刪除MAC地址 echo CentOS-7@test5 > /etc/libvirt/kvm_mount/etc/hostname # 修改主機名

4、修改完成 之後取消掛載:

umount /etc/libvirt/kvm_mount   # 取消掛載

5、修改完成,可以啟動建立好的虛擬機器

virsh start CentOS-7@test1

說明:在宿主機上修改kvm虛擬機器的ip和主機名,此步驟是為了結合專案的使用需要在宿主機上修改kvm虛擬機器的ip和主機名

如果是在本地測試,可以直接使用virsh consoleCentOS-7@test1 進入虛擬機器去虛擬機器中修改ip和主機名