PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Open iSCSI: Reihenfolge Mounting <> iSCSI-Anbindung beim Systemstart



uners
04.10.13, 11:22
Hallo Forum,

ich habe ein Debian Jessie System als Open-iSCSI-Initiator und 4 LUNs, die von einem Diskarray bereitgestellt werden.

Die Anbindung mit dem Befehl
iscsiadm -m node --targetname "iqn...blubbblubbmytargetname" --portal "10.201.33.101:3260" --login funktioniert bestens. Ich habe die LUNs im System, kann sie partitionieren, formatieren und einbinden (mounting).

Wenn ich den Rechner neu starte, versucht das System offenbar in der ungünstigen Reihenfolge

1. Mounting
2. iSCSI-LUN-Mapping

die Aufgaben abzuarbeiten.

Es kommt dann freilich für die LUNs zu einer Mount-Fehlermeldung, da das Mapping erst hinterher stattfindet.

Ist das System dann gestartet, hat die Einbindung nicht funktioniert - da sie nicht zweimal durchgeführt wird.

Nun könnte man mglw. versuchen, einfach (per rc.local?) den Mount-Befehl nochmal durchzuführen, aber gibt es daneben auch die Möglichkeit, das iSCSI-LUN-Mapping VOR dem Mount-Befehl durchführen zu lassen?

Vielen Dank für eure Antworten.

Gruß,
Bob

nopes
04.10.13, 13:45
Dein Problem ist durch das "Init-System (http://de.wikipedia.org/wiki/Init)" lösbar, da wird ja fest gelegt was, wann gestartet wird. Also ein passend Skript erstellen und entsprechend Platzieren; das mounten würde ich dort ebenfalls erledigen, mit no-auto in der fstab, sollte das easy sein (oder du schummelst und machst das per rc.local ;)).

Hier (https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot) wird dein Problem quasi beschrieben, das führt hier hin (https://wiki.debian.org/LSBInitScripts).

Anmerkung:
Früher wurde dafür sysv (http://de.wikipedia.org/wiki/SysVinit) verwendet, da war es relativ einfach die Reihenfolge zu bestimmen (ist natürlich bei jedem synchronen init der Fall). Nun wird aber seit einiger Zeit versucht, das Starten zu beschleunigen, da liegt es nahe, möglichst viel parallel zu tun, also wurde das synchrone sysv durch das asynchrone systemd (http://de.wikipedia.org/wiki/Systemd) ersetzt. Da ist es natürlich nicht so einfach die Reihenfolge zu gewährleisten (das Debian Team hat auch eine Umfrage (http://people.debian.org/~stapelberg/2013/05/27/systemd-survey-results.html) dazu gestartet, bei der beschlossen wurde das systemd toll ist. Bedenken wie "systemd is too complex, or bloated, or it does too many things, or has too many dependencies" zum Trotz). Tja, schöne neue Welt was :confused:. So nun aber genug über MS-Style-Inits gelästert. Versuch einfach zu verstehen was ein Init-System machen muss, welches dein System verwendet und dann wie man es einstellt.

uners
07.10.13, 10:59
Vielen Dank @nopes für deine Antwort.

Werde es mal mit dem Init-Script versuchen.

Habe festgestellt, daß auch beim Poweroff oder Reboot das System ein Problem hat: Es beendet zuerst die iSCSI-Anbindung der LUNs und versucht dann die Devices auszuhängen - das Unmounting schlägt natürlich fehl und das System bleibt hängen.

Gibt es auch ein Herunterfahr-Abarbaeitungssystem oder müsste ich dann die eingebauten Befehle "Reboot", "Poweroff", "Shutdown..." meiden, und stattdessen per Skript herunterfahren, das zunächst den Unmount der Devices durchführt und dann die iSCSI-Anbindung löst?

Mensch, ich wollt' doch alles möglichst auf default lassen und da kommt mir die Abarbeitungsreihenfolge quer...

nopes
07.10.13, 11:24
Beim herunterfahren wird ebenfalls über das Init-System bestimmt, was wann beendet wird. Klassisch (also sysv) wird das herunterfahren in /etc/rc0.d geregelt.