- 博客(189)
- 资源 (3)
- 收藏
- 关注

原创 oVirt二次开发
为了能更好的使用oVirt平台,我们需要对它做对一些工作,使得它对于我们是可控和友好的: 对oVirt平台的定制化; 新功能的开发; bug fix; 平台性能; 虚拟机内的使用体验(播视频,使用办公软件,打开复杂的网页。。。); 平台的安装部署简化,及提高部署的稳定性;经过了多年的oVirt开发总结的一个大概,每一个都包含很多东西和细节的,欢迎...
2018-08-20 15:08:55
162152
12
原创 算力云平台
4. 创业公司的需求,目前的很多创业公司都是在公有云上面租机器的,价格很贵,其实他们有些业务对安全稳定性要求不是太高,就是引入到我们的算力出租平台上来,价格肯定是比公有云便宜的。2. 服务器中间商准系统集成,目前了解到挖矿不好弄了以后,很多有服务器的小老板没有了宣传模式,他们的服务器带着我们的准系统算力出租这个也是可以赋能点。3. 中小型算力公司,有些公司只做特定的业务,一天24小时不能一直跑满,那我算力出租平台就可以把他们的自有算力空闲时间利用起来,达到24小时不停的跑。算力互联,随需随取;
2024-04-29 14:35:41
532
原创 Linux内核开启kdump
GRUB_CMDLINE_LINUX="crashkernel=512M rd.lvm.lv=zstack/root rd.lvm.lv=zstack/swap rhgb quiet intel_iommu=on modprobe.blacklist=snd_hda_intel,amd76x_edac,vga16fb,nouveau,rivafb,nvidiafb,rivatv,amdgpu,radeon" //修改或添加crashkernel=512M。输出 0 表示没有开启。
2023-12-29 11:34:14
701
原创 qemu里面 qapi_free_SocketAddress 和 g_free的区别
QAPI 是一种用于定义和生成 QEMU API 的框架,而 qapi_free_SocketAddress 则是用于释放由 QEMU API 创建的 SocketAddress 对象的内存。总结来说,qapi_free_SocketAddress 是用于释放 QEMU API 中特定结构体的内存,而 g_free 是 GLib 库中通用的内存释放函数。在 QEMU 中,qapi_free_SocketAddress 和 g_free 是两个不同的函数,用于释放内存资源的操作。
2023-12-08 11:32:33
281
原创 CXL:Compute Express Link
其高性能、灵活性和内存一致性等特点使其成为应对不断增长的计算需求和数据处理挑战的理想选择。随着 CXL 生态系统的不断成熟和扩大,预计它将在未来的计算领域发挥越来越重要的作用。CXL 的出现旨在推动数据中心和企业级计算应用的发展,提供更高的内存带宽和更低的延迟,以满足不断增长的计算需求。另一个重要的特性是 CXL 的内存一致性,它确保了共享内存的一致性和可靠性,为计算加速器等设备的协同工作提供了基础。这意味着 CXL 可以支持更高效的数据传输和处理,从而加速复杂的计算任务并提高系统整体的性能。
2023-11-27 10:50:09
247
原创 qemu-kvm下的cuda虚拟化
A guest侧:编写设备驱动,实现 open、close、read、write、ioctl 接口,承接guest侧应用的 cuda api 请求;B host侧:接收 guest 过来的api接口及参数数据,将参数重新组装,然后调用物理显卡的cuda api,并将所需结果返回给guest侧;当前AI和大模型火热,对算力的需求越来越高,如何高效的利用算力资源问题被凸显出来了。cuda虚拟化,一张显卡的cuda算力能同时被多个虚拟机使用。在虚拟化场景下,单张显卡的算力能同时被多个虚拟机调度使用。
2023-09-20 14:46:39
1152
转载 Linux中的静态库与动态库
动态库:这类库的名字一般是libxxx.M.N.so,同样的xxx为库的名字,M是库的主版本号,N是库的副版本号。调用动态库的时候有几个问题会经常碰到,有时,明明已经将库的头文件所在目录 通过 “-I” include进来了,库所在文件通过 “-L”参数引导,并指定了“-l”的库名,但通过ldd命令察看时,就是死活找不到你指定链接的so文件,这时你要作的就是通过修改 LD_LIBRARY_PATH或者/etc/ld.so.conf文件来指定动态库的目录。动态库的后缀为*.so。相当于一个可执行文件。
2023-08-30 12:01:35
525
原创 云计算疑难杂症解决方案 - 自研推流服务显示完整的开机画面
推流服务需要把整个开机的画面也给客户展示出来,例如向日葵,todesk等远程软件,当系统关机,或者蓝屏了的时候,推流软件是没有感知的,增加了运维难度。1. 复用spice-server的视频通道,当推流服务本身的视频流中断了,就获取spice-server的视频通道内的数据,
2023-07-29 10:18:04
213
原创 开源的是最贵的
另外,开源软件在商业环境中的成功案例往往都有相应的商业公司支持,以提供更加可靠和稳定的产品和服务。这也需要用户支付相应的费用。因此,虽然开源软件本身是免费的,但在实际使用中可能需要承担更高的总体成本。「开源的是最贵的」这句话是指,虽然开源软件本身是免费的,但在实际使用过程中可能需要承担更高的成本。集成成本:开源软件通常不是即插即用的,用户需要对其进行定制和集成,以适应其业务需求。人才成本:开源软件的使用需要具备相应的技能和经验。维护成本:开源软件的更新和维护需要用户自行承担,例如安全漏洞修复、功能升级等。
2023-05-29 10:19:52
215
原创 KVM性能优化方向
KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化解决方案,它将内核作为虚拟机监视器,通过虚拟化硬件资源提供虚拟机运行环境。CPU虚拟化:CPU虚拟化方面的优化可以显著提高虚拟机的性能,如使用硬件辅助虚拟化(如Intel VT-x或AMD-V)等技术,可大大提高CPU虚拟化效率。内存管理:KVM在虚拟化时需要处理来自多个虚拟机的内存需求,因此在内存管理方面的优化可以有效减少内存开销以提高性能。
2023-05-18 10:43:16
891
原创 云计算疑难杂症解决方案 - USB重定向
不用spice协议,自有开发的远程桌面协议,那么可以将usb重定向的逻辑整理成一个模块,具体私信。在办公环境下,如何将推流客户机、瘦终端...上的usb设备重定向到虚拟机内。客户机系统,虚拟机系统是Windows或者Linux。应用 spice 协议开源项目,这个协议已经支持了。
2023-05-05 14:27:47
5693
原创 云计算疑难杂症解决方案 - 多类显卡虚拟机内的驱动问题
需要显卡透传后虚拟机开机直接能用,但是显卡类型可能会一直换,例如当前机柜是1660s,下一个机柜又是4090ti,那不可能把所有的驱动都安装到虚拟机内做成模板,这样的话模板就太大了,而且不一定驱动会适配好。制作了一个虚拟机模板,虚拟机需要用到显卡透传,
2023-04-23 11:58:13
162540
原创 Cross compiling Windows binaries from Linux
【代码】Cross compiling Windows binaries from Linux。
2023-04-18 20:50:14
599
原创 云计算疑难杂症解决方案一
基于共享存储的环境,如果基于模板批量启动很多虚拟机,会出现启动很慢的情况,甚至导致虚拟机启动失败;网络带宽不足,共享存储iops不够,或者突然碰到存储内在进行数据重构之类的;
2023-04-18 11:09:18
159677
原创 H264软编码导致画面切换时不流畅
X264每帧slice的数量不只是受i_slice_count 参数影响,也受线程数量i_threads 影响。但当一帧被划分为多个slice时,如果不将多个slice合成一帧数据进行发送,则导致接收端不能正常解码。在推送RTMP时,每个消息应该为一个完整的vidoe帧,而不是单个slice。使用x264软编解码时,切换画面的时候会很卡,不切换画面的时候很流程。
2022-11-02 10:16:11
599
原创 qemu-kvm IO优化
主要是磁盘方面的IO资源优化四个方面去着手优化: 1.磁盘类型选择 2.缓存模式选择 3.AIO 异步读写方式选择 4.磁盘IO调度器选择1. 磁盘的类型有IDE 、SATA 以及virtio 三种 建议使用 virtio2.磁盘缓存模式 目前KVM这块支持5种磁盘缓存模式,writethrough、writeback、none、directsync或者unsafe。一般用到的就是前面3种,后面两种几乎不会使用。writethrough:(直写模式)数据直接...
2022-04-14 20:28:39
2418
原创 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
1053
原创 AMD的cpu透传给虚拟机后性能慢
问题:通过cpu passthrough模式,在虚拟机内跑游戏,发现帧数一直上不去,fps很低解决方案:修改:<cpu mode="host-passthrough" check="none" migratable="off"> <topology sockets="1" dies="1" cores="5" threads="2"/> <cache mode="passthrough"/> <feature poli
2022-04-13 16:28:36
4078
原创 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
1448
原创 虚拟机和宿主机之间的高速通信方案
虚拟机和宿主机之间高速通信1 背景 略2 技术方案2.1 通过虚拟串口通过serial channel实现,数据传输效率较高,但是不适合传输数据量大的数据。2.2 通过共享文件夹通过9pfs实现,数据传输效率高,但是不适合做视频数据流的存储传输。2.3 tcp socket通信虚拟机和服务器通过网络socket传输数据,数据传输效率低,数据传输延时较高,不适合实效性高的视频流场景。2.4共享内存方案:在服务器上申请一块内存...
2021-12-31 10:14:39
1260
原创 C语言-用单链表实现集合
#include <stdio.h>#include <stdlib.h>#include <string.h>//单链表结构体表示集合settypedef struct Link { char *data; struct Link *next;} set;//带头节点的单链表set *initSet(){ set *p; if((p = (set *)malloc(sizeof(set))) == NULL) { .
2021-10-14 17:50:47
1538
原创 多显卡透传提示43错误分析
问题服务器上插入两张nvidia显卡,进行透传,只有一张显卡能够透传,另外一张能透传进虚拟机,但是安装驱动后不能正常使用,提示43错误。分析两个虚拟机的配置xml都是一样的,都执行了unbind操作a.首先在两个虚拟机中交换显卡透传,还是只有那一张显卡不能透传b.服务器内核日志没有信息输出,windows虚拟机内也是只有43现象c.怀疑是这块显卡被服务器系统使用了排查通过命令查看:# lspci | grep VGA03:00.0 VGA compatible co...
2021-09-30 14:31:35
2732
原创 Linux内核开启kdump
Index of /7/x86_64ulimit设置# ulimit -c 输出 0 表示没有开启 输出 unlimited 表示开启//将这个加到 /etc/profile 或者 /etc/rc.d/rc.local 中# ulimit -c unlimited修改启动项[root@localhost ~]# cat /etc/default/grub GRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /
2021-09-16 11:01:59
2444
原创 云游戏商业模式探索
1. 概念 2. 市场现状分析 2.1 新模式和老游戏模式 2.2 目前的方案 2.3 目前存在的痛点 3. 技术方向 3.1 端游 3.2 手游 3.3 技术门槛 云端游:成本较高,门槛较低,虚拟化方案成熟; 云手游:如果使用手机板卡方案,利旧及后期维护成本较高,用虚拟化方案(虚拟机/容器)的技术门槛很高,目前国内还没有综合很好的方案; 4. 制定战略 结合自身优势定战略方向 4.1 硬件优势 4.2 软...
2021-09-15 16:01:08
158424
1
原创 Android In The Cloud
The Forecast It is evident that computing platforms are currently undergoing a period of upheaval. The wide adoption of mobile platforms, the decline of the previously dominant PC systems, and the recent rise in the use of ChromeOS platforms have bee..
2021-09-13 18:37:06
211
原创 vdsm-client接口编写
python2/3>>> import yajsonrpc>>> from yajsonrpc import stomp>>> from yajsonrpc import stompclient>>> import uuidclient = stompclient.SimpleClient('192.168.244.145', 54321, True, incoming_heartbeat=stomp.DEFAULT_
2021-03-23 15:25:36
385
原创 虚拟机快照的奇招
创建虚拟机# /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
242
原创 spice部分问题
在https://spice-space.org/的官方资料中,提到SPICE会自动识别终端的处理能力,对于有能力的终端,会传输QXL命令而不是渲染好的图形,但根据demo的效果和源码的阅读,似乎并没有发现这个能力,请问可能是哪里的配置不对吗?这个功能具体对应spice server的那部分呢?>>>现在的代码是会有服务端根据终端的能力来做一些提前做一些动作,但是qxl指令流的应该是没有的;===就是说Server端直接向Client的绘图命令传递看来是不存在的对吗?即使是系统窗口之类
2021-02-27 10:30:21
1361
14
centos7下的flashcache的RPM包
2018-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人