Aus CCCZH

Inhaltsverzeichnis

Hardware

Im Space sind 12 Clusternodes. Jeder Node hat:

  • Core2Quad 2.4GHz
  • 8GB ECC RAM
  • 2 x SCI Interconnect Karten
  • Local HDD (TODO)
(thumbnail)
Die 12 Boards an der Wand. (Kurz nach Montage, mit provisorischer und unvollständiger SCI Verkabelung.)
(thumbnail)
Die 12 Boards mit mehr Kabel. (Strom und Ethernet Kabel nun vollständig.)


Netzwerk

Die nodes sind nicht im "normalen" Clubnetz, sondern in 192.168.2/24. Filedrop ist in beiden und routes. allerdings liefert der CCCZH Router nicht die route ins Cluster-Netz aus. Dnsmasq gibt anhand der MAC-Adressen feste IPs, und zwar 192.168.2.(80+Node#)


OS/Boot/root

filedrop (hat atm den Lease 192.168.1.183) macht mittels dnsmasq TFTP und DHCP Server und serves rootfs via NFS. Je nach konkretem OS muss evtl der Kernel neu kompiliert werden, um das zu ermöglichen.

Konfiguration dnsmasq

Die Konfiguration des dnsmasq server is in der Datei "/etc/dnsmasq.d/clusterboot.conf" und hat folgenden Inhalt:


dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/cluster/
dhcp-range=192.168.2.80,192.168.2.120
dhcp-host=00:1b:fc:99:63:ad,192.168.2.81,node1
dhcp-host=00:1b:fc:ee:f4:10,192.168.2.82,node2
dhcp-host=00:1b:fc:ee:f4:be,192.168.2.83,node3
dhcp-host=00:1b:fc:ee:f4:30,192.168.2.84,node4
dhcp-host=00:1b:fc:ee:f4:49,192.168.2.85,node5
dhcp-host=00:1b:fc:ee:f4:28,192.168.2.86,node6
dhcp-host=00:1b:fc:ee:f4:2d,192.168.2.87,node7
dhcp-host=00:1b:fc:ee:f4:7b,192.168.2.88,node8
dhcp-host=00:1b:fc:ee:f4:1c,192.168.2.89,node9
dhcp-host=00:1b:fc:ee:f4:ce,192.168.2.90,node10
dhcp-host=00:1b:fc:ee:f4:a2,192.168.2.91,node11
dhcp-host=00:1b:fc:ee:f4:35,192.168.2.92,node12

Konfiguration PXE Boot

ls -la /cluster/pxelinux.cfg/
01-00-1b-fc-99-63-ad
01-00-1b-fc-ee-f4-10
01-00-1b-fc-ee-f4-1c
01-00-1b-fc-ee-f4-28
01-00-1b-fc-ee-f4-2d
01-00-1b-fc-ee-f4-30
01-00-1b-fc-ee-f4-35
01-00-1b-fc-ee-f4-49
01-00-1b-fc-ee-f4-7b
01-00-1b-fc-ee-f4-a2
01-00-1b-fc-ee-f4-be
01-00-1b-fc-ee-f4-ce


cat /cluster/pxelinux.cfg/default 
 DEFAULT cluster-debian

 LABEL cluster-debian
 KERNEL vmlinuz-3.2.0-4-amd64
 INITRD initrd.img-3.2.0-4-amd64
 APPEND root=/dev/nfs nfsroot=192.168.2.1:/cluster/nodeimage,rsize=1048576,wsize=1048576
 IPAPPEND 1

Node hinzufügen

das ist nicht spezifisch zur Clusterhardware, im Prinzip kann man jeden Rechner im Netz diesen als NFS-root-Quelle nutzen.

Files: filedrop:/cluster/cluster-tftp; filedrop:/etc/dnsmasq.d/clusterboot.conf

Man startet die hinzuzufügende Node. Sie muss PXE-boot machen. Sie wird von dnsmasq irgendeine IP kriegen, den Bootloader syslinux.0 und die default-configuration (eine Datei in /cluster/cluster-tftp). dnsmasq schreibt ins syslog, dass es keine syslinux-Konfiguration für diese Node findet. default nach 01-${MAC-Adresse} kopieren und darin nodename für das eigentlich rootfs anpassen. rootfs kopieren in den soeben eingegebenen Port. in clusterboot.conf die neue Node als neuen dhcp-host definieren. Startet man die node neu, sollte sie ihr eigenes rootfs über NFS nutzen.


Link Topologie

Geplant (am 12.12.2012) ist ein bidirektionaler 4x3 Torus als Topologie für den Cluster-Interconnect. Die Nodes sind in Leserichtung von Node1 bis Node12 durchnummeriert.

(thumbnail)
Eine mögliche Verlinkung der 12 Nodes. (Rechts unten Schema eines 3x4 Torus und oben tatsächlicher Kabelverlauf.)
(thumbnail)
Stecker der SCI Card. Links zwei mal Output (O, blau) und rechts zwei mal Input (I, gelb).
(thumbnail)
Die selbe Verlinkung unter Einbezug der asymmetrischen Form der Stecker. Ziel: möglichst keine der flachen Bandkabel zu verdrehen.

Für einen bi-direktionalen Torus brauchen wir in jede Richtung (grosser und kleiner Radius) je zwei input und 2 output Links. Deshalb benötigen wir zwei SCI Karten pro Node.

(thumbnail)
Zwei SCI Karten pro Node.


(thumbnail)
Viele kurze SCI Kabel für noch mehr Kabelsalat :-)


(thumbnail)
Vollständige SCI Verkabelung (in der Mitte Node 5 auf Node 11), sehr eng und chaotisch aber machbar.


Weitere Ideen

Intern:Cluster

Meine Werkzeuge