slurm啟動驗證命令
Slurm 核心組件與啟動原理
Slurm主要由三個守護進程(daemon)組成:
-
slurmctld:中央管理守護進程,運行在管理節(jié)點上。負責監(jiān)控工作、調(diào)度作業(yè)、管理節(jié)點。
-
slurmd:計算節(jié)點守護進程,運行在每個計算節(jié)點上。負責接收來自
slurmctld的任務,執(zhí)行作業(yè),并報告狀態(tài)。 -
slurmdbd(可選):數(shù)據(jù)庫守護進程,用于將作業(yè)記賬信息寫入數(shù)據(jù)庫(如MySQL)。通常也運行在管理節(jié)點。
啟動順序遵循自下而上的原則:先啟動所有計算節(jié)點上的slurmd,最后啟動管理節(jié)點上的slurmctld。
一、啟動Slurm集群
第1步:啟動計算節(jié)點(在所有計算節(jié)點上執(zhí)行)
登錄到每個計算節(jié)點,啟動slurmd服務。建議使用系統(tǒng)服務管理命令(如systemd)。
# 使用 systemctl 啟動并啟用開機自啟(推薦方式)
sudo systemctl start slurmd
sudo systemctl enable slurmd
# 檢查狀態(tài),確認狀態(tài)為 active (running)
sudo systemctl status slurmd
-
關鍵點:必須確保所有計算節(jié)點的
slurmd服務都成功啟動。
第2步:啟動管理節(jié)點(在管理節(jié)點上執(zhí)行)
在所有計算節(jié)點的slurmd都運行起來后,再啟動主管理服務。
# 啟動并啟用 slurmctld
sudo systemctl start slurmctld
sudo systemctl enable slurmctld
# 檢查狀態(tài)
sudo systemctl status slurmctld
# (如果配置了數(shù)據(jù)庫)啟動并啟用 slurmdbd
sudo systemctl start slurmdbd
sudo systemctl enable slurmdbd
sudo systemctl status slurmdbd
第3步:驗證集群狀態(tài)
在管理節(jié)點上使用Slurm命令驗證集群是否就緒。
# 查看所有節(jié)點狀態(tài),應均為 idle 或 alloc(如果已有作業(yè))
sinfo
# 顯示所有節(jié)點的詳細狀態(tài)
scontrol show nodes
# 查看分區(qū)狀態(tài)
scontrol show partitions
如果sinfo命令能正常返回且節(jié)點狀態(tài)正確,說明集群啟動成功。
二、停止Slurm集群
停止順序與啟動相反,遵循自上而下的原則:先停止管理節(jié)點,再停止計算節(jié)點。
第1步:停止管理節(jié)點(在管理節(jié)點上執(zhí)行)
# 停止管理服務
sudo systemctl stop slurmctld
sudo systemctl stop slurmdbd # 如果正在運行
第2步:停止計算節(jié)點(在所有計算節(jié)點上執(zhí)行)
# 在每個計算節(jié)點上執(zhí)行
sudo systemctl stop slurmd
三、重啟Slurm集群(常見維護操作)
通常是在修改了配置文件(slurm.conf)后需要進行的操作。
方法A:優(yōu)雅重啟(推薦,不影響運行中的作業(yè))
-
重新加載配置(在管理節(jié)點上):
bash# 讓 slurmctld 重新讀取配置文件 scontrol reconfig # 讓每個計算節(jié)點的 slurmd 重新讀取配置 scontrol reconfigure注意:此方法不會中斷正在運行的作業(yè)。
方法B:完全重啟(配置重大變更時使用)
按照停止集群的順序完全停止所有服務,然后再按照啟動集群的順序重新啟動。
四、故障排查與日志查看
如果啟動失敗,查看日志是第一步。
-
管理節(jié)點日志(
slurmctld):bash# 默認日志路徑 sudo tail -f /var/log/slurm/slurmctld.log -
計算節(jié)點日志(
slurmd):bash# 登錄到出問題的計算節(jié)點查看 sudo tail -f /var/log/slurm/slurmd.log -
數(shù)據(jù)庫日志(
slurmdbd,如果配置了):bashsudo tail -f /var/log/slurm/slurmdbd.log -
檢查配置文件語法(在管理節(jié)點上):
bash# 驗證主配置文件是否正確 sudo slurmctld -T -v sudo slurmd -T -v-
-T選項用于測試模式,只檢查配置而不啟動服務。 -
-v選項顯示更詳細的信息。
-
簡易啟動檢查清單
-
前置條件:確保所有節(jié)點的
slurm.conf配置文件一致;確保管理節(jié)點和計算節(jié)點之間主機名解析(/etc/hosts或DNS)和SSH互信已正確配置。 -
啟動計算節(jié)點:在所有計算節(jié)點上執(zhí)行
sudo systemctl start slurmd。 -
啟動管理節(jié)點:在管理節(jié)點上執(zhí)行
sudo systemctl start slurmctld(和slurmdbd)。 -
驗證狀態(tài):在管理節(jié)點上運行
sinfo,確認所有節(jié)點狀態(tài)為idle。 -
提交測試作業(yè):運行
srun -N 1 hostname進行冒煙測試。

浙公網(wǎng)安備 33010602011771號