热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

kvm的命令简单使用

virsh命令常用参数总结参数参数说明基础操作list查看虚拟机列表,列出域start启动虚拟机,开始一个(以前定义的)非活跃的域shutdown关闭虚拟机,关
virsh命令常用参数总结
 
参数
参数说明
基础操作
list
查看虚拟机列表,列出域
start
启动虚拟机,开始一个(以前定义的)非活跃的域
shutdown
关闭虚拟机,关闭一个域
destroy(危险)
强制关闭虚拟机,销毁(停止)域
vncdisplay
查询虚拟机vnc端口号
配置管理操作
dumpxml
导出主机配置信息
undefine
删除主机
define
导入主机配置
domrename
对虚拟机进行重命名
挂起与恢复
suspend
挂起虚拟机
resume
恢复虚拟机
自启动管理
autostart
虚拟机开机启动
autostart --disable
取消虚拟机开机启动
以上参数通过 “virsh --help” 获得。
删除虚拟机
 
virsh destroy njvm01 #强制关闭电源
virsh undefine njvm01 #删除虚拟机
 
[root@nkgtsv01 data]# virsh shutdown njvm01
域 njvm01 被关闭
 
[root@nkgtsv01 data]# virsh start njvm02
域 njvm02 已开始
 
[root@nkgtsv01 data]# virsh list --all 查看虚拟机状态
 
设置虚拟机自启动
virsh autostart njvm02
virsh autostart --disable njvm02
 
 
启动,关闭和重启一个虚拟机
virsh start win2k8
virsh shutdown win2k8
virsh reboot win2k8
 
宿主机链接到kvm虚拟机
virsh console win2k8
 
克隆虚拟机
virt-clone -o njvm20 -n njvm22 -f /data/kvm-img/njvm22.img
 
修改njvm05 配置
virsh edit njvm05
 
挂起及恢复虚拟机
挂起:
virsh suspend njvm01
恢复:
virsh resume njvm10
 
创建KVM linux
 
virt-install --name njvm01 --boot network,cdrom,menu=on --ram 8000 --vcpus=2 --os-variant=rhel6 --accelerate --cdrom=/home/iso/CentOS-7-x86-64-DVD-1708.iso --disk path=/data/kvm-i/njvm01.img,size=200,bus=virtio --bridge=br0,model=virtio --autostart --vnc --vncport=5930 --vnclisten=0.0.0.0
 
创建KVM Windows
 
virt-install --name njvmwin --boot network,cdrom,menu=on --ram 6411 --os-type=windows --vcpus=1 --os-variant=rhel6 --accelerate --cdrom=/data/BBackup/ --disk path=/data/kvm-images/njvmwin.img,size=200,bus=virtio --bridge=br0, --autostart --vnc --vncport=5910 --vnclisten=0.0.0.0
 
virt-install -n njvmwin --vcpus=1 --ram=6411--os-type=windows --os-variant=win2k8 -c /vm/iso/cn_windows_server_2012_r2_sp1_x64.iso --disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy --disk path=/vm/win2012.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole
 
vm添加vnc端口
https://www.cnblogs.com/chenjiahe/p/5919742.html
 
#####要用 virsh edit vi命令不会生效#####
 
--name node4 \ #虚拟机名
--ram=1024 \ #分配内存大小,MB
\ #模拟的CPU 构架
--vcpus=1 \ #配置虚拟机的vcpu 数目
--check-cpu \ #检查确定vcpu是否超过物理 CPU数目,如果超过则发出警告。
--os-type=linux \ #要安装的操作系统类型,例如:\'linux\'、\'unix\'、\'windows\'
--os-variant=rhel5 \ #操作系统版本,如:\'Fedora6\', \'rhel5\', \'solaris10\', \'win2k\'
--disk path=/virhost/node7.img,device=disk,bus=virtio,size=20,sparse=true \ #虚拟 机所用磁盘或镜像文件,size大小G
--bridge=br0 \ #指定网络,采用透明网桥
--noautoconsole \ #不自动开启控制台
--pxe #网络安装
virsh start node4 #开机
virsh destroy node4 #强制关闭电源
virsh shutdown node4 #关机
virsh list --all #查看虚拟机状态
virsh reboot node4 #重启
 
 
-------------------------------------------------------------------------------------------
 
virt-viewer name #查看安装状态
使用virt-install 工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml 配置文件
cd /etc/libvirt/qemu cat centos64.xml
 
# 虚拟机类型
centos 虚拟机名称
54da30ed-150d-514e-9803-4dc01bd50488 uuid唯一标示
1048576 指定虚拟机内存大小,给出了单位
2 虚拟机占用虚拟cpu个数,这里指物理cpu的核心数量
hvm 指定虚拟系统架构
启动类型,从硬盘启动
/usr/libexec/qemu-kvm 驱动程序,同上,使用的是qemu-kvm
指定磁盘类型
指定磁盘格式,这里是raw,也支持qcow2.
img文件路径
磁盘文件标示,驱动类型
自动生成,可以手动指定。
桥接到哪一个接口
 
 
列出虚拟机的所有网口:
virsh domiflist njvm01
结果如下:
Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge br0 virtio 52:54:10:e6:c9:02 vnet1 bridge br1 virtio 52:54:10:f5:c5:6c
 
新增一个网口
virsh attach-interface domain --type bridge --source br1 --model virtio --config // 下次启动生效
virsh attach-interface domain --type bridge --source br1 --model virtio --current // 立即生效
virsh detach-interface domain --type bridge --mac 52:54:10:f5:c5:6c --config // 下次启动生效
virsh detach-interface domain --type bridge --mac 52:54:10:f5:c5:6c --current // 立即生效
 
删除网卡命令
virsh detach-interface centosvm01 --type network --mac 52:54:00:14:86:cf
永久添加网卡
virsh attach-interface domain --type network --source default --model virtio --config
临时添加网卡
virsh attach-interface win2k8 --type network --source default
virsh attach-interface win2k8 --type network --source default --config
 
关闭或打开某个网口:
virsh domif-setlink domain vnet0 down
virsh domif-setlink domain vnet0 up
 
获取某个网口状态
virsh domif-getlink win2k8 vnet1
 
 
列出所有的块设备
virsh domblklist win2k8
 
 

推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
author-avatar
鲁弗斯ll
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有