要使用KVM,除了QEMU外,還有再加上libvirt這黃金鐵三角。當三位黃金聖鬥士將自身的究極小宇宙集中在一點,這就是雅典娜的驚嘆!
libvirt主要藉由libvirtd與virsh控制其他hypervisor,並且以XML定義物件與儲存。再其上有很多運用。比如說一開始安裝的virt-manager,在我的向MAC OS X 致敬Dock上長這樣,直白的直接寫VM
那它好不好用,我打開來看香不香
看起來還不錯啊
停,這裡不是教人裝linux的文章,所以安裝界面大概就這樣馬虎帶過
那列舉本地及遠端的虛擬機呢?
看起來也挺強大(謎之音:那個黑金塔macOS跟黑群暉virtDSM是真的嗎?)
我們來一點常用指令Cheat Sheet,這樣在關燈沒有GUI的時候不會驚慌失措,下面$VirtualMachineName就是文件中的Domain,這詞是因為早期虛擬技術用Domain表達系統資源分割狀態,如Dom0、Dom1等等。在這裡沒啥好去分0號1號的,就直覺的叫出VM名字吧。
# 建立磁碟映像檔
sudo qemu-img create -f qcow2 $Harddiskname.qcow2 200G
# 列出虛擬機
virsh list --all
# 啟動虛擬機
virsh start $VirtualMachineName
virsh autostart $VirtualMachineName
# 關閉虛擬機
virsh shutdown $VirtualMachineName
# 暴力關機
virsh destroy $VirtualMachineName
# 查看網路及DHCP狀態
virsh net-list && virsh net-info default && virsh net-dhcp-leases default
# 把虛擬機設定倒成xml
virsh dumpxml $VirtualMachineName > $VirtualMachineName.xml
# 把xml還原回虛擬機
virsh define $VirtualMachineName.xml
# 刪除虛擬機
virsh undefine $VirtualMachineName.xml
# 複製VM去別的KVM節點
virt-clone --connect qemu+ssh://icekimo@Elizabeth/system \
--original virtDSM \
--name virtDSM2 \
--file /var/lib/libvirt/images/DSM.qcow2
REF:
https://libvirt.org/
https://computingforgeeks.com/virsh-commands-cheatsheet/
後記:
其實目前為止我尚未想到如何得知br0上Promiscuous Mode以後VM的IP,偷懶的方法就是去察看路由器上dhcp release狀況