虚拟化
li_Jiejun
a_lijiejun@163.com
展开
-
qemu源码调试出现锁错误
调试命令行# gdb -tui --args /mnt/qemu-debug/bin/qemu-system-x86_64 -cpu host -smp 4,sockets=1,cores=4 -m 4096 -drive file=/mnt/win10.qcow2,format=qcow2 --enable-kvm -spice port=5900,ipv4,disable-ticketing,image-compression=auto_glz,jpeg-wan-compression=always原创 2022-04-13 16:35:30 · 926 阅读 · 0 评论 -
qemu时钟虚拟化
虚拟机启动参数-rtc base=localtime,driftfix=slew(gdb) bt#0 0x00005555558f3184 in mc146818_rtc_init (bus=0x555557057dd0, base_year=2000, intercept_irq=0x0) at /home/work/qemu/hw/rtc/mc146818rtc.c:981#1 0x0000555555945707 in pc_basic_device_init (pcms=0x55...原创 2022-01-11 12:10:47 · 1339 阅读 · 0 评论 -
虚拟机和宿主机之间的高速通信方案
虚拟机和宿主机之间高速通信1 背景 略2 技术方案2.1 通过虚拟串口通过serial channel实现,数据传输效率较高,但是不适合传输数据量大的数据。2.2 通过共享文件夹通过9pfs实现,数据传输效率高,但是不适合做视频数据流的存储传输。2.3 tcp socket通信虚拟机和服务器通过网络socket传输数据,数据传输效率低,数据传输延时较高,不适合实效性高的视频流场景。2.4共享内存方案:在服务器上申请一块内存...原创 2021-12-31 10:14:39 · 1149 阅读 · 0 评论 -
多显卡透传提示43错误分析
问题服务器上插入两张nvidia显卡,进行透传,只有一张显卡能够透传,另外一张能透传进虚拟机,但是安装驱动后不能正常使用,提示43错误。分析两个虚拟机的配置xml都是一样的,都执行了unbind操作a.首先在两个虚拟机中交换显卡透传,还是只有那一张显卡不能透传b.服务器内核日志没有信息输出,windows虚拟机内也是只有43现象c.怀疑是这块显卡被服务器系统使用了排查通过命令查看:# lspci | grep VGA03:00.0 VGA compatible co...原创 2021-09-30 14:31:35 · 2426 阅读 · 0 评论 -
虚拟机快照的奇招
创建虚拟机# /mnt/debug/bin/qemu-system-x86_64 -enable-kvm -vga std -m 8196 -smp 4 -cpu host -net nic,model=e1000 -net user -hda /home/centos8.img -vnc 0.0.0.0:10 -monitor stdio命令生成内存文件(qemu) migrate_set_speed 4095m(qemu) migrate "exec:cat > /mnt/STA原创 2021-03-05 17:08:50 · 221 阅读 · 0 评论 -
spice部分问题
在https://spice-space.org/的官方资料中,提到SPICE会自动识别终端的处理能力,对于有能力的终端,会传输QXL命令而不是渲染好的图形,但根据demo的效果和源码的阅读,似乎并没有发现这个能力,请问可能是哪里的配置不对吗?这个功能具体对应spice server的那部分呢?>>>现在的代码是会有服务端根据终端的能力来做一些提前做一些动作,但是qxl指令流的应该是没有的;===就是说Server端直接向Client的绘图命令传递看来是不存在的对吗?即使是系统窗口之类原创 2021-02-27 10:30:21 · 1288 阅读 · 14 评论 -
Comprehensive guide to performance optimizations for gaming on virtual machines with KVM/QEMU and PC
PreambleThis guide describes performance optimizations for gaming on a virtual machine (VM) with GPU passthrough.In order to optimize the user experience for virtualized gaming, I started to pursue low latency and high performance. Especially since my转载 2020-12-09 14:30:06 · 656 阅读 · 1 评论 -
qemu源码调试
命令行:[root@node1 qemu-debug]# gdb -tui --args /usr/local/bin/qemu-system-x86_64 -name win7 -machine pc-i440fx-5.1,accel=kvm,usb=off,dump-guest-core=off -cpu IvyBridge-IBRS,+ss,+ht,+vmx,+pcid,+hypervisor,+arat,+tsc_adjust,+stibp,+ssbd,hv_time,hv_relaxed...原创 2020-10-15 15:13:07 · 802 阅读 · 0 评论 -
Ryzen 4800H KVM Bad Cache Performance
Edit 20200717: The cache performance is fixed. But PUBG performance remains bad!Here is my updated config:sudo chrt -r 1 taskset -c 4-15 qemu-system-x86_64 \ -drive if=pflash,format=raw,readonly,file=$VGAPT_FIRMWARE_BIN \ -drive if=pflash,forma.转载 2020-09-15 11:33:28 · 339 阅读 · 0 评论 -
虚拟机内运行安卓模拟器的解决方案
现象:虚拟机内透传nvidia 1660显卡,虚拟机内启动这些游戏出现虚拟机重启的问题期间启动游戏(雷电模拟器)的时候有些报错:1. 使用vnc连接 提示OpenGL版本过低2. 使用rdp连接 提示显卡驱动存在问题查看虚拟机系统日志:Windows Kernel 事件ID 41 – “系统在未首先正常关机的情况下重新启动”查看物理机上的日志:qemu-kvm日志:没有错误信息输出内核日志:没有相关的错误信息...原创 2020-08-07 15:38:36 · 5081 阅读 · 3 评论 -
基于模板创建虚拟机MAC地址问题
问题: 基于同一模板创建的10台虚拟机,这10台虚拟机的网卡MAC地址是一样的,就会导致虚拟机的网络问题解决方法:1. 底层做处理,qemu做处理2. 云平台做处理2.1 对于虚拟机,需要记录网卡数量,MAC地址,IP地址2.2 对于模板,只记录网卡的数量,其它的不记录,这样在基于模板创建虚拟机的时候,就可以根据记录的网卡数量来给虚拟机分配网卡信息了,MAC地址就从MAC池...原创 2019-02-26 17:44:36 · 691 阅读 · 0 评论 -
QEMU 代码分析:BIOS 的加载过程
DW原文链接QEMU 是一个广泛使用的开源计算机仿真器和虚拟机,它提供了虚拟机硬件的虚拟化功能,其使用的某些特定硬件的固件则由一些开源项目提供。本文将介绍 QEMU 代码中使用到的 BIOS,通过分析 QEMU 代码,讲解 BIOS 是如何加载到虚拟机的物理内存。 QEMU 中使用 BIOS 简介BIOS 提供主板或者显卡的固件信息以及基本输入输出功能,QEMU 使用的是一些开源的...转载 2018-09-20 18:00:16 · 2883 阅读 · 0 评论 -
Linux 上的基础网络设备详解
Linux 抽象网络设备简介和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,如 eth0,用户需要对 eth0 发出命令以配置或使用它了。更多的硬件会带来更多的设备实例,虚拟的硬...转载 2018-09-20 11:14:42 · 216 阅读 · 0 评论 -
云桌面(VDI)中流媒体重定向的技术方案
一. 问题背景目前流媒体播放的主要资源消耗处于服务端,包含解码、转码、压缩等,如果大量虚拟机同时播放流媒体,会造成服务端负载过重,影响流媒体播放效果。现考虑将流媒体的解码和渲染都放在客户端处理,同时避免转码和压缩,这即需要进行流媒体重定向,将Guest OS内流媒体文件或网络流媒体资源传输到客户端处理,而又让用户感觉和在Guest OS内播放一致。二. 当前方案描述问题:1)增加网络负...转载 2018-07-17 12:32:56 · 1666 阅读 · 1 评论 -
ovirt-UI-plugin
注意: 它使用的angular--一种javascript的框架。'use strict';---一般放在文件的第一行才有效,用来标识代码要通过严格模式检查,例如语法。。。 $http:用于处理 XMLHttpRequest $location:提供当前URL的信息 $q: 异步请求使用,promise/deferred模块 $routeProvider原创 2015-11-18 19:17:26 · 1051 阅读 · 0 评论 -
附加/分离存储的源代码分析
Attach StorageAttachStorageDomainToPoolCommand.javaAttachStorageDomainVDSCommand.javaGetImagesListVDSCommand.java---获取存储域内的所有imagesGetVolumesListVDSCommand.javaGetImageInfoVDSCommand.javaR原创 2016-01-29 15:06:39 · 725 阅读 · 0 评论 -
虚拟机启动过程浅析
VmListModel.javarun()-->RunVmCommand.java canDoAction()--> RunVmValidator.java canRunVm()-->SchedulingManager.getInstance().canSchedule() SchedulingManager.java 它会先load一原创 2016-01-29 15:08:04 · 1040 阅读 · 0 评论 -
虚拟机模板切换功能
功能简介1。现在的需求是一个虚拟机用的是linux系统,然后关机下次启动的时候是基于windows模板启动的概要设计详细步骤存在的风险原创 2016-03-15 10:24:09 · 923 阅读 · 0 评论 -
oVirt & Openstack
oVirt & Openstack 一 oVirt简介 Ovirt是一个开源的虚拟化管理平台,是redhat 虚拟化管理平台RHEV的开源版本。 Ovirt由两部分组成:客户端ovirt-node类似于vmware esxi,是由fedaro 16订制而成。也可以在linux系统上安装vdsm服务而得到一个ovirt客户端。管理端overt-engine 类似于 vmw原创 2016-06-27 22:21:08 · 4505 阅读 · 0 评论 -
openstack hotplug-cpu
1. 首先这个功能对libvirt/qemu的版本是有要求的;2. 主要是nova的代码实现,最后调用的是libvirt的API;3. 需要修改云主机的XML文件来添加相关的属性;4. 实现功能中遇到的坑,重启后添加的cpu消失了,后面找到了原因解决了它;5. 前端界面的设计和计费功能的更新。总结:功能很好实现,要做得完美需要不停的测试。原创 2016-06-30 18:12:07 · 992 阅读 · 3 评论 -
USB设备分类
USB设备分类 And you can get the USB spec from http://www.usb.org/developers/docs USB从设备的分类可以从USB设备接口描述符(Standard Interface Descriptor)对应的的bInterfaceClass这一个byte得到。 bInterfaceClass的典型代码为1,2,转载 2017-11-21 15:35:47 · 4515 阅读 · 0 评论 -
USB Class Codes
http://www.usb.org/developers/defined_classJune 15, 2016 USB defines class code information that is used to identify a device’s functionality and to nominally load a device driver base转载 2017-11-21 15:39:32 · 371 阅读 · 0 评论 -
虚拟化管理平台的选择:开源软件 or 商业软件?
文章转载至:https://blog.csdn.net/enweitech/article/details/52325999虚拟化软件,选择开源还是商业软件?笔者研究过的虚拟化软件有IBM PowerVM,VMware vSphere,还有Red Hat RHEV。其中,IBM是最早做虚拟化的;vSphere是虚拟化市场最大市场份额的占有者;RHEV则是开源虚拟化软件最好的选择。关于开源和商业软件...转载 2018-06-12 11:02:03 · 7861 阅读 · 0 评论 -
云桌面(VDI)spice协议优化的关键技术——外设篇
spice协议原生的USB外设重定向支持已经相当优秀,相比usbip对复合型设备兼容性更好。对于热插拔的支持有两种机制-gudev和libusb。从1.0.16开始libusb支持hotplug事件侦听,可以使用接口libusb_hotplug_register_callback注册插拔回调,从而不依赖于udev,这在不支持udev的某些嵌入式Linux内核平台上更适用。 一. 提高US...转载 2018-07-17 12:32:10 · 3575 阅读 · 2 评论 -
oVirt-3.5部分features
oVirt-3.5的部分features原创 2015-04-03 14:10:22 · 1421 阅读 · 0 评论