Slurm 日誌輪換 - Amazon SageMaker AI

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

Slurm 日誌輪換

SageMaker HyperPod 為 Slurm 協助程式日誌提供自動日誌輪換,以協助管理磁碟空間用量和維護系統效能。日誌輪換對於防止日誌耗用過多磁碟空間,並透過自動封存和移除舊日誌檔案,同時維護最新的日誌資訊,確保最佳系統操作至關重要。建立叢集時,預設會啟用 Slurm 日誌輪換。

日誌輪換的運作方式

啟用時,日誌輪換組態:

  • 監控所有 Slurm 日誌檔案,副檔名.log位於控制器、登入和運算節點上的 /var/log/slurm/ 資料夾。

  • 當日誌大小達到 50 MB 時輪換日誌。

  • 在刪除日誌檔案之前,最多保留兩個輪換的日誌檔案。

  • 輪換後將 SIGUSR2 訊號傳送至 Slurm 協助程式 (slurmctldslurmdslurmdbd)。

輪換的日誌檔案清單

Slurm 日誌位於 /var/log/slurm/目錄中。所有符合 的檔案都會啟用日誌輪換/var/log/slurm/*.log。輪換時,輪換的檔案會有數值尾碼 (例如 slurmd.log.1)。下列清單並不詳盡,但顯示一些自動輪換的關鍵日誌檔案:

  • /var/log/slurm/slurmctld.log

  • /var/log/slurm/slurmd.log

  • /var/log/slurm/slurmdb.log

  • /var/log/slurm/slurmrestd.log

啟用或停用日誌輪換

您可以使用叢集生命週期config.py指令碼指令碼中的 enable_slurm_log_rotation 參數來控制日誌輪換功能,如下列範例所示:

class Config: # Set false if you want to disable log rotation of Slurm daemon logs enable_slurm_log_rotation = True # Default value

若要停用日誌輪換,請將 參數設定為 False,如下列範例所示:

enable_slurm_log_rotation = False
注意

在叢集建立期間,生命週期指令碼會在所有 Slurm 節點 (控制器、登入和運算節點) 上執行。當新增至叢集時,它們也會在新節點上執行。更新日誌輪換組態必須在叢集建立後手動完成。日誌輪換組態存放在 中/etc/logrotate.d/sagemaker-hyperpod-slurm。我們建議保持啟用日誌輪換,以防止日誌檔案耗用過多的磁碟空間。若要停用日誌輪換,請在sagemaker-hyperpod-slurm檔案的每一行#開頭新增 ,以刪除檔案或註解sagemaker-hyperpod-slurm其內容。

預設日誌輪換設定

系統會自動為每個輪換的日誌檔案設定下列設定:

設定 Value Description
rotate 2 要保留的輪換日誌檔案數目
size 50 MB 輪換前的大小上限
copytruncate 已啟用 複製和截斷原始日誌檔案
compress disabled 輪換的日誌不會壓縮
missingok 已啟用 如果日誌檔案遺失,則不會發生錯誤
notifempty 已啟用 不會輪換空白檔案
noolddir 已啟用 輪換的檔案會保留在相同的目錄中