Linux KVM 使用教程(一)

2023-11-16

1、KVM简介:

1)KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor:
	a. 它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购。
	b.它支持 x86 (32 and 64), s390, Powerpc 等 CPU。
	c. 它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
	d. 它需要支持虚拟化扩展的 CPU。
	e.它是完全开源的。

2、KVM 的功能列表

1)支持 CPU 和 memory 超分(Overcommit)
2)支持半虚拟化 I/O (virtio)
3)支持热插拔 (cpu,块设备、网络设备等)
4)支持对称多处理(Symmetric Multi-Processing,缩写为 SMP )
5)支持实时迁移(Live Migration)
6)支持 PCI 设备直接分配和 单根 I/O 虚拟化 (SR-IOV)
7)支持 内核同页合并 (KSM )
8)支持 NUMA (Non-Uniform Memory Access,非一致存储访问结构 )

3、KVM 工具集合

libvirt:操作和管理KVM虚机的虚拟化 API,使用 C 语言编写,可以由 Python,Ruby, Perl, PHP, Java 等语言调用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等在内的多种 Hypervisor。
Virsh:基于 libvirt 的 命令行工具 (CLI)
Virt-Manager:基于 libvirt 的 GUI 工具
virt-v2v:虚机格式迁移工具
virt-* 工具:包括 Virt-install (创建KVM虚机的命令行工具), Virt-viewer (连接到虚机屏幕的工具),Virt-clone(虚机克隆工具),virt-top 等
sVirt:安全工具

3.1 Virsh命令

virsh --help                                     #查看命令帮忙

virsh list                                       #显示正在运行的虚拟机

virsh list --all                                 #显示所有的虚拟机
 
virsh start vm-node1                             #启动vm-node1虚拟机

virsh shutdown vm-node1                          #关闭vm-node1虚拟机

virsh destroy vm-node1                           #虚拟机vm-node1强制断电

virsh suspend vm-node1                           #挂起vm-node1虚拟机

virsh resume vm-node1                            #恢复挂起的虚拟机

virsh undefine vm-node1                          #删除虚拟机

virsh dominfo vm-node1                           #查看虚拟机的配置信息

virsh domiflist                                  #查看网卡配置信息

virsh domblklist vm-node1                        #查看该虚拟机的磁盘位置

 virsh edit vm-node1                              #修改vm-node1的xml配置文件
 
virsh dumpxml vm-node1                           #查看KVM虚拟机当前配置

virsh dumpxml vm-node1 > vm-node1.bak.xml        #备份vm-node1虚拟机的xml文件,原文件默认路径/etc/libvirt/qemu/vm-node1.xml

 virsh autostart vm-node1                         #KVM物理机开机自启动虚拟机,配置后会在此目录生成配置文件/etc/libvirt/qemu/autostart/vm-node1.xml

 virsh autostart --disable vm-node1               #取消开机自启动
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux KVM 使用教程(一) 的相关文章

  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 在 Linux 上以编程方式设置 DNS 名称服务器

    我希望能够通过我的 C C 程序为 Linux 上的 DNS 名称服务器添加 IP 地址 我在一个带有只读 etc resolv conf 的嵌入式平台上 这意味着我不能简单地将 nameserver xxx xxx xxx xxx 行添加
  • 就分页分段内存而言的程序寿命

    我对 x86 Linux 机器中的分段和分页过程有一个令人困惑的概念 如果有人能澄清从开始到结束所涉及的所有步骤 我们将很高兴 x86 使用分页分段内存技术进行内存管理 任何人都可以解释一下从可执行的 elf 格式文件从硬盘加载到主内存到它
  • linux-x64 二进制文件无法在 linuxmusl-x64 平台上使用错误

    我正在安装Sharp用于使用 package json 的 Nodejs 项目的 docker 映像上的映像压缩包 当我创建容器时 我收到有关 Sharp 包的以下错误 app node modules sharp lib libvips
  • 执行“minikube start”命令时出现问题

    malik malik minikube start minikube v1 12 0 on Ubuntu 18 04 Using the docker driver based on existing profile Starting c
  • 如何在linux中以编程方式获取dir的大小?

    我想通过 C 程序获取 linux 中特定目录的确切大小 我尝试使用 statfs path struct statfs 但它没有给出确切的大小 我也尝试过 stat 但它返回任何目录的大小为 4096 请建议我如何获取 dir 的确切大小
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的

