USB vs SATA vs ?

lemba

Ensign
Registriert
Sep. 2008
Beiträge
205
Hi Leute,
folgende Thematik:
Auf meinem Selbstbau-NAS (15TB, Raid5) läuft ein Plex-Server auf den bis zu 4 Freunde gleichzeitig zugreifen.
Im Zuge eine Hardware Updates bin ich am Überlegen, den Raidverbund gegen 1 einzelne Platte (zw. 14-18TB) auszutauschen.
Meine Frage auf die ich auch durch Recherche keine Antwort finden konnte: Wie Performant ist eine ext. USB3 Festplatte im Vergleich zu einer internen SATA Platte, bei mehreren gleichzeitigen Zugriffen von z.B Plex? Begrenzt der USB-Anschluss die gleichzeitigen Zugriffe oder gibt es da keine Unterschiede mehr zu anderen Anschlüssen?
 
Bei mehreren gleichzeitigen Zugriffen auf eine HDD begrenzt eigentlich nie die Schnittstelle, sondern immer die Zugriffszeiten der HDD... (also von USB1/2 mal abgesehen)
 
  • Gefällt mir
Reaktionen: lemba
tollertyp schrieb:
Bei mehreren gleichzeitigen Zugriffen auf eine HDD begrenzt eigentlich nie die Schnittstelle, sondern immer die Zugriffszeiten der HDD...
Okay 👌. Ich hatte bisher in Erinnerung, das das USB-Protokoll keine gleichzeitigen Zugriffe erlaubt, sondern den "Queue" abarbeitet? Dadurch wird die Zugriffszeit extrem langsam, sobald mehrere gleichzeitige Zugriffe stattfinden?
 
Ich denke auch, dass eher der Lesekopf die Bandbreite senken wird und nicht die Schnittstelle.
Außer du willst 18TB mit SSD :)

Edit:
lemba schrieb:
Okay 👌. Ich hatte bisher in Erinnerung, das das USB-Protokoll keine gleichzeitigen Zugriffe erlaubt, sondern den "Queue" abarbeitet? Dadurch wird die Zugriffszeit extrem langsam, sobald mehrere gleichzeitige Zugriffe stattfinden?
Da weißt du mehr als ich also kann mein Kommentar falsch sein.

Vielleicht hilft ein anderer Blickwinkel:
Macht das aber wirklich so einen Unterschied um sich darüber den Kopf zu zerbrechen? Werden die Übertragungsraten tatsächlich bis aufs Limit ausgereizt? Denn wenn es wirklich riesige Unterschiede geben würde, hättest du sicher was darüber gehört wenn du so informiert bist.
 
USB hat bestimmt noch ein paar Nachteile bei den Protokollen, z.B. devslep oder die CPU Last.
 
lemba schrieb:
Ich hatte bisher in Erinnerung, das das USB-Protokoll keine gleichzeitigen Zugriffe erlaubt, sondern den "Queue" abarbeitet?
SATA überträgt nicht mal ein ganzes Byte gleichzeitig, sondern nur einzelne Bits nacheinander.
-> das macht nichts solange das Protokoll keine zu großen Blöcke abarbeitet und schnell wechseln kann.

Bei USB gilt es eher zu überlegen wie tragisch das ist wenn jemand mittendrin den Stecker zieht. Passiert da schneller als bei einem internen kabel mit Zugsicherung (Clip).
Bei vielen kleinen Zugriffen (bis einstellige kb) und einer schnellen Leitung könnte eine einzelne HDD auch spürbar bremsen. Klingt aber als liefe das über Internet und sofern du keine > 50 Mbit hast ... vermutlich nicht tragisch.
Testen würde ich trotzdem mal, rein aus neugier.
 
