[LINUX] Machen wir mit xCAT einen Spacon

Beowulf mit xCAT

Die Welt ist die Wolke. Abhängig von der Anwendung möchten Sie jedoch möglicherweise den vorhandenen Computer ausführen. Vielmehr ist es Supercomputing nur, wenn der Computer vor Ihnen knurrt. Zu diesem Zweck wird der HPC-Cluster (High Performance Computing) verwendet. Eine der Methoden zur Realisierung eines HPC-Clusters (ein Begriff, den ich in letzter Zeit nicht viel gehört habe) ist Beowulf. Beowulf bedeutet "HPC-Cluster, der durch Verbinden einer Gruppe von Knoten, die ausschließlich für die Berechnung vorbereitet wurden, mit einem Hochgeschwindigkeitsnetzwerk auf der Basis von kostenlosem Unix" und mit dieser Definition "Spacon" im mir bekannten Bereich der Bioinformatik. Die meisten von ihnen werden Beowulf sein.

Hier erfahren Sie etwas mehr darüber, warum die Bioinformatikbranche (noch) eine lokale HPC-Umgebung benötigt.

Zunächst sprach ich über Arbeiten im Zusammenhang mit Sequenzerdaten der nächsten Generation, aber es gibt viele sogenannte peinlich parallele [^ 1] Berechnungen. Sie können erwarten, dass die Berechnungszeit 1/10 beträgt, indem Sie die Eingabe in 10 gleiche Teile teilen, ohne an irgendetwas zu denken. Daher ist es einfach, von HPC-Clustern im Beowulf-Stil zu profitieren. Zweitens ist die Eingabedatengröße sehr groß, obwohl die Berechnungsgeschwindigkeit tolerant ist und viele Aufgaben zu warten sind, selbst wenn die CPU-Leistung niedrig ist, sodass die Speicher- und Netzwerkübertragungsmenge tendenziell groß ist. Dies ist völlig inkompatibel mit einer Cloud-Umgebung, die aus einem niedrigen CPU-Preis und einem hohen Speicher- / Netzwerkübertragungsvolumen besteht. Aufgrund der Eigenschaft, dass nur die schlechtesten Rohdaten neu berechnet werden müssen, ist keine absolute Zuverlässigkeit oder Hochgeschwindigkeitszugriffsleistung des Speichers erforderlich. Sie benötigen billigen und großen Speicher. Drittens datenschutzbezogene Fragen in der Forschung im Zusammenhang mit Menschen. Die Situation ändert sich, aber die Speicherung von Daten außerhalb des Unternehmens oder im Ausland ist immer noch eine Herausforderung. Aus diesem Grund wird die Entscheidung, in der Bioinformatikbranche einen lokalen HPC-Cluster zu haben (und in einigen Fällen einen eigenen zu erstellen), im Jahr 2020 nicht so falsch sein.

[^ 1]: Es scheint eine Übersetzung zu geben, wie offensichtliche Parallele, erstaunliche Parallele, dumme Parallele ……. Laut englische Version Wikipedia, eine Verlegenheit des Reichtums Es kommt von einem ironischen Satz wie "Ich habe es satt". Natürlich bin ich, obwohl ich peinlich parallel sage, in Wirklichkeit dankbar für die Leichtigkeit der Parallelisierung.

Übrigens gibt es einige Softwarepakete, mit denen der Aufbau eines lokalen Homebrew-HPC-Clusters vom Typ Beowulf realisiert werden kann. Es handelt sich jedoch um ein Open-Source-Produkt mit einem hohen Freiheitsgrad, das auf der relativ neuesten Linux-Distribution basiert und noch aktiv entwickelt wird. Das von IBM gesponserte Projekt, das eXtreme Cloud Administration Kit (xCAT) https://xcat.org/, scheint das bekannteste zu sein.

