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 使用教程(一) 的相关文章

  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • NPTL 和 POSIX 线程有什么区别?

    NPTL 和 POSIX 线程之间的基本区别是什么 这两者是如何演变的 POSIX 线程 pthread 不是一个实现 它是几个函数的 API 规范 纸上的标准 英文 其名称以pthread 以及定义在
  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR

随机推荐

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

    摘要 全息技术是物理学中的重大发现 近年来在各个行业得到广泛的应用 作为全息技术中的两个重要部分 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 的一个内核模块