PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iSCSI Suse 10.0 Dienst starten



mullfreak
02.10.06, 16:55
Hi,
ich will eine Suse 10.1 an eine NetApp FAS270c anschließen. Dies soll über IP/SAN passieren, mit Hilfe open-iscsi. Um nicht gleich produktiv die Tests durchzuführen, wurde auf Vmware ein Suse 10.1 in Textmodus und ein "OpenFiler"-System installiert. Auf dem Openfiler ist ein funktionsfähiges Target mit iScsi drauf.

Zur Installation von open-iscsi richte ich mich nach folgendem Tutorial:

http://en.opensuse.org/Open-iSCSI_and_SUSE_Linux

Jetzt komme ich zum Part des startens und ich hab folgenden Fehler beim Start:

suse:/var/log # /etc/init.d/open-iscsi start
Starting iSCSI initiator service: FATAL: Module ib_iser not found.
done

syslog verrät folgendes beim Start:
suse:/var/log # tail /var/log/messages
Oct 2 17:47:00 suse kernel: scsi_transport_iscsi: module not supported by Novell, setting U taint flag.
Oct 2 17:47:00 suse kernel: Loading iSCSI transport class v2.0-685.
Oct 2 17:47:00 suse kernel: libiscsi: module not supported by Novell, setting U taint flag.
Oct 2 17:47:00 suse kernel: iscsi_tcp: module not supported by Novell, setting U taint flag.
Oct 2 17:47:00 suse kernel: iscsi: registered transport (tcp)
Oct 2 17:47:00 suse iscsid: iSCSI logger with pid=3039 started!
Oct 2 17:47:01 suse iscsid: transport class version 2.0-685. iscsid version 2.0-692
Oct 2 17:47:01 suse iscsid: an InitiatorName= is required, but was not found in /etc/iscsi/initiatorname.iscsi
Oct 2 17:47:01 suse iscsid: exiting due to configuration error
Oct 2 17:47:01 suse iscsid: iSCSI daemon with pid=3040 started!

Hier die Fehlermeldung beim starten von iscsiadm:
suse:~ # iscsiadm -m discovery -t st -p 192.168.111.135
iscsiadm: can not connect to iSCSI daemon!
iscsiadm: exiting due to configuration error

Frage 1: Was ist "Module ib_iser"???
Frage 2: Gibt es andere Möglichkeiten zur Installation von iscsi?

Danke für Eure Antworten.

Mull

bla!zilla
02.10.06, 19:19
Oct 2 17:47:01 suse iscsid: an InitiatorName= is required, but was not found in /etc/iscsi/initiatorname.iscsi
Oct 2 17:47:01 suse iscsid: exiting due to configuration error
Oct 2 17:47:01 suse iscsid: iSCSI daemon with pid=3040 started!


Bitte korrigiere diesen Fehler. Und schau noch mal. Unter http://www.open-iscsi.org/ findest du weitere Infos.


ISER schickt iSCSI über RDMA (InfiBand....) und ist ein alternativer Transport zu iscsi_tcp.

mullfreak
02.10.06, 21:23
Tja, was soll ich da sagen???
Wer lesen kann, ist klar im Vorteil. Aber bei der Administration ist es wie im Krieg: Mit Verlusten ist zu rechnen!!!

So, nachdem ich nun die initiatorname.iscsi angepasst habe, funktioniert es einwandfrei.
Es war sofort möglich eine Verbindung zu dem Volume aufzubauen. Dies habe ich getan und dann mit YAST2 ein neue Partition mit ReiserFS angelegt. Danach den Test mit "dd" ausprobiert. Funktionierte auch.

Nach einem Reboot ging natürlich nix mehr. Ich mach jetzt mal weiter und hoffe Du kannst mir evtl. nochmal helfen.

Gruss
Mull

