• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

cas虚拟机日志文件里,只有重启前的日志了,为什么?

2025-08-18提问
  • 0关注
  • 1收藏,145浏览
粉丝:1人 关注:0人

问题描述:

如题,/var/log/libvirt/qemu目录下的虚拟机日志文件,没有虚拟机重启前的日志了,为什么?还是说在哪个备份目录里放着?

2 个回答
粉丝:69人 关注:20人

虚拟机重启前是不是在其他主机上的,查一下对应主机的这个日志

暂无评论

粉丝:9人 关注:0人

一、根本原因​

  1. 1.

    ​默认日志轮转机制​

    Linux系统通过 logrotate服务定期压缩、归档或删除旧日志。

    • ​配置文件路径​​: /etc/logrotate.d/libvirt-qemu或 /etc/logrotate.d/libvirt

    • ​轮转规则​​:

      • 日志超过一定大小或每天轮转一次。

      • 保留固定数量(如保留最近4个日志),超出部分自动删除。

  2. 2.

    ​虚拟机配置限制日志​

    在虚拟机XML配置中,日志可能被限制为 ​​仅保留当前会话​​:

    <domain type='kvm'> ... <qemu:commandline> <qemu:arg value='-D'/> <qemu:arg value='/tmp/vm-log.xml'/> <!-- 非持久路径 --> </qemu:commandline> </domain>
    • 若日志指向 ​​临时目录(如 /tmp)​​,重启后日志会被清空。

  3. 3.

    ​syslog/rsyslog 接管​

    系统可能将虚拟机日志重定向到 syslog:

    • 检查 /etc/libvirt/qemu.conf

      # 是否启用 syslog 或 journald log_outputs = "1:file:/var/log/libvirt/qemu/%vm%.log" # 默认本地存储 # 若配置为 syslog,日志会进入 /var/log/messages 或 /var/log/syslog

​二、找回丢失日志的方法​

1. ​​检查 logrotate 归档文件​

轮转后的日志通常以 .1.gz或日期后缀形式存在:

ls /var/log/libvirt/qemu/*.log.* # 查看压缩/归档文件 # 示例: # - /var/log/libvirt/qemu/vm1.log.1 # - /var/log/libvirt/qemu/vm1.log-20231015.gz
  • 使用 zcat或 gzip -d解压查看。

2. ​​检查 Systemd Journal 日志 (Journald)​

若日志被重定向到 systemd:

journalctl -u libvirtd # libvirt主服务日志 journalctl _COMM=qemu-system # 所有QEMU进程日志 journalctl -b -1 # 上一次启动的日志(关键!)

3. ​​CAS虚拟机专属路径​

​CAS(H3C Cloud Automation System)​​ 的日志可能独立存储:

  • ​默认路径​​: /var/log/cas/virtualization/qemu/

  • ​按虚拟机ID查找​​:

    find /var/log/cas/ -name "*<虚拟机ID>*"

​三、永久保留日志的配置​

▶ ​​1. 禁用 logrotate 自动删除​

修改 /etc/logrotate.d/libvirt-qemu,增加保留数量或大小限制:

/var/log/libvirt/qemu/*.log { daily missingok rotate 30 # 保留30个历史日志(默认4) compress delaycompress sharedscripts postrotate /bin/kill -HUP `cat /var/run/libvirtd.pid 2> /dev/null` 2> /dev/null || true endscript }
  • 执行 logrotate -f /etc/logrotate.conf立即生效。

▶ ​​2. 配置虚拟机持久化日志​

在虚拟机XML中添加固定日志路径:

<domain type='kvm'> ... <devices> <serial type='file'> <source path='/var/log/libvirt/qemu/vm-name.log'/> <!-- 持久路径 --> </serial> </devices> </domain>

▶ ​​3. 重定向日志到 Syslog​

修改 /etc/libvirt/qemu.conf

log_outputs = "1:syslog:qemu" # 发送到 syslog 并标记为 "qemu"
  • Syslog 会集中存储日志至 /var/log/syslog


​四、紧急恢复方案​

若日志已被删除,尝试从 ​​系统备份​​ 或 ​​磁盘恢复​​:

# 1. 使用 extundelete 恢复被删文件(ext4文件系统) extundelete /dev/sdaX --restore-file /var/log/libvirt/qemu/vm-name.log # 2. 检查是否有历史备份 find /var/lib/libvirt/backup/ -name "*qemu*log*"

​总结​

​场景​

日志位置

默认状态

/var/log/libvirt/qemu/<vm>.log

轮转后

同目录下带 .gz或数字后缀的文件

使用 syslog

/var/log/syslog或 /var/log/messages

使用 journald

journalctl -u libvirtd

​CAS虚拟机​

/var/log/cas/virtualization/

​提示​​:配置修改后需重启 libvirtd服务:

systemctl restart libvirtd

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明