Der Autor hatte vor einigen Jahren seine eigene HPC mit xCAT erstellt, aber kürzlich wurde es notwendig, die alte Scyld (das proprietäre HPC-System von Penguin Computing) mit der neuen xCAT wiederzubeleben, also anstelle eines Memos Ich habe beschlossen, diesen Artikel zu schreiben. Die xCAT-Dokumentation ist besser als zuvor, aber immer noch schwierig. Ich bin der Meinung, dass die Konfiguration eher süchtig macht, wenn Sie nicht alles lesen und verstehen, bevor Sie mit der Installation beginnen. Dies ist nicht einfach, da die erforderlichen Informationen verteilt werden und Befehle auf hoher Ebene, die implizit festgelegt werden, und Befehle auf niedriger Ebene miteinander kollidieren. Da dieser Artikel das Ergebnis von Versuchen und Irrtümern ist, die mit dem Dokument zu kämpfen haben, kann es zu Lügen und Missverständnissen kommen. Diese Notizen wären jedoch sinnvoll, wenn sie nur als Referenz dienen würden.

xCAT kann frei zwischen RedHat / CentOS und PowerPC-basiertem Linux wählen (falls unterstützt). Für meine Arbeit im Zusammenhang mit Bioinformatik habe ich mich für ein relativ neues Ubuntu entschieden, da Open-Source-Software aus Quellen erstellt werden muss, die manchmal eine relativ neue Umgebung erfordert, selbst wenn sie als "Server" bezeichnet wird. Wenn Ihr Hauptaugenmerk auf proprietären Tools liegt, ist CentOS-basiert möglicherweise besser geeignet.

Installieren Sie xCAT

Referenz-URI

--http: //xcat.org/ offizielle Seite des xCAT-Projekts --https: //xcat-docs.readthedocs.io/en/stable/ Offizielles Dokument

Hardware und Netzwerk

Richten Sie den Verwaltungsknoten ein

Da es sich um die neueste von xCAT unterstützte Ubuntu-Version handelt, habe ich Ubuntu 18.04-4 LTS gemäß den gesetzlichen Bestimmungen installiert. Allerdings habe ich tatsächlich die abgeleitete Version Lubuntu 18.04-4 zum Zweck der leichtesten Benutzeroberfläche installiert. Wie später beschrieben wird, musste Ubuntu Server 18.04 - ** 2 ** für die Rechenknotengruppe verwendet werden.

Im Fall des Zielcomputers kann dieses Mal das Symptom vermieden werden, dass im Lubuntu-Installationsprogramm nicht nur der Mauszeiger angezeigt wird, indem in der Kerneloption "nomodeset" angegeben wird. Es scheint, dass die Intel-Grafikfunktion deaktiviert ist. Schließen Sie nach der Installation die Einstellung des Hostnamens (scyld.cluster), die Zuweisung der festen IP-Adresse auf der WAN-Seite, die NTP-Einstellung, das passende Upgrade, die minimale Benutzer- / Gruppeneinstellung usw. ab.

Vergessen Sie nicht, die Weiterleitung zwischen dem Netzwerk innerhalb des Clusters und dem Netzwerk auf der WAN-Seite einzurichten. Der Artikel Erstellen eines NAT-Servers mit ufw unter Ubuntu ist hilfreich.

Installieren Sie die stabile xCAT-Version

Beginnen Sie Ihre Arbeit nach "sudo su-". Verwenden Sie zum Zeitpunkt des Schreibens die neueste stabile Version xCAT 2.15.1 (veröffentlicht am 6. März 2020).

# mkdir /root/xCATsetup #Sofern nicht anders angegeben, werde ich hier für alles arbeiten
# cd /root/xCATsetup
# wget \
  https://raw.githubusercontent.com/xcat2/xcat-core/master/xCAT-server/share/xcat/tools/go-xcat \
  -O - > /tmp/go-xcat
# chmod +x /tmp/go-xcat
# /tmp/go-xcat install            #Diesmal installieren Sie die stabile Version von xcat

