第 2 章收集用于支持的系统信息

目录

2.1. 使用 Supportconfig 收集系统信息
2.2. 将信息提交到全球技术支持
2.3. 内核模块支持
2.4. 更多信息

摘要

出现问题时,可以使用 supportconfig 命令行工具或 YaST 支持模块创建详细的系统报告。这两种方法都会收集系统的相关信息,包括当前内核版本、硬件、已安装包、分区设置及其他信息。最后会生成一个包含多个文件的 TAR 存档。在建立服务请求 (SR) 后,您可以将该 TAR 存档上载至全球技术支持。该存档有助于跟踪您所报告的问题,并可以帮助您解决问题。

该命令行工具由默认安装的包 supportutils 提供。YaST 的支持模块基于该命令行工具运行。

2.1. 使用 Supportconfig 收集系统信息

要创建包含详细系统信息的 TAR 存档以提交给全球技术支持,请直接使用 supportconfig 命令行工具,或者使用 YaST 支持模块。该命令行工具由默认安装的包 supportutils 提供。YaST 支持模块也基于该命令行工具。

2.1.1. 创建服务请求编号

系统随时都可以生成 Supportconfig 存档。但是,要将 supportconfig 数据提交给全球技术支持,首先需要生成一个服务请求编号。上载存档以获取支持时,您需要使用此编号。

要创建服务请求,请访问 http://www.novell.com/center/eservice 并遵照屏幕上的说明操作。写下您的 11 位服务请求编号。

[Note]隐私声明

SUSE 和 Novell 将系统报告视为机密数据。有关我们在隐私方面所做承诺的详细信息,请参见 http://www.novell.com/company/legal/privacy/

2.1.2. 上载目标

在创建服务请求编号后,可以根据过程 2.1, “使用 YaST 向支持部门提交信息”过程 2.2, “从命令行向支持部门提交信息”中所述将 supportconfig 存档上载到全球技术支持。使用下列上载目标之一:

或者,可以使用以下服务请求 URL 手动将该 TAR 存档附加到您的服务请求:http://www.novell.com/center/eservice

2.1.3. 使用 YaST 创建 Supportconfig 存档

要使用 YaST 收集系统信息,请按如下所述操作:

  1. 启动 YaST 并打开支持模块。

  2. 单击创建报告 tarball

  3. 在随后出现的窗口中,从单选按钮列表中选择一个 supportconfig 选项。系统默认会预先选择使用自定义(专家)设置。如果要先测试报告功能,请使用仅收集最少量的信息。有关其他选项的某些背景信息,请参考 supportconfig 手册页。

    下一步继续。

  4. 输入您的联系信息。该信息将写入名为 basic-environment.txt 的文件,并包含在要创建的存档中。

  5. 如果要在结束信息收集过程时将存档提交到全球技术支持,则需要指定上载信息。YaST 会自动推荐一个上载服务器。如果要修改该服务器,请参考第 2.1.2 节 “上载目标”,以详细了解可以使用哪些上载服务器。

    如果希望稍后提交存档,则可以暂时将上载信息留空。

  6. 下一步继续。

  7. 开始收集信息。

    该过程完成后,按下一步继续。

  8. 检查数据收集:选择日志文件的文件名可以在 YaST 中查看其内容。在将 TAR 存档提交到支持部门之前,如果要去除您不希望包含在该存档中的文件,请使用从数据中去除。按下一步继续。

  9. 保存该 TAR 存档。如果您以 root 用户身份启动了 YaST 模块,则默认情况下,YaST 会建议将该存档保存到 /var/log(否则将保存到您的主目录)。文件名格式为 nts_主机_日期_时间.tbz

  10. 如果要直接将该存档上载到支持部门,请确保将日志文件 tarball 上载到 URL 已激活。此处显示的上载目标步骤 5 中 YaST 建议的上载目标。如果要修改上载目标,请在 第 2.1.2 节 “上载目标” 中查找有关哪些上载服务器可用的详细信息。

  11. 如果要跳过上载步骤,请停用将日志文件 tarball 上载到 URL

  12. 确认更改以关闭 YaST 模块。

