Gerätenamen für SSA-Platten nach Steckplatz vergeben
Inhalt
- Das Problem
- Die Zuordnung von Seriennummer und Steckplatz
- Löschen aller Informationen über die SSA-Platten aus ODM und /dev
- Vergabe der pdisk-Nummern
I. Das Problem
Der AIX-Konfigurationsmanager cfgmgr
vergibt für alle SSA-Platten zwei Gerätenamen,
die sowohl im /dev
-Verzeichnis als auch in der ODM abgebildet werden:
- einen pdisk-Namen (physikal disk): pdiskX und
- einen hdisk-Namen (harddisk): hdiskY,
wobei insbesondere X ungleich Y ist.
Diese Ungleichheit liegt an der Systematik,
mit der der Konfigurationsmanager die fortlaufenden Nummern X und Y der Gerätenamen vergibt:
Es wird für ein neu zu konfigurierendes Gerät die kleinste freie Nummer gewählt; da bereits die internen
SCSI-Platten einen Gerätenamen hdisk
Y erhalten -- aber keinen
pdisk
-Namen --, ist Y in der Regel um die Anzahl der internen SCSI-Platten
höher als X, welches im Betrieb zu Flüchtigkeitsfehlern mit u.U. fatalen Folgen führen kann.
Desweiteren werden die fortlaufenden Nummern der Gerätenamen nach den SSA-Seriennummern hochgezählt. Da die SSA-Platten i.A. unsortiert in die SSA-Einschübe gesteckt werden, gibt es keinen einfachen Überblick über den Steckplatz. Darüberhinaus werden für leere Plätze keine Nummern freigehalten, selbst wenn man sich die Mühe macht und die Platten nach Seriennummer sortiert in die Einschübe steckt.
Bei einem SSA-System, in dem Dateisysteme über zwei SSA-Subsysteme gespiegelt werden, ist es insbesondere mühsam und zeitaufwändig die richtige Platte für eine Kopie zu finden, und man hat am Ende womöglich ein unsysmmetrisch gespiegeltes System, das den Ausfall eines ganzen SSA-Subsystems nicht abfedern kann.
Es ergibt sich demnach eine Notwendigkeit, die Nummerierung der pdisk- und hdisk-Namen nicht dem Zufall und damit nicht dem Konfigurationsmanager zu überlassen. Ein solcher Weg, der anfangs zwar ein bisschen mehr Arbeit erfordert, sich aber durch ein sehr viel überschaubareres System auszahlt, soll in den nächsten Abschnitten aufgezeigt werden.
II. Die Zuordnung von Seriennummer und Steckplatz
a. D40/T40
D40 heißen die SSA-Einschübe für 19"-Racks (D für Drawer) und
T40 die SSA-Standmodelle (T für Tower), die zur Zeit von IBM angeboten werden.
Auf der Vorderseite dieser Modelle wird ein vierstelliger, hexadezimaler Code angezeigt,
anhand dessen ein Drawer (oder Tower) identifizierbar ist. Dieser Code kann mit
aix# diag |
eingestellt werden. So lässt sich der Code für das erste System auf "A001" und für das zweite System auf "B002" stellen, so dass sich die Plattenbezeichnungen aus diesem Code und dem Steckplatz zusammensetzen lassen. Nach dem Einstellen des Codes mit diag muss der Konfigurationsmanager aufgerufen werden:
aix# cfgmgr |
Die Seriennummern der Platten sind zum einen auf jede einzelne Platte aufgeklebt, zum anderen lassen sie sich mit dem Kommando
aix# lsdev -Cc pdisk -F "name connwhere location type" pdisk0 0040AABB066800D 10-58-A001-02-P scsd pdisk1 00609441AE6400D 10-58-A001-06-P scsd pdisk2 00609441AE9200D 10-58-A001-04-P scsd pdisk3 00609441AF3700D 10-58-A001-07-P scsd pdisk4 00609441B1A900D 10-58-A001-01-P scsd pdisk5 00609441BABE00D 10-58-A001-03-P scsd pdisk6 00609441BAC400D 10-58-A001-05-P scsd pdisk7 0060941C372400D 10-58-A001-08-P scsd pdisk8 000629D2BE2500D 10-68-B002-08-P scsd pdisk9 000629D2F84F00D 10-68-B002-07-P scsd pdisk10 000629D28B8E00D 10-68-B002-03-P scsd pdisk11 000629D2EC8000D 10-68-B002-04-P scsd pdisk12 0060941C44DB00D 10-68-B002-01-P scsd pdisk13 0060941C5CF100D 10-68-B002-05-P scsd pdisk14 0060941C5CF200D 10-68-B002-02-P scsd pdisk15 0060941C5EA100D 10-68-B002-06-P scsd |
auslesen. Dieses Kommando gibt auch Auskunft über Drawer (orange hervorgehoben) und Steckplatz (fett dargestellt).
b. D20/020/620
Bei den älteren SSA-Systemen unterscheidet sich das «connwhere»-Attribut deutlich von der unter a. beschriebenen Logik, so dass ein automatisches Sortieren nicht möglich ist.
III. Löschen aller Informationen über die SSA-Platten aus ODM und /dev
Bevor es losgehen kann, müssen alle vorhandenen Informationen über die SSA-Platten aus der ODM gelöscht werden. Dies kann auch geschehen, falls sich bereits Daten auf den Platten befinden, denn diese werden durch die folgenden Schritte keineswegs gelöscht. Für diesen Fall sind sämtliche Volume Groups, zu denen die SSA-Platten gehören, zunächst zu exportieren. Bei einem neuen System fällt dieser Schritt natürlich weg.
Im folgenden Beispiel wird angenommen, dass auf den internen Platten nur die rootvg liegt und dass SSA-Platten zur ssavg gehören. Die Befehle funktionieren, wenn Sie die ksh verwenden.
aix# exportvg ssavg aix# PDLIST=$(lsdev -Cc pdisk awk '{print $1}') aix# ROOTHD=$(lspv | grep -w 'rootvg' | awk '{print $1}') aix# HDLIST=$(lsdev -Cc disk | awk '{print $1}') aix# for hd in $HDLIST; do echo $ROOTHD | grep -w $hd >/dev/null || rmdev -dl $hd ; done hdisk4 deleted hdisk5 deleted hdisk6 deleted hdisk7 deleted hdisk8 deleted hdisk9 deleted hdisk10 deleted hdisk11 deleted [...] aix# for pd in $PDLIST; do rmdev -dl $pd; done pdisk0 deleted pdisk1 deleted pdisk2 deleted pdisk3 deleted pdisk4 deleted pdisk5 deleted pdisk6 deleted pdisk7 deleted [...] |
Nun sind alle Altlasten beseitigt und wir können mit der ...
IV. Vergabe der pdisk- und hdisk-Nummern
... beginnen. Mit folgendem Befehl wird ein pdisk
-Name für eine SSA-Platte vergeben:
aix# mkdev -l pdiskX -p ssar -c pdisk -t scsd -w Seriennummer |
Ähnlich wie die pdisk
-Namen werden auch die hdisk
-Namen vergeben:
aix# mkdev -l hdiskY -p ssar -c disk -t hdisk -w Seriennummer |
Nun, da wir wissen, welche Seriennummer zu welchem Einschub (II.) gehört, und wir eine Vergabe der Nummern nach Anschluss (1-8) und nach Drawer (1 und 2) vorgenommen haben, fassen wir alles in einer kleinen Datei zusammen ...
#!/bin/ksh function MKDEV { mkdev -l p$1 -p ssar -c pdisk -t scsd -w $2 mkdev -l h$1 -p ssar -c disk -t hdisk -w $2 } MKDEV disk101 00609441B1A900D MKDEV disk102 0040AABB066800D MKDEV disk103 00609441BABE00D MKDEV disk104 00609441AE9200D MKDEV disk105 00609441BAC400D MKDEV disk106 00609441AE6400D MKDEV disk107 00609441AF3700D MKDEV disk108 0060941C372400D MKDEV disk201 0060941C44DB00D MKDEV disk202 0060941C5CF200D MKDEV disk203 000629D28B8E00D MKDEV disk204 000629D2EC8000D MKDEV disk205 0060941C5CF100D MKDEV disk206 0060941C5EA100D MKDEV disk207 000629D2F84F00D MKDEV disk208 000629D2BE2500D echo echo All done. echo |
... und führen diese aus. Danach haben Sie endlich überschaubare hdisk- und pdisk-Namen:
aix# lsdev -Cc pdisk -F "name connwhere location type" pdisk101 00609441B1A900D 10-58-A001-01-P scsd pdisk102 0040AABB066800D 10-58-A001-02-P scsd pdisk103 00609441BABE00D 10-58-A001-03-P scsd pdisk104 00609441AE9200D 10-58-A001-04-P scsd pdisk105 00609441BAC400D 10-58-A001-05-P scsd pdisk106 00609441AE6400D 10-58-A001-06-P scsd pdisk107 00609441AF3700D 10-58-A001-07-P scsd pdisk108 0060941C372400D 10-58-A001-08-P scsd pdisk201 0060941C44DB00D 10-68-B002-01-P scsd pdisk202 0060941C5CF200D 10-68-B002-02-P scsd pdisk203 000629D28B8E00D 10-68-B002-03-P scsd pdisk204 000629D2EC8000D 10-68-B002-04-P scsd pdisk205 0060941C5CF100D 10-68-B002-05-P scsd pdisk206 0060941C5EA100D 10-68-B002-06-P scsd pdisk207 000629D2F84F00D 10-68-B002-07-P scsd pdisk208 000629D2BE2500D 10-68-B002-08-P scsd |