10.2. 故障排除窍门
您可以参考以下故障排除信息。
预升级阶段
- 确认您的系统满足规划升级中列出的所有条件。
-
请确定您遵循了 准备升级 中描述的所有步骤,例如:您的系统没有使用多个网络接口卡(NIC),它们的名称基于内核使用的前缀(
eth
)。 确保您已回答了
/var/log/leapp/answerfile
文件中Leapp
所需的所有问题。如果缺少回答,Leapp
会阻止升级。问题示例:- 在 PAM 配置中禁用 pam_pkcs11 模块?
- 在 PAM 配置中禁用 pam_krb5 模块?
- 使用以下 authselect 调用来配置 PAM 和 nsswitch.conf?
-
请确定您解决了在预升级报告(位于
/var/log/leapp/leapp-report.txt
)中发现的所有问题。您也可以使用 web 控制台来达到此目的,如评估可升级性并通过 web 控制台应用自动化修复 中所述。
例 10.1. Leapp answerfile
以下是一个未编辑的 /var/log/leapp/answerfile
文件,它有一个未回答的问题:
[remove_pam_pkcs11_module_check] # Title: None # Reason: Confirmation # =================== remove_pam_pkcs11_module_check.confirm ================== # Label: Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted. # Description: PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD. # Type: bool # Default: None # Available choices: True/False # Unanswered question. Uncomment the following line with your answer # confirm =
Label
字段指定需要回答的问题。在这个示例中,问题是 Disable pam_pkcs11 module in PAM configuration?
要回答这个问题,请取消对 confirm
行的注释并输入 True
或 False
作为回答。在本例中,所选答案为 True
:
[remove_pam_pkcs11_module_check]
...
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
confirm = True
下载阶段
如果在下载 RPM 软件包时出现问题,请检查位于
/var/log/leapp/dnf-debugdata/
目录的事务调试数据。注意如果没有生成事务调试数据,
/var/log/leapp/dnf-debugdata/
目录为空,则不存在。当所需的软件仓库不可用时,会出现这种情况。
initramfs 阶段
在此阶段,潜在的故障会进入 Dracut shell。检查 Journal 日志:
# journalctl
或者,使用
reboot
命令从 Dracut shell 重启系统,并检查/var/log/leapp/leapp-upgrade.log
文件。
升级后阶段
- 如果您的系统看上去成功升级,但是使用旧的 RHEL 7 内核引导,重启系统并检查 GRUB 中默认条目的内核版本。
- 确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤。
如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确,请使用 ausearch, journalctl, 或 dmesg 检查拒绝:
# ausearch -m AVC,USER_AVC -ts boot # journalctl -t setroubleshoot # dmesg | grep -i -e selinux -e type=1400
最常见的问题是由错误的标记造成的。更多详情请参阅SELinux 故障排除。