解決導致錯誤或失敗的作業系統組態變更 - AWS ParallelCluster

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

解決導致錯誤或失敗的作業系統組態變更

對 AWS ParallelCluster 節點進行作業系統組態變更時,可能會發生各種可能導致叢集建立、更新或操作失敗的問題。本節提供識別和解決常見作業系統組態相關問題的指引。

常見的作業系統組態問題

地區設定組態問題

其中一個最常見的作業系統組態問題與地區設定有關。如果您看到如下錯誤:

cannot change locale (en_US.utf-8) because it has an invalid name

這通常會在以下情況下發生:

  • yum 安裝程序失敗,並使地區設定處於不一致狀態

  • 使用者提早終止安裝程序

  • 地區設定套件遺失或損毀

如何診斷

  1. 檢查您是否可以切換到 pcluster-admin 使用者:

    $ su - pcluster-admin

    如果您看到類似 的錯誤cannot change locale...no such file or directory,這會確認問題。

  2. 檢查可用的地區設定:

    $ localedef --list

    如果這傳回空清單或不包含預設地區設定,則您的地區設定組態會中斷。

  3. 檢查最後一個yum命令:

    $ yum history $ yum history info #ID

    如果最後一個 ID 沒有 Return-Code: Success,安裝後指令碼可能無法成功執行。

如何解決

重新安裝語言套件來重建地區設定:

$ sudo yum reinstall glibc-all-langpacks

重建之後,請執行下列動作來確認問題已修正:

$ su - pcluster-admin

如果沒有出現錯誤或警告,表示問題已解決。

作業系統套件衝突

安裝自訂套件或修改系統套件時,可能會發生衝突,導致叢集無法正常運作。

如何診斷

  1. 檢查 chef-client 日誌是否有套件相關的錯誤:

    $ less /var/log/chef-client.log
  2. 在 cfn-init 日誌中尋找套件相依性衝突:

    $ less /var/log/cfn-init.log

如何解決

  1. 如果特定套件造成問題,請嘗試重新安裝它:

    $ sudo yum reinstall package-name
  2. 對於相依性衝突,您可能需要移除衝突的套件:

    $ sudo yum remove conflicting-package
  3. 如果問題仍然存在,請考慮使用 pcluster build-image命令預先安裝的必要套件來建立自訂 AMI。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂

系統組態檔案修改

修改重要的系統組態檔案可能會導致叢集失敗,尤其是這些檔案由 管理時 AWS ParallelCluster。

如何診斷

  1. 檢查 Chef-client 日誌中提及特定組態檔案的錯誤:

    $ grep -i "config" /var/log/chef-client.log
  2. 尋找組態檔案中的許可或語法錯誤:

    $ less /var/log/cfn-init.log

如何解決

  1. 將修改後的組態檔案還原為其原始狀態:

    $ sudo cp /etc/file.conf.bak /etc/file.conf
  2. 如果您需要持續變更系統組態檔案,請使用自訂引導操作,而不是直接修改檔案:

    HeadNode: CustomActions: OnNodeConfigured: Script: s3://bucket-name/config-script.sh

    如需詳細資訊,請參閱自訂引導操作

  3. 對於必須直接對系統檔案進行的組態變更,請考慮建立自訂 AMI。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂

核心更新和相容性問題

核心更新可能會導致特定 AWS 服務的相容性問題,特別是 Amazon FSx for Lustre。

如何診斷

  1. 檢查是否已套用核心更新:

    $ uname -r
  2. 在日誌中尋找 Amazon FSx 掛載失敗:

    $ grep -i "fsx" /var/log/chef-client.log

如何解決

  1. 對於 Ubuntu 22.04,請避免更新至最新的核心,因為該核心沒有 Amazon FSx 用戶端。如需詳細資訊,請參閱作業系統考量事項

  2. 如果您已更新核心並遇到問題,請考慮降級至相容的核心版本:

    $ sudo apt install linux-image-previous-version
  3. 對於持久性核心自訂,請使用您需要的特定核心版本建立自訂 AMI。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂

作業系統組態變更的最佳實務

若要將進行作業系統組態變更時的問題降至最低:

  1. 使用自訂引導操作:使用 OnNodeStartOnNodeConfigured指令碼以受控制的方式進行變更,而不是直接修改系統檔案。如需詳細資訊,請參閱自訂引導操作

  2. 建立自訂 AMIs:對於重大作業系統修改,請使用 建立自訂 AMI,pcluster build-image而不是變更執行中的執行個體。如需詳細資訊,請參閱AWS ParallelCluster AMI 自訂

  3. 測試變更優先:在將變更套用至生產叢集之前,請先在小型測試叢集上測試變更,以確保相容性。

  4. 文件變更:追蹤所有作業系統組態變更,以便進行故障診斷。

  5. 備份組態檔案:修改任何系統組態檔案之前,請先建立備份:

    $ sudo cp /etc/file.conf /etc/file.conf.bak
  6. 變更後檢查日誌:變更作業系統組態後,請檢查日誌是否有任何錯誤:

    $ less /var/log/cfn-init.log $ less /var/log/chef-client.log

透過遵循這些準則,您可以將導致叢集故障的作業系統組態變更風險降至最低,並更有效地對發生的任何問題進行故障診斷。