热门标签 | 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
 
 

推荐阅读
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 多线程基础概览
    本文探讨了多线程的起源及其在现代编程中的重要性。线程的引入是为了增强进程的稳定性,确保一个进程的崩溃不会影响其他进程。而进程的存在则是为了保障操作系统的稳定运行,防止单一应用程序的错误导致整个系统的崩溃。线程作为进程的逻辑单元,多个线程共享同一CPU,需要合理调度以避免资源竞争。 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • JVM钩子函数的应用场景详解
    本文详细介绍了JVM钩子函数的多种应用场景,包括正常关闭、异常关闭和强制关闭。通过具体示例和代码演示,帮助读者更好地理解和应用这一机制。适合对Java编程和JVM有一定基础的开发者阅读。 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 本文介绍了 .NET 中用于线程间通信的工具 WaitHandle 及其子类 ManualResetEvent 和 AutoResetEvent,并详细解释了线程池的概念及其在优化资源利用方面的优势。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 深入解析 Synchronized 锁的升级机制及其在并发编程中的应用
    深入解析 Synchronized 锁的升级机制及其在并发编程中的应用 ... [详细]
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社区 版权所有