李天琦
相互学习,相互交流!
展开
-
libvirt设置虚拟机mtu实现原理
本文分析了云计算场景下虚拟机(VM)动态调整MTU的网络性能优化机制。重点探讨了libvirt解析XML配置、QEMU传递host_mtu参数、以及虚拟机内部virtio驱动读取配置的协作流程。libvirt仅支持五种网络模式(如bridge、vhost-user)的MTU设置,通过XML校验后传递给QEMU。QEMU通过VIRTIO_NET_F_MTU特性协商,将MTU写入virtio-net配置空间,最终由虚拟机驱动读取并设置到网络接口。原创 2025-05-27 23:25:58 · 97 阅读 · 0 评论 -
Linux上如何分析进程内存分配,优化进程内存占用大小
linux服务器上如何分析进程内存分布,优化进程占用内存大小原创 2024-07-31 18:15:17 · 289 阅读 · 0 评论 -
磁盘raid1故障降级后,mddev磁盘类型降级rota=1
磁盘raid降级,影响磁盘类型rotational原创 2024-01-16 00:47:04 · 529 阅读 · 0 评论 -
libvirt报错排障指南
*背景:**这里笔者收归纳了,云场景下,libvirt常见报错定位思路及临时规避方案。原创 2023-12-23 22:30:35 · 1156 阅读 · 0 评论 -
CONFIG_SCSI_SMARTPQI内核配置项
CONFIG_SCSI_SMARTPQI内核配置项原创 2023-12-22 14:32:37 · 944 阅读 · 0 评论 -
虚拟机本地磁盘在线扩容
虚拟机本地盘在线扩容方案设计原创 2023-11-06 00:15:56 · 250 阅读 · 0 评论 -
linux服务器slab缓存回收方案设计
如何通过内核驱动去释放服务器上slab内存原创 2023-09-14 15:47:38 · 483 阅读 · 0 评论 -
信创环境 Phytium S2500 虚拟机最大内存规格测试
信创环境Phytium S2500 虚拟机最大内存规格测试原创 2023-09-03 00:39:50 · 543 阅读 · 0 评论 -
linux kernel函数text_poke_bp
kernel text_poke_bp函数实践原创 2023-07-13 12:21:02 · 485 阅读 · 0 评论 -
Linux 系统如何找到唤醒某个进程的源头
Linux 系统如何找到唤醒某个进程的源头原创 2023-06-09 11:43:06 · 956 阅读 · 0 评论 -
进程状态说明
在进程对某些硬件进行操作时(比如进程调用read系统调用对某个设备文件进行读操作,而read系统调用最终执行到对应设备驱动的代码,并与对应的物理设备进行交互),可能需要使用task_uninterruptible状态对进程进行保护,以避免进程与设备交互的过程被打断,造成设备陷入不可控的状态。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中)。1号进程,pid为1的进程,又称init进程。转载 2023-04-19 22:17:50 · 345 阅读 · 0 评论 -
centos/redhat kernel-debug-info-xx.rpm与kernel-debuginfo-xx.rpm区别
crash调试vmcore原创 2023-04-19 22:02:58 · 593 阅读 · 0 评论 -
Linux内核 RPS/RFS功能详细测试分析
Linux内核 RPS/RFS功能详细测试分析转载 2023-04-18 11:03:28 · 865 阅读 · 0 评论 -
如何快速查看进程/子线程堆栈
如何快速查看进程/子进程堆栈原创 2022-11-28 12:11:18 · 5919 阅读 · 0 评论 -
虚拟机启动报错:ERROR:qom/object.c:358:object_initialize_with_type: assertion failed: (type != NULL)
qemu coredump调试原创 2022-11-10 22:41:47 · 772 阅读 · 1 评论 -
libvirtd报错:virNetServerAddClient:271 : Too many active clients
libvirt报错原创 2022-10-08 11:21:12 · 200 阅读 · 0 评论 -
qemu block_resize原理分析
qemu block_resize代码分析原创 2022-07-31 18:24:49 · 575 阅读 · 3 评论 -
如何在linux环境下打开xlsx文件
linux环境通过安装python3-openpyxl模块,操作xlsx文件#!/usr/bin/env python# -*- coding: utf-8 -*-from openpyxl import load_workbookimport sys #获取所有表格(worksheet)的名字sheets = wb.get_sheet_names()#第一个表格的名称sheet_first = sheets[0]#获取特定的worksheetws = wb.get_sheet_by_原创 2022-04-18 23:00:42 · 5519 阅读 · 0 评论 -
os安全漏洞手动修复方案
本次方案设计主要针对手动安装部署漏洞修复包,方案主要思路提供一个shell脚本,该脚本支持本地漏洞rpm包的checklist、install,rollback。一、漏洞修复软件包目录结构:install.sh、README、rpm、rpmlist.conf。1、install.sh 是漏洞修复的主体文件,脚本中主要涉及rpm的升级安装、卸载、检查、日志文件的输出;2、rpm目录包含漏洞修复rpm包的源文件;3、rpmslist.conf文件记录rpm包去掉rpm后缀的...原创 2022-01-11 22:48:16 · 2558 阅读 · 0 评论 -
如何确认正在运行虚拟机的qemu版本
如何确认“正在运行vm的qemu版本”,尤其是发行的小版本?这个问题乍一听特别简单?可以确认的办法有N种?ps「x86架构」:virsh version直接可以确认libvirt、qemu的发型版本,但是问题是:如果没有安装libvirt或者libvirtd hung住了,该方法失效,就算libvirtd正常,这种方法不能获取qemu小版本号查看qemu安装rpmrpm -qa | grep qemu这种方法可以查看qemu所有的发行信息,但是问题是:1.qemu不是rpm原创 2022-01-08 15:10:38 · 8663 阅读 · 3 评论 -
rpm /yum 安装包卡住(loading keyring from rpmdb )
最近在搞基于centos7.6定制专属iso,iso制作可以参考博客https://blog.youkuaiyun.com/qq_28693567/article/details/117265103原创 2021-08-20 11:35:16 · 1610 阅读 · 1 评论 -
libvirt中使用nodeinfo cmd获取 CPU socket(s)是否准确?
libvirt nodeinfo cmd 获取node信息:从图片中可以看出node中CPU socket(s)是1,我们再使用lscpu查看一下,奇迹发生了:Socket(s)竟然为2,难道libvirt nodeinfo 统计出错了,不可能,不可能,但是这里解释不通,CPU总数,NUMA cell等信息统计的都没有问题,为什么CPU socket(s)统计的不对,难道是我理解的不对,欢迎给大侠给出合理的解释。...原创 2021-06-25 15:15:30 · 305 阅读 · 2 评论 -
如何构建自己的rpm包
最近在搞基于centos7.6定制专属iso,iso制作可以参考博客https://blog.youkuaiyun.com/qq_28693567/article/details/117265103原创 2021-06-23 21:17:15 · 385 阅读 · 0 评论 -
关于基于centos7定制iso后,os安装出现dracut: /dev/root does not exist解决办法
关于基于centos7定制iso后,os安装出现dracut: /dev/root does not exist解决办法最近在搞基于centos7.6定制专属iso,iso制作可以参考上一篇博客如何基于centos定制自己的iso_木简熙的博客-优快云博客,启动iso安装os报错:dracut: /dev/root does not exist,出现该问题,自己制作iso导致系统找不见/dev/root目录,需要手动重新加载一下磁盘引导目录。选中Install Centos 7转存失败重新.原创 2021-06-02 21:12:02 · 1952 阅读 · 0 评论 -
linux环境下,制作补丁及实施补丁
磐云云平台补丁实施补丁工具包安装patch 工具包patch rpm包版本根据实际情况选取,以能在环境中安装成功,patch命令正常运行为准。patch cmd验证patch -v补丁cmd运行环境准备完毕。补丁制作使用diff命令对比文件diff -逐行比较文件格式diff 参数 旧文件/旧文件夹 新文件/新文件夹-N 将不存在的文件看作是空的-a 将所有文件都视为文本文件-u 以合并的...原创 2021-05-28 23:53:36 · 395 阅读 · 0 评论 -
如何基于centos定制自己的iso
如何基于centos定制自己的iso 由于centos可以白嫖,国内许多ICT企业一般会基于centos官网某个版本iso进行修改:定制引导界面、定制图标和文字、定制安装流程、定制iso中Package rpm包的安装数量,根据自己的业务需要增量添加或者剔除rpm,满足定制化需求,然后发布自己release文件,供企业使用。一、iso文件目录介绍 使用阿里源下载iso,通mount挂载查看iso目录 Packages目录:包含安装所需的所有二进制RPM包...原创 2021-05-25 21:44:14 · 1852 阅读 · 1 评论 -
云主机热迁移成功后,浮动ip绑定失败,虚拟化层解决方案
虚拟机-->迁移完成-->调用libvirt api-->qga-->vm-->重启网络服务-->获取浮动ip原创 2021-04-07 00:32:46 · 457 阅读 · 0 评论 -
php上传文件失败解决方式
在apache配置文件中设置php上传临时目录在服务器上配置webmail(比如我最喜欢的SquirrelMail)时,出于服务器安全考虑,一般在apache配置文件中作php_admin_value open_basedir 的限制,防止php程序浏览整个硬盘,这个限制在使用虚拟主机的服务器上使用的更多。然而这个安全措施带来一个隐含的限制,就是php的上传临时目录(默认为转载 2017-03-03 15:01:23 · 2658 阅读 · 0 评论 -
移植appweb-3.3.2
嵌入式移植步骤:1.下载压缩包2.修改编译环境的环境变量3.解压压缩包4.配置5.编译6.安装(以上六步都在宿主机上完成)7.将宿主机上交叉编译好的目标文件放置到目标机相应的文件下(该步在目标机上完成) 一.修改环境变量:在终端输入以下命令:Export CC=arm-linux-gcc、Export AR=arm-linux-ar、Export原创 2016-04-24 20:54:36 · 2596 阅读 · 0 评论 -
有关移动物体监控系统--------bug挡道motion无法正常运行
相信看到我这篇文章的童鞋,肯定浏览过我的移动物体监控系统设计与开发的博客了,并且按照我的博客上的内容已经动手开始移植madplay,motion了,当你满是欢喜,大展身手准备在arm开发板上运行你的motion,感觉满满的成就感的时候,咔,开发板上外接耳机并没有响起熟悉的旋律,固定路径下并没有图片和视频,然而你的motion并没有跑起来,此刻,相信大多数人,可能有点小小的失落,哈哈,谁叫之前太顺利原创 2016-05-05 22:21:20 · 1229 阅读 · 2 评论 -
移动物体监控系统的设计与开发完整版
最近打算在tiny6410开发板上做一个小的项目练练手,思索再三,决定做一个移动图像监控系统。该系统主要分两部分,一部分是usb摄像头捕捉到移动图像,系统发出声音报警提示,并将采集到的图像/视频保存在指定路径(tiny6410中web服务器指定的位置);另一部分是在局域网/公网环境(我这里采用局域网)下,tiny6410开发板与pc端/智能终端建立网络连接,通过pc端/智能终端访问之前采集的图片/原创 2016-04-29 11:30:09 · 3957 阅读 · 0 评论 -
移动物体监控系统
最近打算在tiny6410开发板做一个小的项目练练手,思索再三,决定做一个移动图像监控系统,该系统由usb摄像头,tiny6410开发板,无线网卡,sd卡硬件构成,软件由监控主程序,usb摄像头捕获视频所需库文件和报警子系统-音频播放器主程序 及播放器所需库文件构成。下面罗列所需的源文件:1.motion-3.2.12.tar.gz(监控主程序)2. ffmpeg-原创 2016-04-29 10:48:01 · 1473 阅读 · 0 评论 -
创建一个播客或视频需要包括适当的mime类型,下面是显示常用的的格式
最近在搭建appweb,准备在服务器上放一些MP4格式的视频。翻译 2016-04-25 14:59:54 · 490 阅读 · 0 评论