KVM虚拟机

QEMU-KVM介绍

  1. QEMU
    ● QEMU是一个主机上的VMM (Virtual machine monitor), 通过动态二进制模拟CPU,并提供一系列的硬件模型,使Guest OS能够与Host硬件交互。
    ● QEMU的代码中有完整的虚拟机实现,包括cpu虚拟化、内存虚拟化、以及I/O虚拟化 。
    ● 它可以模拟多种硬件架构(如x86、ARM等),并且可以与KVM结合使用来提供完整的虚拟化解决方案。
  2. KVM
    ● KVM全称 “Kernel-Based Virtual Machine”, 是基于内核的虚拟机,它由一个 Linux 内核模块组成,该模块可以将Linux变成一个Hypervisor。
    ● KVM主要实现CPU、内存和中断的虚拟化。
    ● KVM通过一组ioctl向用户空间导出接口,这些接口能够用于虚拟机的创建、虚拟机内存的设置、虚拟机vCPU的创建与运行等。
    ● KVM从 Linux 2.6.20起作为一个模块包含到Linux内核中。
    在QEMU/KVM的框架中,KVM是运行在内核空间,QEMU运行在用户空间,QEMU将 KVM整合了进来,通过打开/dev/kvm,从而将CPU指令的部分交给内核模块来做。 KVM实现了CPU和内存的虚拟化,QEMU模拟IO设备(磁盘,网卡,显卡等),KVM加上QEMU后就是完整意义上的服务器虚拟化。

KVM上层管理工具

  1. libvirt
    ● libvirt是一个开源库,它提供统一接口供上层调用,同时对下层各种类型hypervisor进行封装
    ● 它是管理虚拟机、存储、网络的一系列软件集合
    ● 它包括一个API库、一个daemon程序(libvirtd)和一个命令行工具(virsh)
    ● 它作为中间适配层,让底层hypervisor对上层用户空间的管理程序做到完全透明
    ● 使用XML来定义各种虚拟机相关的受管理对象。一些常用的虚拟机管理工具和云管平台实际调用的都是libvirt提供的接口。
  2. virsh
    ● virsh是一个管理KVM虚拟机的命令行工具
    ● virsh是用c语言编写的
    ● 是libvirt的一部分
    ● virsh是管理单个虚拟机最好的工具
  3. virt-manager
    ● virt-manager是一个图形化管理工具
    ● virt-manager底层调用的依然是libvirt API
  4. OpenStack
    ● OpenStack是一个开源的基础架构即服务(IaaS)的云计算管理平台
    ● OpenStack提供了非常强大的功能,如对象存储、块存储、网络、镜像、身份验证、编排服务、控制面板
    ● OpenStack同样也是调用libvirt API

虚拟网卡流程

查看要使用网卡的pci设备地址。

lshw -C network -businfo

假设要虚拟网卡pci设备地址为0001:01:00.0,使用如下命令生成一个虚拟网卡

echo 1 > /sys/bus/pci/devices/0001\:01\:00.0/sriov_numvfs

查看虚拟出来的网卡

lspci | grep -i Ethernet
#lshw -C network -businfo

在这里插入图片描述

网卡透访流程

查看要透访的网卡pci设备地址。
注意:透访后物理机中无法继续使用该网卡

编辑虚拟机配置文件,配置pci网卡设备地址。

virsh edit <虚拟机名称>

#在配置文件devices部分加入 
<hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
      # 填写pci设备的总线号 设备号等
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
</hostdev>

启动虚拟机后在虚拟机内就可以看到透访的网卡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_无感

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值