bla!zilla
03.10.06, 10:45
Was heißt "Nach einem Reboot ging natürlich nix mehr"? Meinst du damit das automatische Verbinden zu iSCSI Volumes bei Start? Das macht das Init-Skript des iscsid eigentlich automatisch, und zwar für alle Verbindungen mit dem Status "automatic", siehe auch der Teil des Init-Skriptes:


iscsi_login_all_nodes()
{
TARGETS=$($ISCSIADM -m node | sed 's@\[\(.*\)\] .*@@g')
for rec in $TARGETS; do
STARTUP=`$ISCSIADM -m node -r $rec | grep "node.conn\[0\].startup" | cut -d' ' -f3`
NODE=`$ISCSIADM -m node -r $rec | grep "node.name" | cut -d' ' -f3`
if [ $STARTUP = "automatic" ] ; then
echo -n "Logging into $NODE: "
$ISCSIADM -m node -r $rec -l
rc_status -v
fi
done
}

Das kannst du mit dem iscsiadm machen. Ein Beispiel:

iscsiadm -m node -r b40fe0 -o update -n node.conn[0].startup -v automatic

b40fe0 ist in dem Fall deine Node ID. Danach kannst du das mit iscsiadm -m node -r b40fe0 kontrollieren. Zudem will ich dir diesen Link (http://en.opensuse.org/Open-iSCSI_and_SUSE_Linux) ans Herz legen. :)

mullfreak
03.10.06, 11:41
hi blazilla,

genau, nach dem neustart konnte sdb nicht mehr gefunden werden. das lässt darauf schließen, dass beim neustart iscsi sich nicht mehr verbindet.

ich hab jetzt wieder eine neuinstallation von suse 10.1 durchgeführt und bin deine anleitung wieder schritt für schritt durchgegangen. jetzt gibt es keine probleme mehr.

beim einloggen reicht bei mir nicht der befehl:
iscsiadm -m node 2281f3 -l
ich brauche:
iscsiadm -m node -r a3f400 -l

dann kann ich auch am openfiler die verbindung sehen und das neue block device wird mir mit dmesg angezeigt.

jetzt werde ich mit yast die partition formatieren. vorher habe ich deinen tip wahrgenommen und folgenden befehl ausgeführt:
iscsiadm -m node -r b40fe0 -o update -n node.conn[0].startup -v automatic
natürlich habe ich hier meinen node gesetzt.

danke auch für den link. den hab ich in meinem thread schon angegeben. hier nochmal eine frage:
der autor des tutorials verändert init.d skript. dies machst du nicht. hat das einen bestimmten grund?

gruss
mull

bla!zilla
03.10.06, 16:19
Nö. Kann man machen, braucht man aber nicht zwingend. Ich hatte hier mal ein extrem-kurz HowTo zu Open-iSCSI geschrieben. Musst du mal per SuFu suchen.

mullfreak
03.10.06, 18:06
hi blazilla,

kurz aber fein. auf jeden fall hauts besser hin, wie mit der monster anleitung. ich hab jetzt eine funktionierende konfiguration auf das openfiler target. wenn ich jedoch die verbindung im betrieb trenne und wieder verbinde, dann kriege ich statt sdb auf einmal sdc. kann ich mir nicht erklären???

wenn ich nun sdb partitioniere und formatiere, mit yast, dann ist die platte fertig eingehängt und ich kann darauf daten speichern. nur bei einem neustart wird sdb nicht mehr gemountet, weil ja das netzwerk noch nicht zur verfügung steht, wenn das betriebssystem versucht die partition einzuhängen.

ich mach jetzt mal weiter mit der turbo-anleitung von open-suse und versuche das problem zu beheben.

ich werde mich auf alle fälle nochmal melden und mit hundertprozentiger wahrscheinlichkeit hab ich noch fragen. so kurz vor dem ziel gibt es kein aufgeben.

gruss
mull

bla!zilla
03.10.06, 18:13
Schau mal in die /proc/scsi/scsi. Da steht garantiert noch das alte Device drin und wurde da nicht sauber entfernt. Versuch mal ein echo "scsi remove-single-device 1 2 3 4" > /proc/scsi/scsi, wobei 1, 2, 3 und 4 für Controller, Bus, ID und LUN stehen. Das gleiche gibt es auch mit echo "scsi add-single-device 1 2 3 4" > /proc/scsi/scsi. Damit kannst du dann Devices eintragen. Aber auch hier: Kinder, macht sowas nicht zu Hause nach. ;) Bitte nicht in produktiven Umgebungen versuchen, und dann auch noch mit LUNs die im Zugriff sind. ;)

