幫助中心
這里有最新的使用文檔和教程
KVM常用虛擬機操作virsh命令,virsh命令是什么,virsh是什么,virsh命令怎么用
virsh命令是一個用于管理虛擬機的命令行工具,它通過調用libvirt API來實現虛擬化的管理。virsh命令可以與virt-manager等工具類似,但它是通過命令行界面進行操作,適用于需要自動化腳本或命令行操作的場景,支持對虛擬機的創建、配置、啟動、停止等操作。
1、列出虛擬機
列出正在運行的虛擬機:
virsh list
列出所有虛擬機(包括未啟動的):
virsh list --all
2、啟動和關閉虛擬機
啟動虛擬機:
virsh start <vm_name or id>
停止虛擬機(通過發送ACPI關機信號):
virsh shutdown <vm_name or id>
強制關閉虛擬機(類似于拔掉電源):
virsh destory <vm_name or id>
重啟虛擬機
virsh reboot <vm_name or id>
3、創建和刪除虛擬機
創建虛擬機(從xml配置文件):
virsh create <config_file.xml>
定義虛擬機(從xml配置文件,定義虛擬機但不啟動):
virsh define <config_file.xml>
刪除虛擬機(僅刪除虛擬機定義,不刪除磁盤文件):
virsh undefine <vm_name or id>
刪除虛擬機及其磁盤文件:
virsh undefine <vm_name or id> --remove-all-storage
4、修改虛擬機配置
編輯虛擬機配置(打開xml編譯器):
virsh edit <vm_name or id>
查看虛擬機xml配置
virsh dumpxml <vm_name or id>
5、管理虛擬機快照
列出虛擬機的快照:
virsh snapshot-list <vm_name or id>
創建虛擬機快照
virsh snapshot-create-as <vm_name or id> <snapshot_name> --description "Snapshot description"
恢復虛擬機快照
virsh snapshot-revert <vm_name or id> <snapshot_name>
刪除虛擬機快照
virsh snapshot-delete <vm_name or id> <snapshot_name>
6、虛擬機信息
查看虛擬機詳細信息
virsh dominfo <vm_name or id>
查看虛擬機的CPu使用情況
virsh cpu-stats <vm_name or id>
7、網絡和存儲管理
列出虛擬網絡
virsh net-list --all
啟動/停止虛擬網絡
virsh net-start <network_name>
virsh net-stop <network_name>
列出存儲池
virsh pool-list --all
1
啟動/停止存儲池
virsh pool-start <pool_name>
virsh pool_stop <pool_name>
8、監控和調試
監控虛擬機的實時狀態
virsh list --state-running
查看虛擬機的詳細日志(可能需要訪問虛擬機的日志文件):
virsh log <vm_name or id>
qemu/kvm的日志在/var/log/libvirt/qemu目錄下,文件名以虛擬機名稱命名
ssh到計算節點執行,以下命令中的vm-name表示虛擬機的名稱;
- 查看virsh的版本:virsh -version
- 查看virsh的幫助命令:virsh --help
- 查看主機下的所有虛擬機:virsh list --all
- 查看主機下正在運行的虛擬機:virsh list
- 創建虛擬機:virsh define xml
- 刪除虛擬機:virsh undefinevm-name --nvram
- 虛擬機開機:virsh start vm-name
- 虛擬機關機:virsh shutdown vm-name
- 虛擬機關閉電源:virsh destroy vm-name
- 暫停虛擬機:virsh suspend vm-name
- 恢復虛擬機:virsh resume vm-name
- 重啟虛擬機:virsh reboot vm-name
- 查看虛擬機配置文件:virsh dumpxml vm-name
- 編輯虛擬機配置文件:virsh edit vm-name
- 進入虛擬機控制臺:virsh console vm-name
- 查看虛擬機的VNC控制臺連接密碼:virsh dumpxml --security-info vm-name | grep passwd
- 查看虛擬機網卡信息:virsh domiflist vm-name
- 查看虛擬機信息:virsh dominfo vm-name
- 查看虛擬機磁盤IO數據:virsh domblkstat vm-name --device sda (sda是虛擬磁盤設備名)
常用存儲池操作virsh命令
以下pool-name表示存儲池的名稱
- 查看所有存儲池:virsh pool-list --all
- 查看激活狀態的存儲池:virsh pool-list
- 激活存儲池:virsh pool-start pool-name
- 查看存儲池的uuid:virsh pool-uuid pool-name
- 設置存儲自動啟動:virsh pool-autostart pool-name
- 刪除存儲池:virsh pool-delete pool-name
- 定義存儲池:virsh pool-define pool-name
- 查看存儲池的信息:virsh pool-info pool-name
- 查看存儲池的xml文件:virsh pool-dumpxml pool-name
- 編輯存儲池的xml文件:virsh pool-edit pool-name
- 刷新存儲池:virsh pool-refresh pool-name
- 停止存儲池:virsh pool-destroy pool-name
其它常用virsh命令
以下vm-name表示虛擬機的名稱
- 查詢虛擬機網卡信息:virsh domiflist vm-name
- 查詢虛擬機虛擬磁盤信息:virsh domblklist vm-name
- 查看虛擬機VNC端口和密碼:virsh dumpxml --security-info vmname | grep passwd
- 幫助命令:virsh –help
- 獲取組中命令的詳情:virsh help <group>,如virsh help domain
- 獲取某個命令的詳情:virsh help command