Der Standardinstallationsort für das xCAT-System ist "/ opt / xcat".

Überprüfung der Installation

# source /etc/profile.d/xcat.sh #PFAD-Einstellung
# lsxcatd -a #xCAT-Versionsanzeige
Version 2.15.1 (git commit ab6295bdc1deb1827922d47755bfc68adec12389, built Wed Mar  4 16:45:39 EST 2020)
This is a Management Node
dbengine=SQLite

# tabdump site #Zeigen Sie die Site-Tabelle der internen xCAT-Datenbank an
#key,value,comments,disable
"blademaxp","64",,
"fsptimeout","0",,
"installdir","/install",,
(Unten weggelassen)

Die xCAT-Einstellungen werden vom xCAT-Objekt und der xCAT-Datenbank verwaltet von zwei Konzepten verwaltet ). Ersteres wird mit Befehlen wie mkdef, lsdef, chdef und rmdef ausgeführt. Letzteres wird mit Befehlen wie tabdump, tabedit und chtab bedient. Die xCAT-Datenbank ist eine Tabelle, die von RDB verwaltet wird (standardmäßig SQLite), und es scheint, dass die Objekte und Tabellen eine Viele-zu-Viele-Zuordnung haben. Es scheint, dass das erstere oder das letztere je nach Einstellungssituation auf bequeme Weise bedient wird.

Site-Objekteinstellungen

