# KVM常用命令有哪些
## 一、KVM簡介
KVM(Kernel-based Virtual Machine)是基于Linux內核的開源虛擬化技術,允許將Linux轉變為Hypervisor。作為全虛擬化解決方案,KVM通過加載內核模塊`kvm.ko`實現CPU虛擬化,配合QEMU提供設備模擬。
## 二、系統管理命令
### 1. 虛擬化環境檢查
```bash
# 檢查CPU是否支持虛擬化
egrep -c '(vmx|svm)' /proc/cpuinfo
# 驗證KVM模塊是否加載
lsmod | grep kvm
# 安裝KVM相關軟件包(Ubuntu示例)
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
# 啟動libvirtd服務
sudo systemctl start libvirtd
# 設置開機自啟
sudo systemctl enable libvirtd
# 檢查服務狀態
sudo systemctl status libvirtd
# 使用qcow2格式創建20G磁盤
qemu-img create -f qcow2 /var/lib/libvirt/images/vm1.qcow2 20G
# 通過virt-install創建虛擬機(需安裝virt-install包)
virt-install \
--name=vm1 \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/vm1.qcow2 \
--os-type=linux \
--os-variant=ubuntu20.04 \
--network bridge=virbr0 \
--graphics spice \
--cdrom=/path/to/ubuntu.iso
# 啟動虛擬機
virsh start vm1
# 優雅關機
virsh shutdown vm1
# 強制關閉(相當于斷電)
virsh destroy vm1
# 設置開機自啟
virsh autostart vm1
# 暫停虛擬機
virsh suspend vm1
# 恢復運行
virsh resume vm1
# 導出虛擬機配置
virsh dumpxml vm1 > vm1.xml
# 編輯配置(自動生成備份文件)
virsh edit vm1
# 從XML文件定義虛擬機
virsh define vm1.xml
# 動態調整內存(單位KB)
virsh setmem vm1 4096000
# 調整CPU數量
virsh setvcpus vm1 4 --config
# 列出所有存儲池
virsh pool-list --all
# 創建目錄型存儲池
virsh pool-define-as pool1 dir - - - - "/mnt/vm_storage"
# 激活存儲池
virsh pool-start pool1
# 刪除存儲池
virsh pool-destroy pool1
# 查看虛擬機磁盤信息
virsh domblklist vm1
# 附加新磁盤
virsh attach-disk vm1 /var/lib/libvirt/images/newdisk.qcow2 vdb --persistent
# 列出虛擬網絡
virsh net-list --all
# 查看默認網絡配置
virsh net-dumpxml default
# 創建新網絡(基于XML文件)
virsh net-create network.xml
# 查看虛擬機網卡
virsh domiflist vm1
# 附加網絡接口
virsh attach-interface vm1 --type bridge --source br0 --model virtio --config
# 查看運行中的虛擬機
virsh list
# 查看所有虛擬機(包括未運行的)
virsh list --all
# 查看虛擬機資源使用
virsh dominfo vm1
# 獲取控制臺信息
virsh vncdisplay vm1
# 通過控制臺連接(需安裝virt-viewer)
virt-viewer --connect qemu:///system vm1
# 查看libvirt日志
journalctl -u libvirtd -f
# 查看虛擬機控制臺日志
virsh console vm1
# 創建快照
virsh snapshot-create-as vm1 --name snap1
# 列出快照
virsh snapshot-list vm1
# 恢復快照
virsh snapshot-revert vm1 snap1
# 本地遷移(需共享存儲)
virsh migrate --live vm1 qemu+ssh://dest-host/system
# 熱添加USB設備
virsh attach-device vm1 usb_device.xml --live
# 批量啟動所有關閉的虛擬機
for vm in $(virsh list --inactive --name); do virsh start $vm; done
# 監控所有虛擬機CPU使用率
watch -n 5 "virsh list --all | grep -v 'shut off' | awk '{print \$1}' | xargs -I {} virsh dominfo {} | grep 'CPU usage'"
本文涵蓋了KVM日常管理中的核心命令,包括: - 虛擬機生命周期管理(創建/啟動/停止) - 資源配置調整(CPU/內存/磁盤) - 網絡與存儲管理 - 監控與排錯技巧 - 高級功能(快照/遷移)
建議結合man
手冊深入學習每個命令的詳細參數,例如:
man virsh
man virt-install
熟練掌握這些命令后,可以高效管理KVM虛擬化環境,滿足從開發測試到生產部署的各種需求。 “`
注:本文實際約1600字,完整1700字版本可擴展以下內容: 1. 每個命令的詳細參數解釋 2. 實際使用場景示例 3. 常見錯誤處理方法 4. 性能優化建議 5. 安全配置指南
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。