2017-10-29 8 views
0

Ich möchte SLURM auf Ubuntu 16.04 emulieren. Ich brauche keine seriöse Ressourcenverwaltung, ich möchte nur ein paar einfache Beispiele testen. I cannot install SLURM in the usual way, und ich frage mich, ob es andere Möglichkeiten gibt. Andere Dinge, die ich versucht habe:Emulation SLURM auf Ubuntu 16.04

  • A Docker image. Leider docker pull agaveapi/slurm; docker run agaveapi/slurm gibt mir Fehler:

    /usr/lib/python2.6/site-packages/supervisor/options.py:295: UserWarning: Supervisord wird als root ausgeführt und es sucht nach seiner Konfigurationsdatei in Standardspeicherorten (einschließlich seines aktuellen Arbeitsverzeichnisses); Sie möchten wahrscheinlich ein Argument "-c" angeben, das einen absoluten Pfad zu einer Konfigurationsdatei für eine verbesserte Sicherheit angibt. 'Supervisord läuft als root und es sucht' 2017-10-29 15: 27: 45,436 CRIT Supervisor läuft als root (kein Benutzer in der Konfigurationsdatei) 2017-10-29 15: 27: 45,437 INFO supervisord begann mit pid 1 2017-10-29 15: 27: 46,439 INFO laicht: 'slurmd' mit pid 9 2017-10-29 15: 27: 46,441 INFO laicht: 'sshd' mit pid 10 2017-10-29 15: 27: 46,443 INFO erstellt: 'munge' mit pid 11 2017-10-29 15: 27: 46,443 INFO hervorgebracht: 'slurmctld' mit pid 12 2017-10-29 15: 27: 46,452 INFO beendet: munge (exit status 0; nicht erwartet) 2017-10-29 15: 27: 46.452 CRIT erntete unbekanntes pid 13) 2017-10-29 15: 27: 46,530 INFO gab auf: munge trat in FATAL-Zustand ein, zu viele starten Versuche zu schnell 2017-10-29 15: 27: 46,531 INFO beendet: slurmd (Status 1 verlassen; nicht erwartet) 2017-10-29 15: 27: 46,535 INFO gab auf: slurmd trat in FATAL-Status ein, zu viele starten Versuche zu schnell 2017-10-29 15: 27: 46,536 INFO beendet: slurmctld (Exit-Status 0; nicht erwartet) 2017-10-29 15: 27: 47,537 INFO Erfolg: sshd trat in den RUNNING-Zustand ein, der Prozess ist länger als 1 Sekunden (Start) 2017-10-29 15: 27: 47.537 INFO hat aufgegeben: slurmctld eingegeben FATAL Zustand, zu viele starten Versuche zu schnell

  • This guide to start a SLURM VM via Vagrant. Ich habe versucht, aber kopieren über meine munge Schlüssel abgelaufen.

    sudo scp /etc/munge/munge.key vagrant @ server:/home/Vagabund/ ssh: connect 22 Server-Port Host: Connection timed Verbindung

+2

Will: Ich habe es immer glatt nach oben, und das mochte. Ich habe mir deine andere Frage nicht angesehen - im schlimmsten Fall baue ich manchmal die Slurmpakete vor Ort auf. Ich würde empfehlen, sich auf die Debian/Ubuntu-Ressourcen zu stützen. Ich kann dir vielleicht offline helfen, aber ich bin gerade unterwegs. –

+0

Danke Dirk. Es wäre sicherlich am besten SLURM nativ zu verwenden, wenn es installiert wird. Kennen Sie Leitfäden zum Einrichten einer 'slurm.conf', die den Host-Rechner auch als Worker-Knoten verwenden kann? – landau

+2

Ich werde morgen bei der Arbeit kopieren und einfügen. Es ist ziemlich einfach, wie ich mich erinnere, aber es ist schon lange her. Das deb-Paket hat auch ein Hilfsskript ... –

Antwort

1

Also ... wir haben einen hier vorhandenen Cluster aber es läuft eine ältere Ubuntu-Version, die nicht gut mit meiner Workstation 17.04 läuft nicht ineinander greifen.

Also auf meinem Arbeitsplatz, ich sicher, dass ich slurmctld (Backend) und slurmd installiert, einfach gemacht und dann ein triviales slurm.conf mit

ControlMachine=mybox 
# ... 
NodeName=DEFAULT CPUs=4 RealMemory=4000 TmpDisk=50000 State=UNKNOWN 
NodeName=mybox CPUs=4 RealMemory=16000 

nach dem ich neu gestartet slurmcltd und dann slurmd eingerichtet. Jetzt ist alles in Ordnung:

[email protected]:/etc/slurm-llnl$ sinfo 
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST 
demo   up infinite  1 idle mybox 
[email protected]:/etc/slurm-llnl$ 

