Loading [MathJax]/extensions/Safe.js

#799 Acronis Linux Products: 收集Linux中Acronis服务的Strace日志

 知识库默认   故障排查  [公开]
icon佟裕在 2022-7-26 下午2:20 编写
  编辑(登录)
  收藏
  响应调查   响应调查

  主题

介绍

当应用程序异常退出或导致应用程序挂起时,应该收集 strace,它在解决 Linux 系统上的各种问题时也很有用。
如果系统处于活动状态但 Acronis 软件不执行任何操作或挂起,strace 可以帮助查明问题的原因。
如果应用程序崩溃或系统死机,strace 很少有用。在这种情况下,请按照故障排除应用程序崩溃中的故障排除说明进行操作。

解决方法

Strace

Strace 输出文件包含程序在运行时使用的系统调用。
要收集 strace,必须在系统中安装 strace 包。在大多数情况下,它是预先安装的。如果没有安装,可以通过以下方式安装(root下):

Acronis Managed Machine Service

获取正在运行的 MMS 服务的 strace 信息:
1.使用ps工具获取运行MMS服务的PID
2.使用以下命令开始跟踪MMS:

strace -o /tmp/mms2.strace -fF -ttt -p <PID>

其中是步骤1获得的MMS服务的PID
3.重现问题(例如开始备份)
4.重现问题后,在终端中按 Ctrl+C 以结束 strace

在某些情况下,可能需要从 MMS 启动收集 strace 日志(例如,如果 MMS 服务在启动时失败或磁盘检测不正确)。在这种情况下,请遵循以下说明:
1.停止MMS服务:

sudo service acronis_mms stop

2.使用以下命令启动 strace:

#strace -o /tmp/mms.strace -fF -ttt /usr/sbin/acronis_mms

它将从 MMS 二进制文件创建一个输出文件 mms.strace
3.如果 MMS 崩溃或意外终止,strace 日志记录将在 MMS 停止时自动停止。否则,在重现问题后按 Ctrl+C 终止 strace

Acronis Management Console

通过发出以下命令直接 Strace 管理控制台二进制文件:

#strace -o /tmp/console.strace -fF -ttt /usr/lib/Acronis/BackupAndRecoveryConsole/ManagementConsole

Service Process

请注意,由于服务进程的 strace 是使用 MMS strace 自动收集的。仅当特别需要此进程的单独 strace 时才应收集服务进程 strace(在大多数情况下,MMS strace 就足够了)

打开 /usr/lib/Acronis/BackupAndRecovery/service_process 进行编辑和更改此块:

else
  export LD_LIBRARY_PATH
  exec $WRAPPER /usr/lib/Acronis/BackupAndRecovery/service_process-bin "$@"
fi

改为

else
  export LD_LIBRARY_PATH
  exec $WRAPPER strace -o /tmp/service_process.$$.strace -fF -ttt /usr/lib/Acronis/BackupAndRecovery/service_process-bin "$@" > /tmp/service_process.$$ 2>&1
fi

它将在 /tmp/service_process/* 目录中创建一个 strace 日志

开始备份,当问题重现时,将生成的文件发送给开发团队

收集 strace 日志文件后恢复所有更改

Acronis Bootable Media (Linux based)

首先,您应该在命令行中引导媒体而不启动 Acronis 产品。要在 Acronis 启动选择上执行此操作,请按 F11 并删除该词。
开始引导,媒体将带您进入命令行。
当媒体在 RAM 中运行时,连接 USB 闪存驱动器或网络共享。
将它们安装在本地,例如 USB 闪存驱动器:

#fdisk -l

Device Boot Start End Blocks Id System
/dev/sdb1 1 64 480000000 83 Linux

#mkdir /tmp/dongle

#mount -t auto /dev/sdb1 /tmp/dongle

现在您可以对产品进行 strace 并将其输出转发到我们创建的挂载点。另外,请记住 FAT32 文件大小限制为 4 GB。如果可能,您可以使用 ext4 FS 格式化您的 USB 驱动器。

#strace -o /tmp/dongle/mms.strace -fF /bin/product

在关闭或重新启动机器或使用以下命令卸载驱动器之前,请勿移除 USB 驱动器:

#umount /tmp/dongle

Virtual Appliance

clip-20220726130624.png对于备份Appliance (All-In-One appliance),使用与 Linux 相同的步骤,不要遵循Virtual Appliance的步骤。
记下 Virtual Appliance 的 IP 地址,按 CTRL+SHIFT+ALT+SPACE+F2 进入文本控制台并启动 SSH 守护进程

#/bin/sshd

使用 WinSCP 连接到 Virtual Appliance 并将 /bin/service_process 重命名为 /bin/service_process.bin
下载 service_process.zip,解压压缩包,将文件 service_process 复制到 /bin/
在 WinSCP 中,转到 Commands -> Open Terminal 并运行以下命令

#chmod +x /bin/service_process

重现问题并从 /tmp/root 收集 strace,把原来的 /bin/service_process 放到原位置。

更多内容:Acronis Linux Products:在 Linux 和 MacOS 中收集 Asamba 日志


原文链接:https://kb.acronis.com/straceoutput

 附加文件     - [1]


 添加评论