USB3.0 ~ SATA (5 GBit/s vs 6 Gbit/s)
Bei HDDs begrenzt bei mehreren gleichzeitigen Zugriffen die Zugriffszeit. (Da hast du dann bei HDDs nur noch Durchsätze von <50MB/s. Bei sequentiellem Lesen/Schreiben begrenzt die Umdrehungszahl/Anzahl Köpfe etc, dann so 200-250MB/s maximal. Die ~600MB/s, die theoretisch mit SATA möglich wären, siehst du bei einzelnen Platten nie.

Bei Raid5 steigt natürlich die maximal mögliche Datenrate mit den Platten (wenn 3 Platten gleichzeitig lesen/schreiben können verdreifacht sich die maximale Rate theoretisch).

In der Praxis wirst du mit 3-4 Platten im Raid5 USB3.0 auslasten können, aber USB3 wird da noch kein wirklicher Flaschenhals sein. Mit USB 3.1 oder 3.2 (10 bzw 20GBit/s) hast du dann ordentlich Luft nach oben.

Viel interessanter für ein NAS ist dann sowieso die Netzwerkverbindung. Oder willst du mehrere PCs gleichzeitig per USB ans NAS anschließen? Wenn es über mehrere Räume per Netzwerk geht, wird die heute normale 1GBit/s Netzwerkverbindung begrenzen.

P.S.: Wenn du nur eine Festplatte hast, sind alle Daten weg, wenn diese Platte ausfällt, und du darfst ein Backup einspielen (, das du ja sicher zusätzlich zum NAS hast). Bei einem Raid5 kann zumindest eine Platte ausfallen, und ihr könnt erstmal weiter arbeiten. Wenn du die gleiche Verfügbarkeit mit einer einzelnen Platte willst, brauchst du einen Raid1. Und damit dann auch wieder 2 Platten im NAS.
Ich würde wahrscheinlich beim Raid5 bleiben. Welche Hardware/Software verwendet ihr für den Raid? Könnt ihr unterschiedlich große Festplatten in den Raid einbinden?
 
Fortatus schrieb:
USB3 ~ SATA (5 GBit/s vs 6 Gbit/s)
Naja so einfach ist es nicht. Beim USB geht du ja nicht mit USB auf die Platte. Der Weg führt ja über die CPU auf USB auf SATA auf HDD....

Der Overhead gerade bei kleinen Daten kann da schon extrem sein.
 
@SpamBot Das sind aber hier unterschiedliche Szenarien. Wir sprechen ja nicht von einer USB-Festplatte, die am PC hängt und alle ihre Kommandos über USB erhalten muss, sondern von einem NAS: D.h. die Festplatten & der Raid haben eine eigene CPU, die die Lese-/Schreibkommandos gibt, die Daten in den RAM lädt und dann über USB ausgibt. Das verringert den Verwaltungsaufwand über USB und erhöht die Geschwindigkeit.

Und selbst mit USB-Festplatten wird heutzutage dank UASP recht schnell über USB gelesen. (Natürlich noch mit Overhead, aber viel weniger als früher. Und außerdem können damit durchsatzsteigerne SATA-Features wie NCQ, was ja z.B. insbesondere bei kleinen Dateien hilft, per USB genutzt werden.)
 
  • Gefällt mir
Reaktionen: lemba
Fortatus schrieb:
Viel interessanter für ein NAS ist dann sowieso die Netzwerkverbindung. Oder willst du mehrere PCs gleichzeitig per USB ans NAS anschließen? Wenn es über mehrere Räume per Netzwerk geht, wird die heute normale 1GBit/s Netzwerkverbindung begrenzen.
Im lokalen LAN greife nur ich auf den Server zu d.h. der gleichzeitige Zugriff erfolgt ausschließlich durch das Streamen über Plex über meine Internetleitung (250Mbit down/50Mbit Up). Das NAS ist mit 2,5Gbit an einer Fritzbox 6660 Cable.
Fortatus schrieb:
P.S.: Wenn du nur eine Festplatte hast, sind alle Daten weg, wenn diese Platte ausfällt, und du darfst ein Backup einspielen (, das du ja sicher zusätzlich zum NAS hast). Bei einem Raid5 kann zumindest eine Platte ausfallen, und ihr könnt erstmal weiter arbeiten. Wenn du die gleiche Verfügbarkeit mit einer einzelnen Platte willst, brauchst du einen Raid1. Und damit dann auch wieder 2 Platten im NAS.
Ich würde wahrscheinlich beim Raid5 bleiben. Welche Hardware/Software verwendet ihr für den Raid? Könnt ihr unterschiedlich große Festplatten in den Raid einbinden?
Der Unterschied zwischen Raid und Backup ist mir schon bewusst (meine wichtigsten Daten sind eh 3-fach gesichert). Das Raid5 wird von mir unter Linux mit mdadm verwaltet.
Fortatus schrieb:
Das sind aber hier unterschiedliche Szenarien. Wir sprechen ja nicht von einer USB-Festplatte, die am PC hängt und alle ihre Kommandos über USB erhalten muss, sondern von einem NAS: D.h. die Festplatten & der Raid haben eine eigene CPU, die die Lese-/Schreibkommandos gibt, die Daten in den RAM lädt und dann über USB ausgibt. Das verringert den Verwaltungsaufwand über USB und erhöht die Geschwindigkeit.
Das ist genau die Frage, reicht eine Platte per USB3.x als Datenträger für das NAS oder bremst die bei 4 gleichzeitigen Zugriffen?
 
Zuletzt bearbeitet:
lemba schrieb:
Im lokalen LAN greife nur ich auf den Server zu d.h. der gleichzeitige Zugriff erfolgt ausschließlich durch das Streamen über Plex über meine Internetleitung (250Mbit down/50Mbit Up). Das NAS ist mit 2,5Gbit an einer Fritzbox 6660 Cable.
also hust da würde ich mir ja nur begrenzt sorgen machen. Mal angenommen die anderen haben auch nicht mehr als 50 Mbit upload.
Theoretischer Worst case - spoileralarm: da kann die platte schon bremsen
lesend 50 Mbit/s -> 6,25 MB/s, das belastet weder die Platte, noch die Schnittstelle nennenswert. Außer natürlich da liest jemand 1 Byte Dateien in Massen, aber praxisnah fällt das erstmal nicht ins gewicht.
schreibend 250 Mbit/s -> 31,25 MB/s das wäre bei HDDs aus den 90ern schon viel, aber heute? Selbst eine WD30EFRX (alte WD Red 3 TB) schaufelt das schon in 2 kb Blöcken weg. Theoretisch, da kommt noch Overhead fürs Dateisystem drauf, aber andererseits wäre das Schreibzugriff, es kann also gut gecached werden. Bei einer Blockgröße von typischerweise 4k im wahrscheinlich genutzten NTFS auch eher ausreichend.

Wenn du allerdings 2,5 Gbit/s im LAN hast kannst du die Platte selbst auslasten. Theoretische 320 MB/s schafft die eher nicht. Wenn du also gerade die Platte ans limit bringst und dann noch 4 andere irgendwas darauf schreiben/lesen, dann und vermutlich nur dann bremst da etwas. Allerdings immer noch die Platte und nicht die Schnittstelle.
Wenn du entspannt mit 250 MB/s vom NAS lesen und schreiben willst während andere da unter voller auslastung deines Internetanschlusses darauf herumfuhrwerken würde ich empfehlend doch eine SSD zu nehmen, oder die Last mit reichlich cache auf eher 3 als 2 HDDs zu verteilen. keine ahnung ob ein klassisches raid das so problemlos macht, ich würde dann zfs nehmen, 4 HDDs, eine davon parität und 32+ GB RAM, davon 8-16 für den ZFS cache. Dann bremst da wahrscheinlich nichts mehr sofern man nicht wieder theoretische Tests nimmt, oder eben doch mal ein paar millionen 4 kb Dateien von SSD aufs NAS schieben will. Soll ja vorkommen.

edith: also wenn man schon so genau auf die performance guckt ...
es ist wichtig zu unterscheiden was für zugriffe man haben will. schreibende zugriffe kann man wie erwähnt gut puffern um so z.b. die schwäche von HDDs bei kleinstzugriffen durch deren kopfbewegungen auszugleichen. erstmal puffern, dann kann die theoretisch die 256 4 kb Dateien als einen 1 MB großen Block schreiben, problem gelöst. Vereinfacht, aber so in etwa.

lesenden zugriff kann man so aber nicht ausgleichen. da kann man nur gut raten was als nächstes gelesen werden könnte und das schon mal vorrätig halten. Entweder hofft man dass dass gleiche noch mal gelesen wird (afaik windows strategie auch in win10), oder dass bei kleinstzugriffen (einzelne Bits und Bytes) auch die folgenden gelesen werden sollen (strategie bei CPU Caches und RAM, für Massenspeicher eher irrelevant) oder man zählt mit wie oft etwas gelesen wird und hält die Daten auf die am häufigsten zugegriffen wird vorrätig.
ZFS hat den Vorteil dass es sowohl letzteres macht, also auch die zuletzt gelesenen Daten erstmal zwischenspeichert für einen erneuten zugriff. Dadurch ist der Cache robuster als bei z.b. NTFS unter windows, oder ext4 unter ubuntu.

Da du in deinem Usecase aber nur geringfügig (50 Mbit/s) lesenden Zugriff hast, abgesehen von deinem eigenen aus dem LAN heraus fällt das hier praktischerweise nur schwach ins gewicht.
Was bleibt ist dass es der Schnittstelle egal ist ob gelesen oder geschrieben wird.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: lemba
@Bigeagle : Danke für die ausführliche Antwort.
@All : Danke euch auch für die Antworten.
Dann werde ich höchstwahrscheinlich auf eine USB Festplatte an einem Intel NUC upgraden.
 
Zurück
Oben