Dies ist ein degenerierter Setup, unsere wirklichen eine Mischung aus dev und prod Maschine und entsprechenden Partitionen hat. Aber das sollte Ihre Frage "Kann Backend wirklich Kunde sein" beantworten. Auch meine Maschine wird nicht wirklich mybox genannt, ist aber in beiden Fällen nicht wirklich relevant für die Frage.

Mit Ubuntu 17.04, alle Lager, mit munge zu kommunizieren (das ist die Standardeinstellung sowieso).

bearbeiten: Nämlich:

[email protected]:~$ COLUMNS=90 dpkg -l '*slurm*' | grep ^ii 
ii slurm-client  16.05.9-1ubun amd64   SLURM client side commands 
ii slurm-wlm-basic- 16.05.9-1ubun amd64   SLURM basic plugins 
ii slurmctld  16.05.9-1ubun amd64   SLURM central management daemon 
ii slurmd   16.05.9-1ubun amd64   SLURM compute node daemon 
[email protected]:~$ 
+0

So sollte es wirklich in Ubuntu funktionieren. Das veranlasst mich, es noch einmal zu versuchen. Haben Sie SLURM mit 'apt-get' installiert oder selbst erstellt? Für mich ist "apt-get" am 15.08.7 installiert, aber 16.05.11, 17.02.9 und 17.11.0rc2 können heruntergeladen werden. – landau

+0

Ich habe es lokal erstellt (aus dem oben genannten Grund der Verzeichnisberechtigungen; das kann jetzt upstream aufgenommen werden); Was ich oben zeige, ist der Vorrat 17.04. Siehe bearbeitete Antwort. –

+0