Fahren Sie mit den Einstellungen gemäß [Attribute in der Site-Tabelle festlegen] fort (https://xcat-docs.readthedocs.io/en/stable/guides/admin-guides/manage_clusters/ppc64le/configure/site.html).

# chdef -t site domain="cluster"          #Domänenname der Knoten scyld.Für Cluster etc.
# chdef -t site forwarders="10.54.0.1"    #Standard-Gateway aus der Gruppe "Rechenknoten"
# chdef -t site master="10.54.0.1"        #IP-Adresse des Verwaltungsknotens aus der Gruppe "Rechenknoten"
# chdef -t site nameservers="10.54.0.1"  #IP-Adresse der DNS-Gruppe durch Kommas getrennt von der Gruppe "Rechenknoten"
# makedns -s                #Initialisierung von DNS, das auf dem Verwaltungsknoten ausgeführt wird. Eine IPv6-bezogene Warnung wird angezeigt, jedoch ignoriert.
# nslookup scyld.cluster    #DNS-Funktionsprüfung

Einstellungen der Netzwerktabelle

Befolgen Sie die Anweisungen unter Attribute in der Netzwerktabelle festlegen, um mit den Netzwerkeinstellungen fortzufahren. Überprüfen Sie zunächst die automatische Einstellung.

# tabdump networks
#netname,net,mask,mgtifname,gateway,dhcpserver,tftpserver,nameservers,ntpservers,logservers,dynamicrange,staticrange,staticrangeincrement,nodehostname,ddnsdomain,vlanid,domain,mtu,comments,disable
"10_0_0_0-255_255_0_0","10.0.0.0","255.255.0.0","bond0","<xcatmaster>",,"<xcatmaster>",,,,,,,,,,,"1500",,
"192_168_0_0-255_255_0_0","192.168.0.0","255.255.0.0","enp1s0f1","192.168.0.1",,"<xcatmaster>",,,,,,,,,,,"1500",,

Dieses Mal möchte ich DHCP verwenden, um die Computerknoten unmittelbar nach dem Booten dem Bereich von 10.54.3.1 bis 10.54.3.254 im internen Netzwerk zuzuweisen. Das interne Netzwerk ist auch mit der voreingestellten Bindung 0 verbunden (über Ethernet-Bindung / Aggregation). Stellen Sie daher Folgendes ein + starten Sie den DHCP-Dienst.

Erstens ist der Netzname (Objektname) der Netzwerktabelle zu lang. Ändern Sie ihn daher im Editor, der mit "tabedit network" gestartet wird, wie folgt.

# tabdump networks
#netname,net,mask,mgtifname,gateway,dhcpserver,tftpserver,nameservers,ntpservers,logservers,dynamicrange,staticrange,staticrangeincrement,nodehostname,ddnsdomain,vlanid,domain,mtu,comments,disable
"clusternet","10.54.0.0","255.255.0.0","bond0","<xcatmaster>",,"<xcatmaster>",,,,,,,,,,,"1500",,
"wan","192.168.0.0","255.255.0.0","enp1s0f1","192.168.0.1",,"<xcatmaster>",,,,,,,,,,,"1500",,

# makehosts -n

Sie können jetzt mit clusternet und wan auf den Objektnamen verweisen. Ändern Sie dann den Objekttyp Netzwerk und den Objektnamen Clusternet. Stellen Sie DHCP so ein, dass 10.54.3.1 bis 10.54.3.254 verteilt werden.

# chdef -t network -o clusternet dynamicrange="10.54.3.1-10.54.3.254"
# makedhcp -n

passwd Tabelleneinstellungen

Legen Sie das Passwort für das Root-Konto fest

# tabdump passwd
# chtab key=system passwd.username=root passwd.password=root
# chtab ip

Erkennung und Einstellung von Rechenknoten

Docs »Administratorhandbuch» Cluster verwalten »IBM POWER LE / OpenPOWER Befolgen Sie die nachstehenden Anweisungen Arbeiten Sie daran. Aufgrund der Unterstützung von IBM wird das xCAT-Projekt im Dokument unter Verwendung eines PowerPC-basierten IBM-Computers beschrieben. In der Linux on x86_64-Umgebung, der Umgebung der meisten Benutzer, ist die Arbeit jedoch nahezu dieselbe.

Siehe zuerst Hardwareerkennung & Knoten definieren. Zur Auswahl der Methode stehen die manuelle Einstellung, die Erkennung durch MTMS (Machine Type und MAchene Serial) als automatische Einstellung, die Erkennung anhand der Verbindungsportnummer zum Switching Hub und die auftragsabhängige Erkennung.

Da die Anzahl der Rechenknoten diesmal 10 beträgt, befolgen Sie die Anweisungen im Dokument und die Anweisungen unter Authentifizierung durch MTMS /index.html) ist ausgewählt. Die empfohlene Methode lautet "Empfangen Sie für die BMC / IPMI-IP-Adresse zuerst die DCHP-Zuweisung und legen Sie dann die statische IP-Adresse eines anderen Subnetzes fest". Im Allgemeinen erhält BMC / IPMI häufig dynamisch eine IP-Adresse von DHCP. In meiner Umgebung wurde die statische IP-Adresse von BMC / IPMI jedoch im Voraus auf 10.54.0.1-10 festgelegt, sodass ich diese unverändert verwenden werde, obwohl sie sich geringfügig vom Dokument unterscheidet.

# bmcdiscover --range 10.54.0.1-254 -u ADMIN -p ADMIN -z -w
# bmcdiscover --range 10.54.0.1-254 -u adimn -p admin -z -w
Writing node-0025901d9c29 (10.54.150.10,Winbond,,admin,admin,mp,bmc,0025901d9c29,,) to database...
node-0025901d9c29:
        objtype=node
        groups=all
        bmc=10.54.150.10
        cons=ipmi
        mgt=ipmi
        mtm=Winbond
        bmcusername=admin
        bmcpassword=admin
(Weggelassen)
# lsdef /node-.*
Object name: node-0025901d8c1e
    bmc=10.54.150.3
    bmcpassword=admin
    bmcusername=admin
(Weggelassen)

