![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
虚拟化
文章平均质量分 71
wjx5210
积极努力...
展开
-
外设直通技术-intel VT-d
虚拟化中外设虚拟化虚拟化的目标是仿真整个的计算机,从计算机资源角度可以分为CPU虚拟化,内存虚拟化,中断虚拟化,设备虚拟化几个基本的组件,下面主要是看一下设备虚拟化中的外设直通场景下的一些技术实现方式。设备虚拟化通常有几种模型:软件仿真和设备直通。其中软件仿真可以细分为两种:仿真真实的硬件、专门为虚拟化设计的外设,前者的典型设备有网卡e1000,虚拟GPU VGA,后者的设备主要是标准的virtio系列设备:virtio-blk, virtio-net等。而设备直通是一种将物理设备呈现给虚拟机的方式,它原创 2022-05-21 15:31:19 · 3242 阅读 · 0 评论 -
虚拟机Secure Boot安全启动
概述Secure Boot 作为 UEFI 的一个选项,它可以被设置为开启或关闭。 Secure Boot 所需要的公钥证书被保存在计算机的主板的 FLASH 里面,FLASH 里面保存着 PK , KEK, db, dbx 的证书链。下面我们在虚拟机中使能Secure Boot功能,可以在虚拟机中实验,这样比较安全。工具以下工具是必不可少的:opensslefitoolssbsigntools在有些系统上 efitools 和 sbsigntools 无法直接获取,请从源码包编译,其中ef原创 2022-05-16 20:30:39 · 9419 阅读 · 2 评论 -
perf kvm
perf kvm可以在host中采样guest os的信息,看起来挺鸡肋,但是有很多实际用途。它不需要登录guest直接就能够采样guest信息,一般使用的场景:你没有guest的控制权,不能登录到guest中,所以没有办法采样guest中信息。guest已经无法响应用户动作,例如内核死锁或者panic了,系统已经异常了guest中没有网卡,无法通过ssh登录,也没有控制台终端在以上这些场景下使用perf kvm工具,这个工具需要做一些额外的动作,获得guest的符号表。内核符号表由两部分:vm原创 2022-03-05 16:06:07 · 1243 阅读 · 0 评论 -
qemu的bridge和nat模式
qemu使用brige模式创建tap和bridge设备tunctl -t tap1 #创建tap网卡brctl addbr br0brctl addif br0 tap1brctl addif br0 enp0s3f0 #将tap和物理网卡全都挂接在bridge上ip addr add 192.168.0.10/24 dev br0ip link set tap1 upip link set enp0s3f0 upip link set br0 uproute ad原创 2020-12-15 19:40:31 · 5238 阅读 · 3 评论 -
qemu monitor
QM(qemu monitor)是一个能够和QEMU模拟器进行交互的工具,通过QM能够完成查询虚拟机的内部状态,进行设备的热插拔,虚拟机的迁移/备份/快照等功能。而QMP(Qemu Monitor Protocol)是一种基于JSON格式的传输协议,定义了与虚拟机的交互规范,底层支撑了QM的实现。一般手工维护大部分都是用QM,而做批量维护或者二次定制就需要基于QMP进行封装。有多种方法使用QM/QMP,一般主要通过tcp和unix socket。通过TCP使用QM/QMP使用-monitor添加QM相原创 2020-09-19 10:55:15 · 2319 阅读 · 0 评论 -
qemu coredump配置
ulimit -c unlimitedsysctl -w kernel.core_pattern=/var/crash/core-%e.%p修改/etc/libvirtd/qemu.confmax_core = “unlimited”systemctl restart libvirtd原创 2021-06-21 10:27:42 · 822 阅读 · 0 评论 -
qemu tcg系列-概览
QEMU TCG linux-user翻译过程浅析。target->IR->host翻译过程原创 2022-01-27 11:20:20 · 10493 阅读 · 3 评论 -
龙芯虚拟化使用手册
4000 kvm虚拟化使用手册: http://doc.loongnix.cn/web/#/30?page_id=56loongarch kvm虚拟化使用和优化手册: http://doc.loongnix.cn/web/#/729?page_id=3887原创 2021-10-22 16:08:21 · 1172 阅读 · 5 评论 -
virtio系列-packed virtqueue
virtio packed virtqueuespilt virtqueue因其简约的设计而备受欢迎,但是它有一个基本的问题:avail, used ring 是分离的,cpu cache miss的概率比较大,从硬件角度来看意味着每个descriptor的读写操作都需要几个PC事务。packed virtqueue通过将三个ring合并到一起来改善这个问题.不过这种方式看起来非常复杂,远不如split virtqueue简约。在split版本中如果认识到在获取driver提供的数据之后device可以丢翻译 2021-09-09 21:15:51 · 4185 阅读 · 12 评论 -
virtio系列-split virtqueue数据流
virtio split virtqueue数据流基本概念解释buffers和notifications:一个virtqueue的buffer是由guest来分配,host来消费的,host可以读和写这些buffer。一个buffer只能是只读或者只写的,但是不能读和写同时存在。buffer的描述符可以是通过指针链接起来的,即indriect descriptor,通过将消息扩展会更加方便,例如在一个buffer中放入和2000字节的数据和使用两个1000字节的数据buffer存放效果是一样的。原创 2021-09-09 20:47:24 · 1926 阅读 · 0 评论 -
virtio系列-规范解读
virtiovirtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。提供了一套上层应用与各 Hypervisor 虚拟化设备(KVM,Xen,VMware等)之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率。历史背景qemu支持多种设备,例如网卡有e1000,virtio等,其中e1000属于全虚拟化设备,它模拟了一个真实的硬件设备,提供的访问接口完全遵循硬件手册,当虚拟原创 2021-09-09 19:42:57 · 2756 阅读 · 0 评论