mullfreak
09.10.06, 00:38
Hi blazilla,

leider bin ich noch nicht richtig weitergekommen. Auf jeden Fall kann ich jetzt mal mit rcopen-iscsi start das target verbinden. Ich muss dann sdb1 z. B. nach /openfiler mounten und habe so Zugriff auf die Daten. Dies wäre bei jedem Restart notwendig. Der automatische Start klappt noch nicht.

Auffällig ist, das bei einem disconnect des targets die daten auch existent sind, die nach /openfiler gespeichert wurden. Obwohl kein target verbunden ist. Ist das normal?

Als Variante habe ich jetzt mal SLES10 installiert und damit versucht eine Verbindung zu bekommen. Hier kriege ich aber nur eine Fehlermeldung, in etwa "Could not parse ... Bug?" wenn ich versuche das target zu verbinden. Der Dienst startet sauber und messages meldet auch keinen Fehler.
Über die Yast-Konsolen passiert gar nix. Ich sag ihm er soll bei dieser IP ein target suchen, dann springt die Konsole wieder zurück und es steht nix in dem Auswahlfenster. Irgendwie komisch.

Als 2. Variante habe ich mir mal von unserem externen Linuxprofi ein unverbindliches Angebot erstellen lassen. Der will stolze 2.400 Euro netto für die ganze Sache. Das kriege ich in einem Invest nie durchgedrückt.

Mit Suse 10.0 wollte ich es auch probieren. Dort kriege ich die Fehler schon beim make in der open-iscsi Installation.

Bin ich zu blöd oder check ich es nicht ... ???

Mullfreak

bla!zilla
09.10.06, 08:04
Auffällig ist, das bei einem disconnect des targets die daten auch existent sind, die nach /openfiler gespeichert wurden. Obwohl kein target verbunden ist. Ist das normal?

Sicher das du auf das Blockdevice geschrieben hast und nicht einfach nur in den Ordner, unter dem du das Blockdevice mountest?

mullfreak
09.10.06, 08:53
Wie kann ich das sicherstellen?

bla!zilla
09.10.06, 10:38
man mount. ;)

Du solltest das Blockdevice schon gemountet haben. Wenn nicht, schreibst du einfach in den Ordner rein. Wenn du mal auf das Blockdevice geschrieben hast, und einmal in den Ordner, und in beiden Ordnern ist der gleiche Inhalt, ist es egal ob du das Blockdevice gemountet hast oder nicht. Du siehst immer den gleichen Inhalt. Nur einmal liegen die Daten auf dem Blockdevice und einmal auf der lokalen Platte.

mullfreak
10.10.06, 19:56
Hi blazilla,

jetzt kann ich das erste mal von "Erfolg" reden!!!

Ich habe weitere Versuche unternommen und jetzt funktioniert es. Jedoch benutze ich Dein Tutorial das Du vor ein paar Monaten hier am Board hinterlassen hast. Dies zum Hauptteil zur Installation. Die meisten Befehle nutze ich aus dem Tutorial von OpenSuse. Ebenfalls hier das automatische mounten des Volume beim Reboot.

Wird jetzt die Verbindung getrennt, dann kann ich auch keine Files in dem mount ansehen. So muss es sein!

Danke Dir für Deine Hilfe.

Mullfreak

bla!zilla
10.10.06, 21:36
Freut mich!