本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
解決導致錯誤或失敗的作業系統組態變更
對 AWS 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。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂。
系統組態檔案修改
修改重要的系統組態檔案可能會導致叢集失敗,尤其是這些檔案由 管理時 AWS 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。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂。
核心更新和相容性問題
核心更新可能會導致特定 AWS 服務的相容性問題,特別是 Amazon FSx for Lustre。
如何診斷
-
檢查是否已套用核心更新:
$uname -r -
在日誌中尋找 Amazon FSx 掛載失敗:
$grep -i "fsx" /var/log/chef-client.log
如何解決
-
對於 Ubuntu 22.04,請避免更新至最新的核心,因為該核心沒有 Amazon FSx 用戶端。如需詳細資訊,請參閱作業系統考量事項。
-
如果您已更新核心並遇到問題,請考慮降級至相容的核心版本:
$sudo apt install linux-image-previous-version -
對於持久性核心自訂,請使用您需要的特定核心版本建立自訂 AMI。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂。
作業系統組態變更的最佳實務
若要將進行作業系統組態變更時的問題降至最低:
-
使用自訂引導操作:使用
OnNodeStart或OnNodeConfigured指令碼以受控制的方式進行變更,而不是直接修改系統檔案。如需詳細資訊,請參閱自訂引導操作。 -
建立自訂 AMIs:對於重大作業系統修改,請使用 建立自訂 AMI,
pcluster build-image而不是變更執行中的執行個體。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂。 -
測試變更優先:在將變更套用至生產叢集之前,請先在小型測試叢集上測試變更,以確保相容性。
-
文件變更:追蹤所有作業系統組態變更,以便進行故障診斷。
-
備份組態檔案:修改任何系統組態檔案之前,請先建立備份:
$sudo cp /etc/file.conf /etc/file.conf.bak -
變更後檢查日誌:變更作業系統組態後,請檢查日誌是否有任何錯誤:
$less /var/log/cfn-init.log$less /var/log/chef-client.log
透過遵循這些準則,您可以將導致叢集故障的作業系統組態變更風險降至最低,並更有效地對發生的任何問題進行故障診斷。