2.1.4. 从命令行创建 Supportconfig 存档

以下过程显示了如何创建 supportconfig 存档但不将它直接提交到支持部门。要上载该存档,需要根据过程 2.2, “从命令行向支持部门提交信息”中所述,结合某些选项运行命令。

  1. 打开外壳并转换为 root 用户。

  2. 运行 supportconfig,不使用任何选项。这会收集默认的系统信息。

  3. 等待工具完成操作。

  4. 默认的存档位置为 /var/log,文件名格式为 nts_主机_日期_时间.tbz

2.1.5. 常用的 supportconfig 选项

supportconfig 实用程序在调用时通常不带任何选项。使用 supportconfig -h 显示所有选项的列表或参见手册页。下面的列表提供了某些常见用例的简述:

减少所收集信息的大小

使用最少量选项 (-m):

supportconfig -m
将信息限制为特定的主题

如果您已使用默认的 supportconfig 输出找到问题原因所在,并发现该问题只与特定的区域或功能集相关,则您在下一次运行 supportconfig 时,可以将收集的信息限制为特定的区域。例如,如果您检测到 LVM 出现问题并想要测试最近对 LVM 配置所做的更改,则合适的做法是只收集有关 LVM 的最少量 supportconfig 信息:

supportconfig -i LVM

要查看可用于将所收集信息限制为特定区域的功能关键字的完整列表,请运行

supportconfig -F
在输出中包含其他联系信息:
supportconfig -E tux@example.org -N "Tux Penguin" -O "Penguin Inc." ...

(在一行中输入所有命令)

收集已经过轮换的日志文件
supportconfig -l

在日志记录较多的环境下或当重引导后 syslog 轮换日志文件时发生内核崩溃的情况下,此项功能尤为有用。

2.2. 将信息提交到全球技术支持

可以使用 YaST 支持模块或 supportconfig 命令行实用程序向全球技术支持提交系统信息。如果您遇到服务器问题并想要获得支持人员的帮助,则首先需要建立一个服务请求。有关细节,请参见第 2.1.1 节 “创建服务请求编号”

以下示例使用 12345678901 作为服务请求编号的占位符。请将 12345678901 替换为您在第 2.1.1 节 “创建服务请求编号”中创建的服务请求编号。

过程 2.1. 使用 YaST 向支持部门提交信息

以下过程假设您已创建但尚未上载某个 supportconfig 存档。请确保已按第 2.1.3 节 “使用 YaST 创建 Supportconfig 存档”中的步骤 4 所述在存档中包含了您的联系信息。有关如何通过一个步骤生成并提交 supportconfig 存档的说明,请参见第 2.1.3 节 “使用 YaST 创建 Supportconfig 存档”

  1. 启动 YaST 并打开支持模块。

  2. 单击上载

  3. 有日志文件的包中,指定现有 supportconfig 存档的路径,或者单击浏览找到该存档。

  4. YaST 会自动推荐一个上载服务器。如果要修改该服务器,请参考第 2.1.2 节 “上载目标”,以详细了解可以使用哪些上载服务器。

    下一步继续。

  5. 单击完成

过程 2.2. 从命令行向支持部门提交信息

以下过程假设您已创建但尚未上载某个 supportconfig 存档。有关如何通过一个步骤生成并提交 supportconfig 存档的说明,请参见第 2.1.3 节 “使用 YaST 创建 Supportconfig 存档”

  1. 具有因特网连接的服务器:

    1. 要使用默认上载目标,请运行:

      supportconfig -ur 12345678901
    2. 对于安全上载目标,请使用以下命令:

      supportconfig -ar 12345678901
  2. 不具有因特网连接的服务器:

    1. 运行以下命令:

      supportconfig -r 12345678901
    2. /var/log/nts_SR12345678901*tbz 存档手动上载到我们的 FTP 服务器之一。要使用哪个服务器取决于您所在的位置。有关概览,请参见第 2.1.2 节 “上载目标”

  3. 将 TAR 存档上载到我们 FTP 服务器的接收目录后,它会自动附加到您的服务请求中。

