KVM常用命令整理

虛擬機管理

啓動虛擬機
virsh start <虛擬機名稱>
關閉虛擬機
virsh shutdown <虛擬機名稱>
重啓虛擬機
virsh reboot <虛擬機名稱>
查看kvm虛擬機狀態
virsh list
查看所有虛擬機狀態
virsh list --all
強制關閉虛擬機
virsh destroy <虛擬機名稱>
掛起虛擬機
virsh suspend <虛擬機名稱>
恢復虛擬機掛起狀態
virsh resume <虛擬機名稱>
刪除虛擬機(不刪除文件)
virsh undefine <虛擬機名稱>
刪除虛擬機並刪除磁盤文件
virsh undefine <虛擬機名稱> --storage 目標文件(用逗號分開的目標或者源路徑
列表)(查看 domblklist)
刪除虛擬機並刪除所有磁盤文件
virsh undefine <虛擬機名稱> --remove-all-storage

查看系統類型

osinfo-query os

安裝

安裝centos

virt-install --os-variant rhel7 \
--name rhel7_back \
--memory 4096,maxmemory=4096 \
--vcpus 4,maxvcpus=4 \
--network bridge=br1,model=virtio \
--disk device=disk,path=/home/lib/libvirt/images/rhel7_back.disk01,format=qcow2,size=20,bus=virtio,cache=writeback,io=threads \
--location /data/rhel-server-7.4-x86_64-boot.iso \
--graphics vnc,port=-1 \
--autostart

安裝windows

virt-install --virt-type kvm \
--os-variant=win2k12r2 \
--name win2012-test \
--memory 8192,maxmemory=8192 \
--vcpus 4,maxvcpus=4 \
--cpu core2duo,+require,disable=vmx \
--network bridge=br1,model=rtl8139 \
--disk device=disk,path=/home/lib/libvirt/images/win2012-test.disk01,format=qcow2,size=40,bus=ide,cache=writeback,io=threads \
--disk device=disk,path=/mnt/images/win2012-test.disk01,format=qcow2,size=100,bus=ide,cache=writeback,io=threads \
--cdrom /data/cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso \
--graphics vnc,port=-1 \
--autostart

kvm 虛擬機 重命名

強制關閉虛擬機<原虛擬機名爲back><修改後名稱爲rhel6>
virsh destroy back
導出虛擬機xml配置文件
cd /etc/libvirt/qemu/
virsh dumpxml back > rhel6.xml
修改rhel6.xml
vim rhel6.xml
KVM常用命令整理
修改開頭的back
刪除虛擬機,不刪除文件
virsh undefine back
註冊新的虛擬機
virsh define rhel6.xml

kvm虛擬機隨物理機開機啓動

virsh autostart <虛擬機名稱>
#禁止開機啓動
virsh autostart <虛擬機名稱> --disable

快照管理

克隆虛擬機

virt-clone -o <虛擬機名稱> -n <新虛擬機名稱> -f /var/lib/libvirt/images/test4.qcow2
#命令幫助信息
virt-clone --help
#克隆完成後需要修改IP、HOSTNAME、centos6需要刪除/etc/udev/rule.d/70-*-net文件並重啓
#virt-clone -f指定的文件不要事先創建,如果有多個磁盤文件就用多個-f選項 如
virt-clone -o <虛擬機名稱> -n <新虛擬機名稱> -f /home/lib/libvirt/images/test4.qcow2 -f /mnt/images/test4-add1.qcow2

創建快照

virsh snapshot-create-as <虛擬機名稱> --name <快照名稱> --description "this is a test snapshot"
#查看幫助信息
virsh snapshot-create-as --help

使用xml生成快照

#創建快照,以隨機數字密碼
virsh snapshot-create test1

查看快照列表

virsh snapshot-list <虛擬機名稱>

查看當前快照的上一級快照

virsh snapshot-parent <虛擬機名稱> --current

編輯快照

virsh snapshot-edit <虛擬機名稱> --snapshotname <快照名>

查看鏡像文件信息

qemu-img info <虛擬機鏡像>
KVM常用命令整理

恢復快照

virsh snapshot-revert <虛擬機名稱> --snapshotname <快照名>

刪除快照

virsh snapshot-delete <虛擬機名稱> --snapshotname <快照名>

vcpu管理

#建議關機情況下設置(--live設置運行的域)

設置最大vcpu數(只能用--config,下次運行生效)

virsh setvcpus <虛擬機名稱> 4 --maximum --config

使用vcpu數

virsh setvcpus <虛擬機名稱> 4 --config

#查看vcpu信息
virsh vcpuinfo <虛擬機名稱>
#查詢域 vcpu 親和性
virsh vcpupin <虛擬機名稱>
#顯示本機vcpu最大值
virsh maxvcpus

###減少vcpu
virsh setvcpus <虛擬機名稱> 1 --config
virsh setvcpus <虛擬機名稱> 1 --maximum --config

內存管理

#建議關機情況下設置(--live設置運行的域)

設置最大內存限制值

virsh setmaxmem <虛擬機名稱> [--size] 2G --current

設置內存分配

virsh setmem <虛擬機名稱> [--size] 2G --current

#減少內存
virsh setmem <虛擬機名稱> [--size] 512M --current
virsh setmaxmem <虛擬機名稱> [--size] 512M --current

硬盤管理

創建磁盤文件

#qcow2是文件類型,test1-add1.qcow2是磁盤文件,5G是大小
qemu-img create -f qcow2 /var/lib/libvirt/images/test1-add1.qcow2 5G

創建磁盤XML文件(注意,不要和現有文件重名)

virsh attach-disk <虛擬機名稱> \
--source /var/lib/libvirt/images/test1-add2.qcow2 \
--target vdd \
--sourcetype file \
--type disk \
--driver qemu \
--subdriver qcow2 \
--cache none \
--targetbus virtio \
--print-xml > /etc/libvirt/qemu/test2-add.xml

從XML文件附加設備

#--persistent持久生效
virsh attach-device <虛擬機名稱> /etc/libvirt/qemu/test2-add.xml --persistent

卸載磁盤設備

分離XML配置設備

virsh detach-device <虛擬機名稱> /etc/libvirt/qemu/test2-add.xml --persistent

刪除文件

rm -f /etc/libvirt/qemu/test2-add.xml
rm -f /var/lib/libvirt/images/test1-add1.qcow2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章