darkuser
Goto Top

Datenbanktauglichkeit von iSCASI

Quelle: Wikipedia
iSCSI (internet Small Computer System Interface) ist ein Verfahren, welches die Nutzung des SCSI-Protokolls über TCP ermöglicht.
Der Zugriff auf die Festplatten erfolgt blockbasierend, ist also auch für Datenbanken geeignet.

Nun also meine Frage:

Was wird hier unter blockbasiert verstanden, und was hat ein blockbasierter Zugriff mit Datenbanken zu tun?
Wird die Datenbank in Blöcken abgelegt und kann deshalb nur von ISCSI oder SCSI als Protokoll gelesen werden?

Vielen Dank schon mal für eure Hilfe

MfG
darkuser

Content-Key: 115037

Url: https://administrator.de/contentid/115037

Printed on: April 16, 2024 at 23:04 o'clock

Member: AndreasHoster
AndreasHoster Apr 30, 2009 at 09:16:53 (UTC)
Goto Top
Bei iSCSI greift der Rechner direkt auf einzelne Sektoren der "Festplatte" zu und addressiert diese auch entsprechend. Und das Protokoll ist auch dafür ausgelegt daß man schnell direkt diese einzelnen Sektoren lesen kann.
Bei SMB (=Windows Shares) wird dagegen auf Dateien und Bereiche von Dateien zugegriffen.

Datenbanken lesen jetzt aus großen Dateibereichen immer viele einzelne kleine Blöcke und dafür ist SMB einfach nicht ausgelegt und optimiert (was man durchaus merken kann, wenn man mal eine größere Access MDB auf einem Netzshare hat) während mit iSCSI der Zugriff auf einzelne Blöcke eben sehr gut funktioniert.
Member: darkuser
darkuser Apr 30, 2009 at 09:30:11 (UTC)
Goto Top
Halle AndreasHoster,

vielen dank erst einmal.

Also ich hab das jetzt so verstanden, dass die Sektoren der Festplatte (ich glaube 512 byte groß) von iSCSI direkt angesprochen werden.
Also iSCSI greift als Beispiel auf Block 11 der Test.sql zu.
Aber woher weiß das Protokoll, auf welchen Block es zugreifen soll, wenn eine Anfrage kommt.
Das muss dann irgendwo einen Index geben, oder liege ich da jetzt falsch?

Oder lesen Datenbanken IMMER nur blockbasiert die Dateien (MDB, SQL etc)
Member: maretz
maretz Apr 30, 2009 at 09:36:11 (UTC)
Goto Top
Um es einfach zu machen (und sicher nicht ganz richtig) kannst du es dir so vorstellen das iSCSI dafür sorgt das dein LAN-Kabel (oder LWL,...) eben zum S-ATA-Kabel mutiert...

Du hast auf der iSCSI-Partition nen ganz normalen MBR und formartierst diese auch ganz normal (entsprechend definierst du deine Blockgrösse auch bzw.).
Member: darkuser
darkuser Apr 30, 2009 at 09:47:51 (UTC)
Goto Top
Hi maretz,

auch an dich schon mal vielen Dank.

Ok, die Verbindung von meinem iSCSI - Client zu meinem iSCSI - Target funktioniert wie über ein SCSI Kabel. Das weiß ich.
Das iSCSI Protokoll liest und schreibt auf der Festplatte des Targets blockbasiert.

Datenbanken lesen und schreiben auch blockbasiert.

Ist das jetzt der Vorteil von iSCSI gegenüber TCP?
Wie greift TCP zu?
Über Daten und Bereiche?

Ich hab das Gefühl ich steh aufm Schlauch ^^
Member: maretz
maretz Apr 30, 2009 at 10:00:27 (UTC)
Goto Top
Es gibt keinen Vorteil von iSCSI zu TCP -> da das verschiedene Ebenen sind. TCP ist das Transport-Protokoll welches die Daten durchs Netzwerk überhaupt bewegt. Du vergleichst hier also "Äpfel mit Birnen"

Du kannst nur iSCSI mit Netzwerk-Protokoll wie SMB vergleichen. Und hier hat iSCSI eben einiges schneller da es genau für 1 Sache optimiert ist. SMB transportiert ja alles mögliche: Anmeldeinformationen, Dateien, Druckaufträge usw. -> iSCSI überträgt nur ganz stumpf die Festplatten-Kommandos.

Etwas genauer findest du es z.B. hier: http://www.all-about-security.de/security-artikel/netzwerk-sicherheit/n ...
Member: darkuser
darkuser Apr 30, 2009 at 10:39:09 (UTC)
Goto Top
Danke,

ich glaube jetzt habe ich es.

aber eine Frage habe ich da noch:

Du behauptest, dass tcp "nur"das Trransportprotokoll ist.

hast du eine Quelle in der die Schciht von iSCSI angegeben wird?
Das wäre noch ganz hilfreich.