2.3. 内核模块支持

对于任何企业操作系统,一个重要的要求就是您获得的环境方面的支持级别。内核模块是硬件(控制器)与操作系统之间关联最密切的连接器。SUSE Linux Enterprise 中的每个内核模块都有一个 supported 标志,该标志可使用以下三个值:

  • yes 相当于 supported

  • external,相当于 supported

  • (空白,未设置),相当于 unsupported

可以使用下列规则:

  • 默认情况下,自我重新编译内核的所有模块会标记为 unsupported。

  • SUSE 合作伙伴支持的内核模块以及使用 SUSE SolidDriver 程序提供的内核模块会标记为 external

  • 如果未设置 supported 标志,则装载此模块会污染该内核。系统不支持污染的内核。不支持的内核模块包含在一个附加的 RPM 包 (kernel-FLAVOR-extra) 中,默认不会装载到系统中 (FLAVOR=default||xen|...)。此外,安装程序中不会提供这些不支持的模块,并且 kernel-FLAVOR-extra 包也不会包含在 SUSE Linux Enterprise 媒体中。

  • 不是根据与 Linux 内核许可证兼容的许可证提供的内核模块也会污染内核。有关细节,请参见 /usr/src/linux/Documentation/sysctl/kernel.txt/proc/sys/kernel/tainted 的状态。

2.3.1. 技术背景

  • Linux 内核:在 SUSE Linux Enterprise 11 SP4上,/proc/sys/kernel/unsupported 的值默认设为 2装载不支持的模块时,syslog 中不发出警告)。安装程序以及已安装的系统中会使用此默认值。有关更多信息,请参见 /usr/src/linux/Documentation/sysctl/kernel.txt

  • modprobe:用于检查模块依赖性和装载模块的 modprobe 实用程序会相应地检查 supported 标志的值。如果该值为 yesexternal,则会装载该模块,否则不会。有关如何覆盖此行为的信息,请参见第 2.3.2 节 “使用不支持的模块”

    [Note]

    SUSE 一般不支持通过 modprobe -r 去除储存模块。

2.3.2. 使用不支持的模块

尽管广泛可支持性非常重要,但有时会发生需要装载不支持模块的情况(例如,要进行测试或调试,或者硬件供应商提供了热修复)。

  • 要覆盖默认行为,请编辑 /etc/modprobe.d/unsupported-modules.conf,将变量 allow_unsupported_modules 的值更改为 1。如果 initrd 中需要一个不支持的模块,请记得运行 mkinitrd 来更新 initrd。

    如果只想尝试装载模块一次,可将 --allow-unsupported-modules 选项与 modprobe 结合使用。有关更多信息,请参见 modprobe 手册页。

  • 在安装期间,可通过驱动程序更新磁盘添加不支持的模块,这样便会装载这些模块。要在引导过程中以及引导后强制装载不支持的模块,请使用内核命令行选项 oem-modules。安装和初始化 module-init-tools 包时,系统将评估内核标志 TAINT_NO_SUPPORT (/proc/sys/kernel/tainted)。如果内核已污染,将启用 allow_unsupported_modules。这可以防止不支持的模块在安装的系统中装载失败。如果安装期间没有任何不支持的模块并且未使用其他特殊的内核命令行选项 (oem-modules=1),则默认行为仍是禁止不支持的模块。

请记住,装载和运行不支持的模块会导致 SUSE 不支持该内核和整个系统。

2.4. 更多信息

请在以下文档中查找关于收集系统信息的更多信息:


SUSE Linux Enterprise Desktop 管理指南 11 SP4