本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
解决导致错误或故障的操作系统配置更改
对 Amazon ParallelCluster 节点进行操作系统配置更改时,可能会出现各种问题,这些问题可能会导致集群创建、更新或操作失败。本节提供有关识别和解决与操作系统配置相关的常见问题的指导。
常见的操作系统配置问题
区域配置问题
最常见的操作系统配置问题之一与区域设置有关。如果你看到如下错误:
cannot change locale (en_US.utf-8) because it has an invalid name
这通常发生在以下情况下:
-
yum
安装过程不成功,导致区域设置处于不一致状态 -
用户过早终止了安装过程
-
语言环境包丢失或损坏
如何诊断
-
检查是否可以切换到 pcluster-admin 用户:
$
su - pcluster-admin
如果你看到类似的错误
cannot change locale...no such file or directory
,这就证实了这个问题。 -
查看可用的地理位置:
$
localedef --list
如果返回一个空列表或不包含默认语言环境,则您的语言环境配置已损坏。
-
检查最后一个
yum
命令:$
yum history
$
yum history info #ID
如果最后 ID 不包含
Return-Code: Success
,则表明安装后脚本可能未成功运行。
如何解决
通过重新安装语言包来重建语言环境:
$
sudo yum reinstall glibc-all-langpacks
重建后,通过运行以下命令验证问题是否已修复:
$
su - pcluster-admin
如果未出现错误或警告,则问题已得到解决。
操作系统包冲突
安装自定义软件包或修改系统包时,可能会出现冲突,导致群集无法正常运行。
如何诊断
-
查看 chef-client 日志中是否有与包裹相关的错误:
$
less /var/log/chef-client.log
-
在 cfn-init 日志中查找软件包依赖冲突:
$
less /var/log/cfn-init.log
如何解决
-
如果某个特定的软件包导致了问题,请尝试重新安装它:
$
sudo yum reinstall package-name
-
对于依赖冲突,您可能需要移除冲突的软件包:
$
sudo yum remove conflicting-package
-
如果问题仍然存在,请考虑使用
pcluster build-image
命令创建预先安装所需包的自定义 AMI。有关更多信息,请参阅 Amazon ParallelCluster AMI 自定义。
修改系统配置文件
修改关键系统配置文件可能会导致群集故障,尤其是在这些文件由管理的情况下 Amazon ParallelCluster。
如何诊断
-
检查 chef-client 日志中是否有提及特定配置文件的错误:
$
grep -i "config" /var/log/chef-client.log
-
在配置文件中查找权限或语法错误:
$
less /var/log/cfn-init.log
如何解决
-
将修改后的配置文件恢复到其原始状态:
$
sudo cp /etc/file.conf.bak /etc/file.conf
-
如果您需要对系统配置文件进行永久更改,请使用自定义引导操作而不是直接修改文件:
HeadNode: CustomActions: OnNodeConfigured: Script: s3://bucket-name/config-script.sh
有关更多信息,请参阅 自定义引导操作。
-
对于必须直接对系统文件进行的配置更改,请考虑创建自定义 AMI。有关更多信息,请参阅 Amazon ParallelCluster AMI 自定义。
内核更新和兼容性问题
内核更新可能会导致某些 Amazon 服务的兼容性问题,尤其是与 Amazon for Lustre FSx 的兼容性问题。
如何诊断
-
检查是否已应用内核更新:
$
uname -r
-
在日志中查找 Amazon FSx 挂载失败:
$
grep -i "fsx" /var/log/chef-client.log
如何解决
-
对于 Ubuntu 22.04,请避免更新到最新内核,因为该内核没有亚马逊 FSx 客户端。有关更多信息,请参阅 操作系统注意事项。
-
如果你已经更新了内核但遇到了问题,可以考虑降级到兼容的内核版本:
$
sudo apt install linux-image-previous-version
-
要进行永久内核自定义,请使用所需的特定内核版本创建自定义 AMI。有关更多信息,请参阅 Amazon ParallelCluster AMI 自定义。
操作系统配置更改的最佳实践
要最大限度地减少更改操作系统配置时出现的问题,请执行以下操作:
-
使用自定义 Bootstrap 操作:与其直接修改系统文件,不
OnNodeStart
如使用或OnNodeConfigured
脚本以受控方式进行更改。有关更多信息,请参阅 自定义引导操作。 -
创建自定义 AMIs:要对操作系统进行重大修改,请使用
pcluster build-image
而不是更改正在运行的实例来创建自定义 AMI。有关更多信息,请参阅 Amazon ParallelCluster AMI 自定义。 -
首先测试更改:在将更改应用于生产集群之前,请在小型测试集群上对其进行测试以确保兼容性。
-
文档更改:跟踪所做的所有操作系统配置更改,以便于故障排除。
-
Backup 配置文件:在修改任何系统配置文件之前,请创建备份:
$
sudo cp /etc/file.conf /etc/file.conf.bak
-
更改后检查日志:更改操作系统配置后,请检查日志中是否存在任何错误:
$
less /var/log/cfn-init.log
$
less /var/log/chef-client.log
通过遵循这些准则,您可以最大限度地降低操作系统配置更改导致群集故障的风险,并更有效地解决出现的任何问题。