Standardmäßig bezieht sich "bmcdiscover" auf "key = ipmi" in der "passwd" -Tabelle, aber auf einigen Computern gab es unterschiedliche oder mehrere Benutzer / Kennwort-Kombinationen (Computer nach 2020). Es scheint, dass es von Individuum zu Individuum unterschiedlich ist, und bmcdiscover wurde zweimal in verschiedenen Kombinationen ausgegeben. Wie auch immer, es scheint, dass es das BMC / IPMI aller Maschinen erkennen und in die interne xCAT-Datenbank schreiben könnte. Erstellen Sie für jeden Computer eine statische Konfigurationsdatei basierend auf den auf diese Weise erstellten Informationen.

# bmcdiscover --range 10.54.0.1-254 -u ADMIN -p ADMIN -z > predefined.stanza
# bmcdiscover --range 10.54.0.1-254 -u adimn -p admin -z >> predefined.stanza

Bearbeiten Sie predefined.stanza im Editor.

node-0025901d9e23:
        objtype=node
        groups=all
        bmc=10.54.150.1
        cons=ipmi
        mgt=ipmi
        mtm=Winbond
        bmcusername=admin
        bmcpassword=admin

Zu

cn02:
        ip=10.54.2.2
        netboot=xnba
        mac=XX:YY:ZZ:XX:YY:ZZ
        objtype=node
        groups=compute2,all
        chain="runcmd=bmcsetup"
        bmc=10.54.150.1
        cons=ipmi
        mgt=ipmi
        mtm=Winbond
        bmcusername=admin
        bmcpassword=admin

Ändern Sie für jeden Rechenknoten wie in. ip = 10.54.2.2 ist die statische IP-Adresse dieses Rechenknotens. Schreiben Sie diese wie eine interne Datenbank zusammen. Im Fall des Autors konnten die Seriennummerninformationen jedoch nicht gut erfasst werden. Ich habe auch manuell die MAC-Adresse der Netzwerkkarte geschrieben (nicht die IPMI). Außerdem wurden groups = compute2, all und chain =" runcmd = bmcsetup " hinzugefügt. Jetzt können Sie mit compute2 auf den gesamten Rechenknoten verweisen. Da der Autor ein anderes xCAT betreibt, wird hier "2" hinzugefügt.

# cat predefined.stanzas | mkdef -z

Wenn sich etwas ändert, können Sie die Einstellung mit mkdef -f -z überschreiben.

Es ist in Ordnung, wenn der Energiestatus aller Rechenknoten mit dem Status "rpower compute2" angezeigt werden kann.

# tabedit hosts #Bearbeiten Sie mit dem Editor wie unten
# tabdump hosts
#node,ip,hostnames,otherinterfaces,comments,disable
"compute2","|\D+(\d+)|10.54.2.($1+0)|",,"|\D+(\d+)|cn($1)-ipmi:10.54.150.($1+0)|",,

Auswählen einer Startmethode für das Betriebssystem für die Rechenknoten

So senden Sie das Betriebssystem an die Rechenknoten

  1. Diskful Installation
  2. Diskless Installation (Stateless Installation) Es gibt zwei Methoden. Ersteres ist eine Methode zum Installieren des Betriebssystems im lokalen Speicher jedes Rechenknotens und zum Booten von dort. Letzterer sendet bei jedem Start ein Betriebssystem-Image ("Netboot" -Osimage) an die Rechenknoten und startet dann. Selbst im letzteren Fall ist es möglich, auf den lokalen Speicher zuzugreifen, der mit jedem Rechenknoten verbunden ist (z. B. durch Platzieren eines temporären Verzeichnisses oder einer Datei mit häufigem Zugriff). In diesem Sinne kann Stateless korrekter sein.

Wenn die Netzwerkkonfiguration über genügend Bandbreite verfügt und jeder Rechenknoten über genügend Speicher verfügt, ist die iskless-Installation, die alles vom Verwaltungsknoten gleichzeitig verarbeiten kann, die erste Wahl.

Erstellen eines Betriebssystemabbilds

