virsh命令
list [--all]:列出虚拟机
nodeinfo: 查看真机信息
nodeinfo: 得到电脑详细配置名字
nodecpustats: 真机cpu 的状态
nodemenstats:真机内存的详细信息
node-memory-tune:允许你设置node的内存参数
capablilities:打印虚拟机的特点
freecell: 打印出虚拟I机中可用的内存
virsh list # 列出所有运行的虚拟机
virsh list --all # 列出所有虚拟机
virsh hostname # 列出真机主机名
virsh sysinfo # 列出真机的详细信息
virsh nodecpustats # 得到真机cpu状态
virsh nodememstats # 得到真机内存状态
virsh node-memory-tune # 允许你设置的node内存参数
virsh capabilities # 打印虚拟机的特点
virsh freecell # 打印虚拟机中可用内存
virsh DOMAIN命令
start|shutdown|reboot
:虚拟机启动、停止、重启
destroy: 强制停止虚拟机
define.xml:根据xml文件创建
undefine: 根据虚拟机名称删除虚拟机
console: 连接虚拟机的console
edit:修改虚拟机配置
autostart: 设置虚拟机自启动
domiflist:查看虚拟机网卡信息
domblklist:查看虚拟机硬盘信息
dominfo: 列出指定虚拟机的信息
suspend: 挂起指定虚拟机
resume:恢复挂起的虚拟机 domjobabort
:获取虚拟机的当前任务
dojobinfo: 显示虚拟机的任务
domstat:显示虚拟机的状态
domcontrol: 返回虚拟机的状态ok or error
dumpxml: 直接显示demo的xml文件配置
edit:编辑主机的配置文件
cpu-stats: 虚拟机的cpu状态 screenshot
:虚拟机截屏
setmensize:设置虚拟机的内存
setmaxmen:设置虚拟机的最大内存
memtune:得到虚拟机分区的信息
blkiotune:得到虚拟机的磁盘信息
setvcpus(count):设置虚拟机的虚拟cpu个数
dompmwakeup():唤醒挂起的vm-name
ttyconsole:输出设备用的终端
vcpucount:得到cpu个数
vcpuinfo:得到cpu的信息
vncdisplay:显示虚拟机vnc连接信息
virsh shutdown dns # 关闭虚拟机dns
virsh start dns # 启动虚拟机dns
virsh dumpxml dns > dns.xml # 导出dns虚拟机的配置文件
virsh undefine dns # 删除dns虚拟机
virsh define dns.xml # 从xml配置文件生成一个虚拟机
virsh start dns
virsh reboot dns # 重启虚拟机dns
virsh autostart dns # 设置虚拟机dns开机自启
virsh autostart --disable dns # 取消虚拟机dns开机自启
virsh domiflist dns # 显示虚拟机网卡接口
virsh domblklist dns # 显示虚拟机磁盘文件
virsh dominfo dns # 显示虚拟机的信息
virsh suspend dns # 挂起虚拟机
virsh resume dns # 继续运行挂起的虚拟机
virsh desc dns # 显示虚拟机的描述信息
virsh shutdown dns # 关闭虚拟机dns
virsh start dns # 启动虚拟机dns
virsh dumpxml dns > dns.xml # 导出dns虚拟机的配置文件
virsh undefine dns # 删除dns虚拟机
virsh define dns.xml # 从xml配置文件生成一个虚拟机
virsh start dns
virsh reboot dns # 重启虚拟机dns
virsh autostart dns # 设置虚拟机dns开机自启
virsh autostart --disable dns # 取消虚拟机dns开机自启
virsh domiflist dns # 显示虚拟机网卡接口
virsh domblklist dns # 显示虚拟机磁盘文件
virsh dominfo dns # 显示虚拟机的信息
virsh suspend dns # 挂起虚拟机
virsh resume dns # 继续运行挂起的虚拟机
virsh desc dns # 显示虚拟机的描述信息
# virsh domstats dns
Domain: 'dns'
state.state=1
state.reason=5
cpu.time=33212300555
cpu.user=900000000
cpu.system=4380000000
balloon.current=2097152
balloon.maximum=2097152
balloon.swap_in=0
balloon.swap_out=0
balloon.major_fault=189
balloon.minor_fault=161771
balloon.unused=1879292
balloon.available=2046976
balloon.last-update=1647332025
balloon.rss=492880
vcpu.current=1
vcpu.maximum=1
vcpu.0.state=1
vcpu.0.time=23010000000
vcpu.0.wait=0
net.count=0
block.count=1
block.0.name=vda
block.0.path=/opt/vm/dns.qcow2
block.0.rd.reqs=10188
block.0.rd.bytes=281963008
block.0.rd.times=1698863549
block.0.wr.reqs=237
block.0.wr.bytes=10442240
block.0.wr.times=574631962
block.0.fl.reqs=68
block.0.fl.times=195155558
block.0.allocation=31348801024
block.0.capacity=42949672960
block.0.physical=3388030976
# virsh dumpxml openEuler05 | grep mac
<partition>/machine</partition>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<mac address='52:54:00:00:8b:44'/>
virsh虚拟网络管理
net-autostart
:自动启动网卡(default)
net-define:把配置加载到文件
net-destory:关闭网卡
net-dumpxml:把网卡配置加载到文件
net-edit:编辑网卡信息
net-info:网卡信息
net-list:显示网卡
net-uuid:得到网卡的id
net-name:得到网卡的名字
net-start:开启网卡
设备命令
attach-device (
file):使用XML文件中设备定义在虚拟机中添加设备
attach-disk ():添加磁盘文件
attach-interface (type source ):添加一个接口
update-device (file):更新设备根据file
接口命令
iface-define(file):从文件里面定义一个接口
iface-dumpxml (lo):显示接口的信息
iface-edit(lo):编辑接口
iface-list:列出所有的接口
iface-name (mac):根据mac得到名字
iface-mac (lo):根据名字得到mac
iface-start (lo):开启接口
iface-unbriged:解绑定网桥
iface-undefine(lo):不定义配置文件
iface-begin(lo):创建一个现有的接口设置
iface-commit:提交所有的改变有效,并且让接口工作
iface-rollbak:接口回滚
# virsh iface-list --all # 列出本机所有网卡
Name State MAC Address
---------------------------------------------------
br5 active 00:0e:c6:82:4c:a0
eno1 active 84:a9:3e:82:23:37
enp1s0f0 inactive 6c:b3:11:40:f1:46
enp1s0f1 inactive 6c:b3:11:40:f1:47
lo active 00:00:00:00:00:00
# virsh iface-dumpxml eno1 # 输出指定网卡信息
<interface type='ethernet' name='eno1'>
<protocol family='ipv4'>
<ip address='192.168.50.228' prefix='24'/>
</protocol>
<protocol family='ipv6'>
<ip address='fe80::5669:5b18:2f36:2137' prefix='64'/>
</protocol>
<link speed='1000' state='up'/>
<mac address='84:a9:3e:82:23:37'/>
</interface>
# virsh iface-mac eno1 # 根据网卡名获取MAC地址
84:a9:3e:82:23:37
# virsh iface-name 84:a9:3e:82:23:37 # 根据MAC地址获取网卡名
eno1
存储池命令
pool-auto (pool):标记池自动启动
pool-build(pool):建造一个池
pool-create(file):根据文件创建池
pool-define(file):定义但是不开启
pool-destory(pool):销毁池,以后能恢复
pool-delete(pool):删除池,以后不能恢复
pool-dumpxml(pool):查看池的定义文件
pool-edit(pool):编辑池的定义文件
pool-info:池的信息
pool-list:显示池列表
pool-name(id):根据id得到name
pool-start(poop):开启池
pool-uuid (pool):返回一个池的uuid
卷命令
vol-delete(pool):卷的删除
vol-upload(pool):卷的加载
vol-list(pool):列出卷
vol-info(default):卷的信息
vol-name(path):得到卷的名字
快照管理
snapshot-create:使用 XML 生成快照
snapshot-create-as:使用一组参数生成快照
snapshot-current:获取或者设定当前快照
snapshot-delete:删除域快照
snapshot-dumpxml:为域快照转储 XML
snapshot-edit:编辑快照 XML
snapshot-info:快照信息
snapshot-list:为域列出快照
snapshot-parent:获取快照的上级快照名称
snapshot-revert:从快照恢复
克隆虚拟机
virt-clone --original openEuler05 --name openEuler04 --file /home/data/openEuler04.qcow2
--original //后面跟要克隆的虚拟机名字
--name //克隆后虚拟机的名字
--file //指定存放的路径,要求该路径不存在
克隆完成后 用virsh list --all 查看并启动
virsh start openEuler04 --console
查看虚拟机配置信息
virsh dumpxml openEuler04 | grep vnc
参考:
https://blog.csdn.net/yuyuyuliang00/article/details/123480619