当前位置: 首页 > news >正文

上海建设工程安全监理网站海南网站建设哪家好

上海建设工程安全监理网站,海南网站建设哪家好,巨量数据官网,出入库管理系统软件在虚拟化环境中,实时获取虚拟机内核日志对于系统管理员和开发者来说至关重要。传统的 dmesg 工具可以方便地查看本地系统的内核日志,但在KVM(基于内核的虚拟机)环境下,获取虚拟机内部的内核日志则复杂得多。为了简化这…

在虚拟化环境中,实时获取虚拟机内核日志对于系统管理员和开发者来说至关重要。传统的 dmesg 工具可以方便地查看本地系统的内核日志,但在KVM(基于内核的虚拟机)环境下,获取虚拟机内部的内核日志则复杂得多。为了简化这一过程,kvm-dmesg 应运而生——这是一款专为KVM虚拟化环境设计的工具,它使得我们能够直接从宿主机获取虚拟机(Guest VM)的内核日志,极大地方便了调试和排错工作。

1. 介绍

kvm-dmesg 是一个专门用于从KVM虚拟机中提取内核日志的工具。它提供了与传统的 dmesg 工具类似的功能,但其最大的亮点在于可以跨越虚拟化边界,直接从宿主机获取虚拟机内核的日志信息。

2. 主要功能

kvm-dmesg 可以从KVM虚拟机中获取内核日志,帮助管理员或开发者快速访问虚拟机的内核输出,尤其在调试和排查问题时,能够直观地获取虚拟机的dmesg日志。

支持两种连接方式
为了适应不同的使用场景,kvm-dmesg 提供了两种不同的连接方式:

  • libvirt 接口
    如果虚拟机是通过 libvirt 管理的,kvm-dmesg 可以通过 libvirt 来与虚拟机进行通信,并输出其内核日志。
  • QMP 套接字
    如果虚拟机对外暴露有QMP套接字,可以通过 QEMU Monitor Protocol(QMP)直接与虚拟机进行连接,并获取日志。

仅支持 x86_64 Linux 虚拟机
当前版本的 kvm-dmesg 仅支持 x86_64 架构的 Linux 虚拟机,对于其他架构的支持可能会在未来版本中考虑。

依赖 System.map 符号表
为了将虚拟机内核日志中的地址信息映射为可读的符号,kvm-dmesg 需要访问虚拟机的 System.map 符号表。该符号表包含了内核的符号信息,可以将内核日志中的地址转换为具体的符号和函数名称,从而更加高效。

3. 实现原理

linux内核中log_buf定义如下:

// printk.c
#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
static char *log_buf = __log_buf;
static u32 log_buf_len = __LOG_BUF_LEN;

实现过程如图所示,主要是通过qemu获取guest的CR3寄存器的值,然后经过页表转换,获取到log_buf指针指向的地址,取出内核环形缓冲区中的内存数据并解析成dmesg日志。
在这里插入图片描述

4. 使用方法

使用 kvm-dmesg 获取虚拟机内核日志的过程非常简单。以下是两种主要的连接方式:

1. 使用 libvirt 接口获取日志

./kvm-dmesg <domain_name> <system.map_path>

2. 使用 QMP 套接字获取日志

./kvm-dmesg <socket_path> <system.map_path>

以QMP为例,具体使用方法如下:

$ ./kvm-dmesg /tmp/qmp.sock System.map-5.15.171[    0.000000] Linux version 5.15.171 (rayylee@ubuntu-dev) (gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #1 SMP Tue Nov 12 14:44:05 UTC 2024
[    0.000000] Command line: console=ttyS0
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001ffdffff] usable
[    0.000000] BIOS-e820: [mem 0x000000001ffe0000-0x000000001fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 3194.022 MHz processor
[    0.000569] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000571] e820: remove [mem 0x000a0000-0x000fffff] usable
...

工具地址:https://github.com/rayylee/kvm-dmesg

http://www.yayakq.cn/news/181412/

相关文章:

  • 南宁网站建设业务员手机建站永久免费软件
  • 大连做网站绍兴厂商网站空间 流量
  • 泰国做网站金华网站建设系统
  • 苏州知名网站建设设计公司高端企业建站公司
  • 会议专题网站建设报价单网站建设创业经历
  • 市桥有经验的网站建设福建住房和城建设网站
  • 北京网站关键词优化公旅游网站设计源代码
  • 百度如何把网站做链接百讯网站建设
  • 手机网站 图片自适应wordpress msn登陆
  • 怎么做专门卖二手衣服的网站免费地方网站
  • 网站建设需求登记表 免费下载黄岩建设局台州网站建设
  • 门户网站建设思维导图一个网站开发流程图
  • 企业网站服务器多少钱app网站建设需要什么软件
  • 网站如何做直播轮播威海建设集团网站
  • 精美网站建设公司国外可以做推广的网站
  • 免费推广网站2023重庆未来科技网站建设
  • 网站开发完整视频做百度百科的网站
  • 国外网站建设什么价格红酒公司网站建设模板6841
  • 网站升级方案重庆网络营销
  • 上海网站制作衫网上购物商城网站建设
  • 男女怎样做那个视频网站深圳十大装饰公司名单
  • 网站开发页面怎么进wordpress磁力链插件
  • 做引流网站怎么赚钱赚谁的钱找代写文章写手
  • 网站 视觉上wordpress的tag转数字链接
  • 营销型网站跟云网站杭州网络科技公司有哪些
  • ppt那个网站做的好在网上做翻译的网站
  • 手机英语网站跨境电商开店流程及费用
  • seo网站沙盒期google在线网页代理
  • 广东住房与城乡建设厅网站焦作网站建设设计
  • 龙华做棋牌网站建设哪家公司便宜做封面哪个网站好