Es scheint, dass das von der aktuellen Version von xCAT unterstützte Betriebssystem in die Paketliste aufgenommen werden muss, die in ls -L / opt / xcat / netboot / * / *. Pkglist angezeigt wird. Für Ubuntu scheint es, dass 18.04 und 18.04-2 unterstützt werden, wenn man sich "ls -L / opt / xcat / netboot / ubuntu / *. Pkglist" ansieht. Außerdem scheint die ISO-Datei von Lubuntu nicht gut erkannt zu werden. Deshalb lade ich hier unbuntu-18.04.2-server.amd64.iso herunter und erstelle dann ein Osimage.

# mkdir -p /install/iso
# cd /install/iso
# wget http://releases.ubuntu.com/18.04.2/ubuntu-18.04.2-server-amd64.iso
# copycds ubuntu-18.04.2-server-amd64.iso
# lsdef -t osimage
ubuntu18.04.2-x86_64-install-compute  (osimage)
ubuntu18.04.2-x86_64-install-service  (osimage)
ubuntu18.04.2-x86_64-netboot-compute  (osimage)

"ubuntu18.04.2-x86_64-netboot-compute" ist das Betriebssystem-Image für die plattenlose Installation. Zu diesem Betriebssystem-Image können Änderungen wie das Hinzufügen von Paketen entsprechend dem Zweck hinzugefügt werden. Dieses Mal habe ich beschlossen, diese notwendigen Änderungen im Shell-Skript (Postscript) nach dem Booten des Betriebssystems vorzunehmen und fortzufahren.

# genimage ubuntu18.04.2-x86_64-netboot-compute #Es dauert eine Weile
# packimage ubuntu18.04.2-x86_64-netboot-compute
# mknb x86_64

Der letzte Befehl "mknb" kann so gelesen werden, als müssten Sie ihn nicht manuell starten. Wenn Sie dies jedoch nicht tun, wird der Rechenknoten nach dem Booten zuerst gelesen "/ tftpboot / xcat / xnba / nets / 10.54.0.0_16" `(Und * .elilo, * .uefi) scheint nicht gut generiert zu sein.

Legen Sie das Betriebssystem-Image in der Rechenknotengruppe fest

# chdef compute2 -p chain="bmcsetup,osimage=ubuntu18.04.2-x86_64-netboot-compute"
# makehosts -n compute2
# makedns -s ; makedhcp -n ; makedhcp -a
# rpower compute2 boot

Es ist sicherer, makedns -s; makedhcp -n; makedhcp -a erneut auszuführen, bevor der Rechenknoten gestartet wird. Nun, wenn Sie sich damit mit ssh cn01 anmelden können, gibt es kein Problem, aber es hat in meiner Umgebung nicht funktioniert.

Fehlerbehebung

Stellen Sie die Remote-Konsole der Rechenknotengruppe für Debugging-Zwecke zur Verfügung. Setze mit makegocons und beginne mit rcons <Knoten>. Das Ende von rcons ist "c" nach "ctrl-e".

# makegocons 
Starting goconserver service ...
cn10: Created
cn01: Created
(Weggelassen)
cn06: Created
 
# rcons cn01
[Enter `^Ec?' for help]
goconserver(2020-06-19T09:47:14+09:00): Hello 192.168.0.21:41898, welcome to the session of cn01

Wenn der Rechenknoten in getdestiny stecken bleibt, zum Beispiel in syslog

Jun 18 17:10:50 10.54.3.2 [localhost] xcat.genesis.doxcat: Getting initial certificate --> 10.54.0.1:3001
Jun 18 17:11:00 10.54.3.2 [localhost] xcat.genesis.doxcat: Running getdestiny --> 10.54.0.1:3001
Jun 18 17:11:10 10.54.3.2 [localhost] xcat.genesis.doxcat: Received destiny=
Jun 18 17:11:10 10.54.3.2 [localhost] xcat.genesis.doxcat: The destiny=, destiny parameters=
Jun 18 17:11:10 10.54.3.2 [localhost] xcat.genesis.doxcat: Unrecognized directive (dest=)
Jun 18 17:11:19 10.54.3.2 [localhost] xcat.genesis.doxcat: ... Will retry xCAT in 70 seconds