随机推荐

  • 计算机应用技术图像图形处理,计算机图像处理应用技术论文

    摘要 全息技术是物理学中的重大发现 近年来在各个行业得到广泛的应用 作为全息技术中的两个重要部分 CCD和计算机图像处理技术 在推动数字全息新一轮发展中起到至关重要的作用 本文将着重从计算机应用方面阐述图像处理技术在全息中的应用 关键词 计
  • 【机器学习经典算法】K近邻(KNN):核心与总结

    文章目录 1 初识K近邻 2 相知 2 1 K近邻三要素 2 2 KD树 2 2 1 kd树的构建 2 2 2 kd树的搜索 3 总结 1 初识K近邻 K 近邻 K Nearest Neighbors KNN 可以说是整个机器学习算法中最为
  • Python中的垃圾回收机制

    垃圾回收 Garbage Collection 以下简称GC 是一种自动的内存管理机制 有许多不同的实现算法 Python中的GC 以引用计数为主 标记 清除和分代回收为辅 1 GC 在程序中定义了一个变量 就是在内存中开辟了一段相应的空间
  • 硬件系统工程师宝典(1)-----硬件系统设计应该从哪里开始?

    系统设计举足轻重的一步 需求分析 今天我们开始读张志伟老师的 硬件系统工程师宝典 这是一本非常好的入门书 对需求分析 电源 信号完整性 电源完整性 可制造性 原理图 pcb的详细设计 常用软件等进行了介绍 可以帮助我们快速了解硬件工程师需要
  • Rancher2.0-2.4备份和恢复

    rancher2 0 2 4备份和恢复 说明 此文按照rancher官网实战操作 url https docs rancher cn docs rancher2 backups 2 0 2 4 single node backups ind
  • powershell 创建多个文件

    foreach file in Get ChildItem Echo file 1 5 foreach new Item Path E txt gt 创建多个文件 new item 新的内容单元 文本 可选 删除多个文件 只需要修改 new
  • Vue.js:Select--Option >下拉框绑定和取值

    遇到了这个解决了 所以记录一下 1 Vue js 2 https www iviewui com components select 完成vue js下拉框选择绑定与取值 实现效果图如下 template代码
  • 计算机进pe按键,台式机进入pe按什么键

    我的台式机想进入pe设置下系统 但不知按什么键进入 该怎么办呢 下面由学习啦小编给你做出详细的台式机进入pe按键说明 希望对你有帮助 台式机进入pe按键说明一 开机按F12 台式机 一体机 笔记本通用 其他品牌的有按F10的 F8的 F2的
  • 小程序支付-java

    https pay weixin qq com wiki doc api wxa wxa api php chapter 7 3 index 1 支付流程步骤 1 首先调用wx login方法获取code 通过code获取openid 2
  • js中defer和async的区别

    一般情况 按照惯例 所有script元素都应该放在页面的head元素中 这种做法的目的就是把所有外部文件 CSS文件和JavaScript文件 的引用都放在相同的地方 可是 在文档的head元素中包含所有JavaScript文件 意味着必须
  • 抖音很火的召唤神龙的小游戏完整代码-召唤神龙

    抖音很火的解压小游戏 完整代码分享 有兴趣的可以试着写一下 1 index
  • MongoDB和Elasticsearch的各使用场景对比

    MongoDB vs Elasticsearch MongoDB ElasticSearch 备注 定位 文档型 数据库 文档型 搜索引擎 一个管理数据 一个检索数据 资源占用 一般 高 mongo使用c es使用Java开发 写入延迟 低
  • 【Linux】常用的 Linux 命令行

    目录 写在前面 一 查看信息指令 1 df 查看磁盘驱动器的可用空间 2 free 显示可用内存 二 常用操作指令 1 pwd 查看当前目录 2 cd 改变目录 3 ls 列出目录内容 4 file 确定文件类型 5 切换 root 普通用
  • 【LeetCode与《代码随想录》】数组篇:做题笔记与总结-Java版

    代码随想录地址 是学习过程中的笔记 图来自代码随想录 文章目录 理论 题目 704 二分查找 35 搜索插入位置 34 在排序数组中查找元素的第一个和最后一个位置 69 x 的平方根 367 有效的完全平方数 理论 数组是存放在连续内存空间
  • Nginx---进程锁的实现

    http wang peng 1123 blog 163 com blog static 129821112201381311441180 在前面的源码分析中我们大致的介绍了一下nginx对负载均衡问题和惊群问题的解决方案 在本次源码分析中
  • 【C++】引用

    1 引用的基本语法 2 引用注意事项 int b 错误 int b a 正确 3 引用做函数参数 int temp a a b b temp 4 引用做函数返回值 出现问题 https www bilibili com video BV1e
  • 微信小程序水平居中,和垂直居中

    微信小程序水平居中 和垂直居中 1 WXML信息展示
  • Windows文本编辑器——推荐、介绍与安装(1)

    撰写时间 2023年4月11日 目的 介绍各种类型的文本编辑器 阐述编辑器的优缺点 并提供安装与使用方法 前言 文本编辑器是应用各种已有的编程语言进行软件开发的一种重要工具 它能够帮助开发者更加高效地编写代码 也能够帮助电脑小白快速上手各种
  • Qt Model View TreeView及对应Model

    点击上方蓝字可直接关注 方便下次阅读 如果对你有帮助 可以点个在看 让它可以帮助到更多老铁 一 概述 接着之前的话题继续 如果把之前的QTableView改成QTreeView 我们在不改变Model的情况下可以直接得到一个没有结构层次的
  • Linux KVM 使用教程(一)

    文章目录 1 KVM简介 2 KVM 的功能列表 3 KVM 工具集合 3 1 Virsh命令 1 KVM简介 1 KVM 全称是 基于内核的虚拟机 Kernel based Virtual Machine 它是Linux 的一个内核模块