Browsing this Thread:   1 Anonymous Users






KVM常用命令
#1
Just popping in
Just popping in


See User information

虚拟机管理

启动虚拟机
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


Posted on: 8/28 14:17
Top








Themes

(2 themes)
Login
Username:

Password:


Lost Password?
Register now!
Categories