Wenn Sie aus solchen Gründen nicht fortfahren können, kann das Problem möglicherweise behoben werden, indem Sie erneut bestätigen, dass keine Fehler beim Einstellen von DHCP oder DNS vorliegen. Suchen Sie auf "tabedit site" usw. nach Tippfehlern. "Makedns -s; makedhcp -n; makedhcp -a; rpower compute2 boot".

Außerdem verwendet der Rechenknoten die von DHCP zugewiesene IP-Adresse, anstatt die IP-Adresse zu verwenden, die für die von cat predefined.stanza | mkdef -z festgelegte Haupt-NIC (nicht BMC / IPMI) angegeben wurde.

Jun 19 10:20:10 10.54.3.21 [localhost] xcat.genesis.dodiscovery: Beginning echo information to discovery packet file...
Jun 19 10:20:11 10.54.3.21 [localhost] xcat.genesis.dodiscovery: Discovery packet file is ready.
Jun 19 10:20:11 10.54.3.21 [localhost] xcat.genesis.dodiscovery: Sending the discovery packet to xCAT (10.54.0.1:3001)...
Jun 19 10:20:11 10.54.3.21 [localhost] xcat.genesis.dodiscovery: Sleeping 5 seconds...
Jun 19 10:20:11 10.54.3.21 [localhost] xcat.genesis.minixcatd: The request is processing by xCAT master...
Jun 19 10:20:12 scyld xcat[17879]: xcatd: Processing discovery request from 10.54.3.21
Jun 19 10:20:12 scyld xcat[17879]: xcat.discovery.aaadiscovery: (00:25:90:1d:6e:ae) Got a discovery request, attempting to d
Jun 19 10:20:12 scyld xcat[17879]: xcat.discovery.blade: (00:25:90:1d:6e:ae) Warning: Could not find any nodes using blade-b
Jun 19 10:20:12 scyld xcat[17879]: xcat.discovery.switch: (00:25:90:1d:6e:ae) Warning: Could not find any nodes using switch
Jun 19 10:20:12 scyld xcat[17879]: xcat.discovery.mtms: (00:25:90:1d:6e:ae) Warning: Could not find any node for Super Micro
Jun 19 10:20:12 scyld xcat[17879]: xcat.discovery.zzzdiscovery: (00:25:90:1d:6e:ae) Failed for node discovery.
Jun 19 10:20:12 scyld xcat[17879]: xcat.discovery.zzzdiscovery: Notify 10.54.3.21 that its findme request has been processed
Jun 19 10:20:11 10.54.3.21 [localhost] xcat.genesis.minixcatd: The request is already processed by xCAT master, but not matc

In Situationen, in denen ein Rechenknoten den Verwaltungsserver auffordert, sich selbst zu ermitteln, aber abgelehnt wird, weil seine IP-Adresse nicht die eines bekannten Rechenknotens ist.

# chtab -t node -o cn01 mac="00:11:22:DD:EE:FF"
# makedns -s ; makedhcp -n ; makedhcp -a
# rinstall compute2 runcmd=bmcsetup,osimage=ubuntu18.04.2-x86_64-netboot-compute
# rpower cn01 boot

Geben Sie die MAC-Adresse erneut an, damit DHCP cn01 und seine MAC-Adresse findet und die richtige IP-Adresse zuweist. Dann habe ich rpower compute2 boot angewendet und es hat funktioniert.

Fortsetzung folgt

