В настоящее время у меня есть кластер из 10 рабочих узлов под управлением Slurm с 1 главным узлом. Я ранее успешно настраивал кластер после некоторых первых проблем, но мне удалось заставить его работать. Я поместил все свои скрипты и инструкции в репозиторий GitHub, здесь:
https://brettchapman.github.io/Nimbus_Cluster
Недавно мне нужно было начать все сначала, чтобы увеличить место на жестком диске, и теперь я не могу правильно установить и настроить его, что бы я ни пробовал.
Slurmctld и slurmdbd устанавливаются и настроены правильно (как активные, так и работающие с командой systemctl status), однако slurmd остается в состоянии сбоя / неактивности.
Вот мой файл slurm.conf:
SlurmctldHost = узел-0 # SlurmctldHost =
# DisableRootJobs = NO # EnforcePartLimits = NO # Epilog = # EpilogSlurmctld = # FirstJobId = 1 # MaxJobId = 999999 # GresTypes = # GroupUpdateForce = 0 # GroupUpdateTime = 600 # JobFileAppend = 1 # JobRequeue = 0 # JobRequeue = 0 # JobRequeue = 0 # JobRequeue = 0 # JobRequeue = 0 # JobRequeue LaunchType = launch / slurm # Licenses = foo * 4, bar # MailProg = / bin / mail # MaxJobCount = 5000 # MaxStepCount = 40000 # MaxTasksPerNode = 128 MpiDefault = none # MpiParams = ports = # - # # PluginDir = # PlugStackConfig = # PrivateData = jobs ProctrackType = proctrack / cgroup # Prolog = # PrologFlags = # PrologSlurmctld = # PropagatePrioProcess = 0 # PropagateResourceLimits = # PropagateFesourceLimitsExcept = # RebootProgram = ReturnTldoService = 1 / Sllocdurdilep / var / slloc / = / var / run / slurmd.pid SlurmdPort = 6818 SlurmdSpoolDir = / var / spool / slurmd SlurmUser = slurm # SlurmdUser = root # SrunEpilog = # SrunProlog = StateSaveLocation = нет / var / spool / slurm-llnlp = TaskPlugin = task / cgroup # TaskPluginParam = # TaskProlog = # TopologyPlugin = топология / tre e # TmpFS = / tmp # TrackWCKey = no # TreeWidth = # UnkillableStepProgram = # UsePAM = 0
# BatchStartTimeout = 10 # CompleteWait = 0 # EpilogMsgTime = 2000 # GetEnvTimeout = 2 # HealthCheckInterval = 0 # HealthCheckProgram = InactiveLimit = 0 KillWait = 30 # MessageTimeout = 10 # ResvOverRun = 0 MinJobAgeLimout = 300 # OverTurldurld = 600 Slimemout = 600 # UnkillableStepTimeout = 60 # VSizeFactor = 0 Время ожидания = 0
# DefMemPerCPU = 0 # MaxMemPerCPU = 0 # SchedulerTimeSlice = 30 SchedulerType = sched / backfill SelectType = select / cons_res SelectTypeParameters = CR_Core
# PriorityFlags = # PriorityType = priority / basic # PriorityDecayHalfLife = # PriorityCalcPeriod = # PriorityFavorSmall = # PriorityMaxAge = # PriorityUsageResetPerition = # PriorityWeightAge = # PriorityWeightFairshare = # PriorityWeight # PriorityWeize = # PriorityWeight =JobSight
# AccountingStorageEnforce = 0 # AccountingStorageHost = # AccountingStorageLoc = # AccountingStoragePass = # AccountingStoragePort = AccountingStorageType = Accounting_storage / filetxt # AccountingStorageUser = AccountingStoreJobComment = ДА Имя_кластера = пароль_кластера # DebugFlags = JobComport_Mysport_clags = Job_Comport_clags = JobCompHP JobCompUser = slurm # JobContainerType = job_container / none JobAcctGatherFrequency = 30 JobAcctGatherType = jobacct_gather / none SlurmctldDebug = info SlurmctldLogFile = / var / log / slurm-llnl / slurmLdiled. журнал # SlurmSchedLogFile = # SlurmSchedLogLevel =
# SuspendProgram = # ResumeProgram = # SuspendTimeout = # ResumeTimeout = # ResumeRate = # SuspendExcNodes = # SuspendExcParts = # SuspendRate = # SuspendTime =
NodeName = node- [1-10] NodeAddr = node- [1-10] CPUs = 16 RealMemory = 64323 Sockets = 1 CoresPerSocket = 8 ThreadsPerCore = 2 State = UNKNOWN PartitionName = debug Nodes = node- [1-10] Default = ДА MaxTime = Бесконечное состояние = UP
And the following is my slurmdbd.conf file:
AuthType=auth/munge
AuthInfo=/run/munge/munge.socket.2
DbdHost=localhost
DebugLevel=info
StorageHost=localhost
StorageLoc=slurm_acct_db
StoragePass=password
StorageType=accounting_storage/mysql
StorageUser=slurm
LogFile=/var/log/slurm-llnl/slurmdbd.log
PidFile=/var/run/slurmdbd.pid
SlurmUser=slurm
Выполнение pdsh -a sudo systemctl status slurmd на моих вычислительных узлах дает мне следующую ошибку:
pdsh@node-0: node-5: ssh exited with exit code 3
node-6: ● slurmd.service - Slurm node daemon
node-6: Loaded: loaded (/lib/systemd/system/slurmd.service; enabled; vendor preset: enabled)
node-6: Active: inactive (dead) since Tue 2020-08-11 03:52:58 UTC; 2min 45s ago
node-6: Docs: man:slurmd(8)
node-6: Process: 9068 ExecStart=/usr/sbin/slurmd $SLURMD_OPTIONS (code=exited, status=0/SUCCESS)
node-6: Main PID: 8983
node-6:
node-6: Aug 11 03:34:09 node-6 systemd[1]: Starting Slurm node daemon...
node-6: Aug 11 03:34:09 node-6 systemd[1]: slurmd.service: Supervising process 8983 which is not our child. We'll most likely not notice when it exits.
node-6: Aug 11 03:34:09 node-6 systemd[1]: Started Slurm node daemon.
node-6: Aug 11 03:52:58 node-6 systemd[1]: slurmd.service: Killing process 8983 (n/a) with signal SIGKILL.
node-6: Aug 11 03:52:58 node-6 systemd[1]: slurmd.service: Killing process 8983 (n/a) with signal SIGKILL.
node-6: Aug 11 03:52:58 node-6 systemd[1]: slurmd.service: Succeeded.
pdsh@node-0: node-6: ssh exited with exit code 3
Раньше я не получал этот тип ошибки раньше, когда мой кластер был запущен и работал, поэтому я не уверен, что я делал или не делал с этого момента до последнего запуска. Я предполагаю, что это как-то связано с разрешениями файлов / папок, поскольку я обнаружил, что это может быть весьма критичным при настройке. Возможно, я пропустил документирование того, что делал раньше. Это моя вторая попытка настроить управляемый slurm кластер.
За всем моим рабочим процессом и сценариями можно следить из моего репозитория GitHub. Если вам нужны другие сообщения об ошибках, спрашивайте.
Спасибо за любую помощь, которую вы можете оказать.
Бретт