virsh 是 libvirt 提供的命令列管理介面,無需圖形介面即可完整管理 KVM/QEMU 虛擬化環境。本文實戰示範儲存池建立、磁碟映像建立、虛擬機安裝全流程。
qemu-kvm、libvirt、virt-install/mnt/personal-data/SPool1//run/media/dos/.../rhel-server-7.0-x86_64-dvd.iso# 1. 定義目錄型儲存池 virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/" # 2. 查看所有池 virsh pool-list --all # 3. 建立目錄結構 virsh pool-build Spool1 # 4. 啟動池 virsh pool-start Spool1 # 5. 設定開機自啟 virsh pool-autostart Spool1 # 6. 查看池資訊 virsh pool-info Spool1
# 建立 10GB raw 格式映像 qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G # 查看映像資訊 qemu-img info /mnt/personal-data/SPool1/SVol1.img # ⚠️ 警告:勿對運行中虛擬機的映像執行 qemu-img,會損壞資料
virt-install \ --name=rhel7 \ --disk path=/mnt/personal-data/SPool1/SVol1.img \ --graphics spice \ --vcpu=1 \ --ram=1024 \ --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso \ --network bridge=virbr0
--graphics spice:啟用 SPICE 圖形協定,效能優於 VNC。--network bridge=virbr0:使用 libvirt 預設 NAT 橋接網路。virt-viewer 視窗進行安裝。| 指令 | 功能 |
|---|---|
virsh list --all | 列出所有虛擬機狀態 |
virsh start name | 啟動虛擬機 |
virsh shutdown name | 正常關機 |
virsh destroy name | 強制斷電 |
virsh console name | 串列主控台連線 |
virsh dumpxml name | 導出 XML 定義備份/遷移 |
virsh edit name | 編輯 XML 定義 (熱插記憶體/CPU/網卡等) |
virsh snapshot-create name | 建立快照 |
掌握 virsh + qemu-img + virt-install 三大指令,即可在無圖形環境的伺服器上完整管理 KVM 生命週期,適合自動化腳本與 CI/CD 整合。