Damit konnte ich vorerst den HPC-Cluster einrichten. xCAT kümmert sich um die Steuerung von Rechenknoten durch BMC / IPMI, die Bereitstellung des Betriebssystems, die Netzwerkverwaltung, die Verwaltung von Rechenknoten einschließlich der Verwaltung von Benutzerkonten usw. Danach müssen verschiedene Dinge vorbereitet und festgelegt werden, z. B. Ganglia, das den Betriebsstatus des Clusters anzeigt, und der Job Scheduler SGE. Daher werde ich dies als separaten Artikel schreiben. Wenn Sie Fehler oder unklare Punkte in diesem Artikel haben, würde ich mich freuen, wenn Sie darauf hinweisen könnten.

Recommended Posts

Machen wir mit xCAT einen Spacon
Lassen Sie uns eine GUI mit Python erstellen.
Machen wir einen Blockbruch mit wxPython
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Lassen Sie uns mit Python langsam sprechen
Lassen Sie uns mit PLY 1 eine einfache Sprache erstellen
Erstellen Sie ein Webframework mit Python! (1)
Machen wir mit Pylearn 2 eine dreiäugige KI
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie ein Webframework mit Python! (2)
Ersetzen wir UWSC durch Python (5) Machen wir einen Roboter
Machen wir einen Discord Bot.
Machen wir Othello mit wxPython
Machen Sie eine Lotterie mit Python
Machen Sie ein Feuer mit kdeplot
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Lassen Sie uns das Abhängigkeitsmanagement mit pip etwas einfacher machen
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Versuchen Sie, mit Rhinoceros / Grasshopper / GHPython ein sphärisches Gitter zu erstellen
[Super einfach] Machen wir einen LINE BOT mit Python.
Lassen Sie uns mit Python einen Web-Socket-Client erstellen. (Zugriffstoken-Authentifizierung)
Machen wir eine Remote-Rumba [Hardware]
Lassen Sie uns eine Remote-Rumba erstellen [Software]
Machen Sie einen Sound mit Jupyter Notebook
Machen wir einen Spot Sale Service 2
Machen wir einen Spot Sale Service 1
Machen wir Othellos KI mit Chainer-Teil 1-
Erstellen Sie ein Empfehlungssystem mit Python
Machen Sie einen Filter mit einer Django-Vorlage
Machen wir Othellos KI mit Chainer-Teil 2-
Erstellen Sie mit PySide einen Modelliterator
Machen Sie eine schöne Grafik mit Plotly
Lassen Sie uns ein Diagramm erstellen, auf das mit IPython geklickt werden kann
Machen wir einen Spot Sale Service 3
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 1 erstellen
Machen wir einen Fahrradcomputer mit Raspberry Pi Zero (W, WH)
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 3 erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 4 erstellen
Lassen Sie uns einen Web-Chat mit WebSocket mit AWS serverless (Python) durchführen!
Erstellen wir mit Python eine kostenlose Gruppe
Machen Sie einen seltenen Gacha-Simulator mit Flask
Erstellen Sie eine Notebook-Pipeline mit Kedro + Papermill
Machen Sie mit matplotlib eine teilweise gezoomte Figur
Lassen Sie uns mit Docker eine dynamische Site kratzen
Machen Sie ein Zeichnungsquiz mit kivy + PyTorch
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
Machen Sie eine Logikschaltung mit Perceptron (Multilayer Perceptron)
Machen Sie Ja Nein Popup mit Kivy
Lassen Sie uns mit flask-babel eine mehrsprachige Site erstellen
Machen Sie einen Waschtrocknungs-Timer mit Raspberry Pi
Erstellen Sie eine GIF-Animation mit Ordnerüberwachung
Lassen Sie uns eine Kombinationsberechnung mit Python durchführen
Erstellen Sie eine Desktop-App mit Python mit Electron
Lassen Sie uns ein Backend-Plug-In für Errbot erstellen
[Ev3dev] Lassen Sie uns ein Fernsteuerungsprogramm von Python mit dem RPyC-Protokoll erstellen
Ein Memorandum, um WebDAV nur mit Nginx zu erstellen
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen einer Lambda-Funktion