虛擬化 KVM 常用命令匯總
KVM(Kernel-based Virtual Machine)是一種開源的硬件虛擬化解決方案,它是 Linux 內核的一部分,允許在支持虛擬化技術的硬件(如 Intel VT-x 或 AMD-V)上運行虛擬機。
KVM 將 Linux 內核轉變為一個裸機虛擬機監控器(Hypervisor),使用戶可以運行多個隔離的虛擬機,并且每個虛擬機都可以運行自己的操作系統(如 Linux、Windows 或其他)。
1. 虛擬機基本操作
(1) 查看虛擬機列表
virsh list --all
--all:顯示所有虛擬機,包括運行中和停止的。
(2) 啟動虛擬機
virsh start <虛擬機名稱或ID>
(3) 關閉虛擬機
virsh shutdown <虛擬機名稱或ID>
這是安全關閉,等效于按下虛擬機中的電源按鈕。
(4) 強制關閉虛擬機
virsh destroy <虛擬機名稱或ID>
注意:這是強制操作,可能導致數據丟失。
(5) 重啟虛擬機
virsh reboot <虛擬機名稱或ID>
等效:shutdown + start。
(6) 掛起和恢復虛擬機
掛起虛擬機:
virsh suspend <虛擬機名稱>
恢復掛起的虛擬機:
virsh resume <虛擬機名稱>
(7) 刪除虛擬機
virsh undefine <虛擬機名稱>
注意:此命令僅刪除虛擬機配置,不刪除磁盤文件。
2. 虛擬機資源管理
(1) 查看虛擬機信息
virsh dominfo <虛擬機名稱>
輸出信息包括 ID、狀態、內存、CPU 等。
(2) 獲取虛擬機的 XML 配置
virsh dumpxml <虛擬機名稱>
virsh dumpxml my-vm > my-vm.xml
(3) 編輯虛擬機的 XML 配置
virsh edit <虛擬機名稱>
使用系統默認編輯器打開虛擬機的 XML 文件進行編輯。
(4) 定義新虛擬機
virsh define <XML配置文件>
(5) 調整虛擬機內存
virsh setmem <虛擬機名稱> <內存大小>[K|M|G]
virsh setmem my-vm 2G
(6) 調整虛擬機 CPU
virsh setvcpus <虛擬機名稱> <CPU數量> --config
--config:永久更改。
3. 存儲管理
(1) 查看存儲池
virsh pool-list --all
(2) 創建存儲池
virsh pool-create <XML配置文件>
virsh pool-create pool.xml
(3) 查看存儲卷
virsh vol-list <存儲池名稱>
virsh vol-list default
(4) 創建存儲卷
virsh vol-create <存儲池名稱> <XML配置文件>
virsh vol-create default volume.xml
4. 網絡管理
(1) 列出網絡
virsh net-list --all
(2) 創建網絡
virsh net-create <XML配置文件>
(3) 刪除網絡
virsh net-destroy <網絡名稱>
virsh net-undefine <網絡名稱>
5. 快照管理
(1) 創建快照
virsh snapshot-create-as <虛擬機名稱> <快照名稱> --description "<描述>"
(2) 恢復快照
virsh snapshot-revert <虛擬機名稱> <快照名稱>
6. 鏡像管理
(1) 創建磁盤鏡像
qemu-img create -f qcow2 <鏡像路徑> <大小>
qemu-img create -f qcow2 /var/lib/libvirt/images/my-vm.qcow2 20G
(2) 查看鏡像信息
qemu-img info <鏡像路徑>
7. 虛擬機控制臺
(1) 連接到虛擬機控制臺
virsh console <虛擬機名稱>
退出控制臺:按 Ctrl + ]。
8. 性能監控
(1) 查看實時性能
virsh domstats <虛擬機名稱>
(2) 查看虛擬機的 VCPU 信息
virsh vcpuinfo <虛擬機名稱>
(3) 查看虛擬機 I/O 信息
virsh blkstat <虛擬機名稱>
查看幫助信息:
virsh help
virsh help <命令>
這些命令適用于大多數 KVM 管理場景,配合 virt-manager 等圖形化工具,可以更高效地管理 KVM 虛擬化環境。