Ich habe gerade mein Betriebssystem (aus nicht verwandten Gründen) neu installiert, und SLURM funktioniert tatsächlich dieses Mal. Ich endete mit der Antwort von Damien Francois [hier] (https://stackoverflow.com/questions/46966876/installing-emulating-slurm-on-an-ubuntu-16-04-desktop-slurmd-fails-to-start). – landau

0

ich immer noch verloren bevorzugen um SLURM nativ zu starten, aber ich habe eine Debian 9.2-VM ausgespuckt. Siehe here für meine Bemühungen, eine native Installation zu beheben. Die directions here funktionierte reibungslos, aber ich musste die folgenden Änderungen an slurm.conf vornehmen. Unten, Debian64 ist der hostname, und wlandau ist mein Benutzername.

  • ControlMachine=Debian64
  • SlurmUser=wlandau
  • NodeName=Debian64

Dies ist die komplette slurm.conf. Ein analoges slurm.conf hat auf meinem nativen Ubuntu 16.04 nicht funktioniert.

# slurm.conf file generated by configurator.html. 
# Put this file on all nodes of your cluster. 
# See the slurm.conf man page for more information. 
# 
ControlMachine=Debian64 
#ControlAddr= 
#BackupController= 
#BackupAddr= 
# 
AuthType=auth/munge 
#CheckpointType=checkpoint/none 
CryptoType=crypto/munge 
#DisableRootJobs=NO 
#EnforcePartLimits=NO 
#Epilog= 
#EpilogSlurmctld= 
#FirstJobId=1 
#MaxJobId=999999 
#GresTypes= 
#GroupUpdateForce=0 
#GroupUpdateTime=600 
#JobCheckpointDir=/var/lib/slurm-llnl/checkpoint 
#JobCredentialPrivateKey= 
#JobCredentialPublicCertificate= 
#JobFileAppend=0 
#JobRequeue=1 
#JobSubmitPlugins=1 
#KillOnBadExit=0 
#LaunchType=launch/slurm 
#Licenses=foo*4,bar 
#MailProg=/usr/bin/mail 
#MaxJobCount=5000 
#MaxStepCount=40000 
#MaxTasksPerNode=128 
MpiDefault=none 
#MpiParams=ports=#-# 
#PluginDir= 
#PlugStackConfig= 
#PrivateData=jobs 
ProctrackType=proctrack/pgid 
#Prolog= 
#PrologFlags= 
#PrologSlurmctld= 
#PropagatePrioProcess=0 
#PropagateResourceLimits= 
#PropagateResourceLimitsExcept= 
#RebootProgram= 
ReturnToService=1 
#SallocDefaultCommand= 
SlurmctldPidFile=/var/run/slurm-llnl/slurmctld.pid 
SlurmctldPort=6817 
SlurmdPidFile=/var/run/slurm-llnl/slurmd.pid 
SlurmdPort=6818 
SlurmdSpoolDir=/var/lib/slurm-llnl/slurmd 
SlurmUser=wlandau 
#SlurmdUser=root 
#SrunEpilog= 
#SrunProlog= 
StateSaveLocation=/var/lib/slurm-llnl/slurmctld 
SwitchType=switch/none 
#TaskEpilog= 
TaskPlugin=task/none 
#TaskPluginParam= 
#TaskProlog= 
#TopologyPlugin=topology/tree 
#TmpFS=/tmp 
#TrackWCKey=no 
#TreeWidth= 
#UnkillableStepProgram= 
#UsePAM=0 
# 
# 
# TIMERS 
#BatchStartTimeout=10 
#CompleteWait=0 
#EpilogMsgTime=2000 
#GetEnvTimeout=2 
#HealthCheckInterval=0 
#HealthCheckProgram= 
InactiveLimit=0 
KillWait=30 
#MessageTimeout=10 
#ResvOverRun=0 
MinJobAge=300 
#OverTimeLimit=0 
SlurmctldTimeout=120 
SlurmdTimeout=300 
#UnkillableStepTimeout=60 
#VSizeFactor=0 
Waittime=0 
# 
# 
# SCHEDULING 
#DefMemPerCPU=0 
FastSchedule=1 
#MaxMemPerCPU=0 
#SchedulerRootFilter=1 
#SchedulerTimeSlice=30 
SchedulerType=sched/backfill 
SchedulerPort=7321 
SelectType=select/linear 
#SelectTypeParameters= 
# 
# 
# JOB PRIORITY 
#PriorityFlags= 
#PriorityType=priority/basic 
#PriorityDecayHalfLife= 
#PriorityCalcPeriod= 
#PriorityFavorSmall= 
#PriorityMaxAge= 
#PriorityUsageResetPeriod= 
#PriorityWeightAge= 
#PriorityWeightFairshare= 
#PriorityWeightJobSize= 
#PriorityWeightPartition= 
#PriorityWeightQOS= 
# 
# 
# LOGGING AND ACCOUNTING 
#AccountingStorageEnforce=0 
#AccountingStorageHost= 
#AccountingStorageLoc= 
#AccountingStoragePass= 
#AccountingStoragePort= 
AccountingStorageType=accounting_storage/none 
#AccountingStorageUser= 
AccountingStoreJobComment=YES 
ClusterName=cluster 
#DebugFlags= 
#JobCompHost= 
#JobCompLoc= 
#JobCompPass= 
#JobCompPort= 
JobCompType=jobcomp/none 
#JobCompUser= 
#JobContainerType=job_container/none 
JobAcctGatherFrequency=30 
JobAcctGatherType=jobacct_gather/none 
SlurmctldDebug=3 
SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log 
SlurmdDebug=3 
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log 
#SlurmSchedLogFile= 
#SlurmSchedLogLevel= 
# 
# 
# POWER SAVE SUPPORT FOR IDLE NODES (optional) 
#SuspendProgram= 
#ResumeProgram= 
#SuspendTimeout= 
#ResumeTimeout= 
#ResumeRate= 
#SuspendExcNodes= 
#SuspendExcParts= 
#SuspendRate= 
#SuspendTime= 
# 
# 
# COMPUTE NODES 
NodeName=Debian64 CPUs=1 RealMemory=744 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN 
PartitionName=debug Nodes=Debian64 Default=YES MaxTime=INFINITE State=UP 
+0

Ich sehe nicht, oder kann nicht sagen, was Sie gepostet haben, in denen dies von der Standardeinstellung unterscheidet. Daher ist dies nicht besonders hilfreich. Wir verstehen, was ein Benutzername und ein Hostname sind. Was noch, wenn überhaupt, musste geändert werden? Was, wenn überhaupt, würde einen Fehler im Paket oder seiner Dokumentation darstellen und was haben Sie getan, um dies dem Paketbetreuer mitzuteilen? –

+0

Hmm ... vielleicht hätte ich statt dessen die Virtualisierung stattdessen betonen sollen (VirtualBox und Debian 9.2). Wie du schon sagtest, gibt es SLURM-Probleme unter Ubuntu, auf denen Debian nicht betroffen ist, und das ist es, was ich glaube. Außerdem hatte ich eine überraschende Menge Probleme, explizite Setup-Anweisungen zu finden, die es dem Host erlauben, die gleichen zu sein wie ein Knoten. In jedem Fall, für das Ubuntu-Problem, mailte ich die slurm-dev Mailing-Liste früher in der Woche, aber habe nicht zurück gehört. – landau

+0

Es gibt kein Problem mit Host == Client. Ich hatte das in all meinen Anwendungsfällen (meistens auf Ubuntu). Stellen Sie sicher, dass/etc/hosts Ihren Namen hat, sodass Ihr Computer unter anderen Namen als localhost bekannt ist. –