Festplatte mit 4KB Sektorgröße

Ich kann nur für FreeBSD sprechen. Dessen altes ATA-Framework hat die 512 Byte auch fest reingecodet und entsprechend ähnliche Probleme wie Windows XP. Allerding wird das Framework gerade neu implementiert. Diese Neuimplementierung basiert auf CAM, einer ursprünglich für SCSI entwickelten Schnittstelle. Diese unterstützt von Haus aus Variable Blockgrößen, sollte also keine Probleme machen. Das ist aber alles Theorie, für die Praxis bräuchte man eine Platte. :)
 
@ condor: Danke für den Link

Das heißt wohl bei diesen neuen Festplatten erstmal die Finger weg. Bis der ganze Spaß auch unterstützt wird und man die Geschwindigkeitsvorteile auch tatsächlich nutzten kann.
 
Ich hänge mich mal gleich an den Thread an. Hat jemand da schon mal gefrickelt?

Ich habe hier drei Quellen gefunden die leicht unterschiedliches sagen aber auch unterschiedlich alt sind:
1) http://forums.freebsd.org/showthread.php?t=11337
2) http://old.nabble.com/zfs-on-4k-sector-disks-td27664932.html
3) http://lists.freebsd.org/pipermail/freebsd-current/2009-December/014663.html + ganzer fred

1) behauptet mit gpart könne man das richten, 3) widerspricht dem (und sieht vertrauenswürdiger aus).

Dann gibt es noch den Vorschlag von Pawel in 2), den ich aber nicht ganz verstehe. Reicht es einfach das virtuelle device zu erzeugen, darauf das FS anzulegen und zu mounten? Wenn ich jedesmal nach dem Starten das neuanlege, geht das dann? Oder sollte man innerhalb so eines virtuellen devices eine gpt-Tabelle mit Partitionen anlegen? Und was passiert wenn da geli ins spiel kommt?
Könnte das so gehen:
Code:
device -> gnop -> geli -> gpt
                                           |-------- ufs1
                                           |---------ufs2
(lol das sähe dann so aus /dev/da0.nop.elip1:ugly:)

Dann müsste gpart das trotzdem noch machen können, oder nicht? Ich meine die 4KiB müssen doch auf jedem Layer eingestellt werden und immer snychron sein und zusätzlich zur Hardware oder nicht?

Booten würde ich auf jeden Fall von einem anderen Medium, deswegen würde es mir reichen wenn ich das anlegen/mounten irgendwie skripten kann.
 
*push*

Gibt es hier keine Erfahrungswerte?

Die WD20EADS mit 512B-Sektoren ist 20€ teurer als die WD20EARS mit 4KiB-Sektoren. Letztere hat außerdem eine größeren Cache (64MiB vs 32MiB) und bessere Bewertungen (whatever that means).

Insgesamt würde ich denken, dass es da doch viel Bedarf gibt, da FreeBSD im Dateiserver-Bereich doch viel eingesetzt wird :rolleyes:
 
Ich habe selbst eine WD10EARS in Betrieb und kann derzeit nur davon abraten. Selbst wenn
man darauf achtet, dass die Partitonen aligned angelegt sind [1] (gibt im Forum noch andere
Threads zu dem Thema), steigt die Zeit pro Transaktion auf ueber 10000ms laut gstat(8), wenn
man mit kleineren Dateien arbeitet und der Durchsatz bricht massiv ein.
Xbitlabs beschreiben dieses Verhalten auch in einem Artikel [2].

Was genau die Ursache ist habe ich nicht weiter ergruendet, da ich ausschlieszlich > 100MiB
Dateien auf der Platte speichere und damit das Verhalten nicht ausloese.
Aber als Systemplatte sollte man diese nicht einsetzen - es ist allerdings schon mehr als 3 Monate
her, seit ich damit beschaeftigt habe, koennte also durchaus sein, dass sich da mittlerweile etwas getan.


[1] http://forums.freebsd.org/showpost.php?p=76148&postcount=38
[2] http://www.xbitlabs.com/articles/storage/display/1tb-hdd-roundup-3_13.html#sect0
 
Habe seit Sonntag 4 WD20EARS in einem raidz1 Verbund am laufen. Bin jedoch noch nicht dazu gekommen die Performance zu messen. Werde ich mal nachholen.
 
Hm, so super hört sich das alles nicht an.

Vielleicht sollte ich einfach 20€ mehr investieren... am Ende kostet es mich Tage an Arbeit und Nerven :rolleyes:
 
Hatte auch eine WD15EARS unter FreeBSD in Betrieb. Ist nach 1 Monat betrieb nicht mehr formatierbar gewesen, und auch der smart status hat angezeigt das sie fehlerhaft ist.
Hab noch nie solche Probleme mit einer hdd gehabt.
 
Moin,

habe auch schon seit längerer Zeit in einem OpenBSD Server die WD15EARS im Einsatz und konnte bisher keine Nachteile entdecken. Jedoch verunsichert mich der Thread momentan ein wenig und ich mache mir ein wenig Gedanken über meine Daten.

Es gibt bei der WD15EARS einen Jumper den man bei der Installation von WindowsXP setzen soll. Man darf dann allerdings nur eine Partition anlegen, was in meinem Fall egal wäre.

Gilt diese Jumpersetzung auch für xxBSD?

Kann man die Festplatte ggfs. auch dementsprechend mit newfs einrichten, damit die 4k Problematik gelöst werden kann?

Über Tipps würde ich mich freuen.

Vielen Dank im Voraus.

Beste Grüße
kraekers
 
Die Platte spiegelt meines Wissens nach außen 512 kB-Sektoren vor, zumindest gegenüber Betriebssystemen, die dies nötig haben. Damit das aber halbwegs funktioniert, müssen die Partitionen mit einem durch 8 teilbaren Sektor anfangen und entsprechend vor einem solchen enden. Bei Open-BSD gibst Du das von Hand an. Bei WindowsXP geht das nicht, das fängt mit Sector 63 an. Als normaler Computernutzer kannst Du das nicht beeinflussen. Der Jumper bewirkt nun, daß der Partitionsanfang entsprechend verschoben wird. Das geht aber nur mit einer Partition, weil nicht so ohne weiteres beeinflußbar ist, wie XP die nächsten Partitionsanfänge legt.
 
Zuletzt bearbeitet:
Vielen Dank Nonpareille,

ich werde mich mal ranmachen. Das mit dem durch 8 teilbaren Sektor habe ich auch schon unter Linux gemacht, dachte aber durch den Jumper dies zu umgehen. Bei Linux habe ich als Anfangssektor 64 genommen (mit fdisk), wie stelle ich das denn unter OpenBSD an?

Vielen Dank im Voraus.

Beste Grüße
kraekers
 
Ebenfalls mit fdisk

siehe auch http://www.undeadly.org/cgi?action=article&sid=20100417195756

Du darfst allerdings bei der Installation auf die Frage ob Du die ganze Platte nutzen willst nicht mit Ja/Yes antworten. Dann wird ohne weitere Nachfrage der Standardwert (63) benutzt.
In der OpenBSD FAQ Pkt 4.6.3 ist die Vorgehensweise genauer beschrieben (dort allerdings noch mit Offset 63 für die "normalen" Platten). Die alten deutschen FAQ scheinen insoweit auch noch zuzutreffen. (http://www.openbsd.org/faq/de/faq4.html)
 
Hallo,

ich muss leider noch mal bzgl. meiner 4KB Problematik nachhaken. Ich bin leider zu blöde um zu verstehen wo ich was einzutragen habe.

Also, ich führe folgendes aus:

Code:
fdisk -e wd2

die Platte ist nackt:

Code:
fdisk:*1> p
Disk: wd2       geometry: 182401/255/63 [2930277168 Sectors]
Offset: 0       Signature: 0xAA55
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
 0: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
 1: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
 2: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
 3: 00      0   0   0 -      0   0   0 [           0:           0 ] unused

lege dann die Partition an:

Code:
fdisk:*1> e 3
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
 3: 00      0   0   0 -      0   0   0 [           0:           0 ] unused      
Partition id ('0' to disable)  [0 - FF]: [0] (? for help) A6
Do you wish to edit in CHS mode? [n] y
BIOS Starting cylinder [0 - 182400]: [0] 
BIOS Starting head [0 - 254]: [0] 
BIOS Starting sector [1 - 63]: [1] 
BIOS Ending cylinder [0 - 182400]: [0] 
BIOS Ending head [0 - 254]: [0] 
BIOS Ending sector [1 - 63]: [1]

Wo gebe ich denn hier 64 ein, bzw. eine Startpartition die durch 8 teilbar ist.

Ich peile das nicht.

Für Hilfe wäre ich riesig dankbar, nachdem ich mir die letzte Nacht um die Ohren geschlagen habe.

Vielen Dank im Voraus.

Beste Grüße
kraekers
 
2 Möglichkeiten:

1. Variante: Du antwortest auf die Frage "Do you wish to edit in CHS mode?" mit "n". Dann will fdisk nur die Sektoren für Anfang und Ende wissen.
2. Variante: Du bleibst beim CHS-mode. Lt. der Ausgabe oben erzählt deine Platte dem Bios sie hätte182401/255/63 d.h. 63 Sektoren pro (head). Nun muß man berücksichtigen, dass im LBA-Modus (Also wenn Du auf die Frage oben mit nein antwortest) die Sektorenzählung bei 0 beginnt. D.h. in der ersten Spur sind die Sektoren Nummer 0-62. Sektor 63 ist der erste Sektor der 2. Spur. Sektor 64 ist also der 2 Sektor der 2. Spur
Also
Bios Starting Cylinder = 0
Bios Starting head = 1 (Zählung im CHS-Mode beginnt bei 0)
Bios Starting sector = 2 (Zählung beginnt bei 1)
Warum head von 0 an gerechnet wird, sectors aber von 1 ist mir auch schleierhaft.
Für Bios Ending entweder rechnen (geht aber schnell schief/ist mir zu riskant) oder mit Sicherheitszuschlag
Cylinder 182400
head 254
sector 63
Das bißchen Platz, was Du verschenkst ist zu vernachlässigen.

Ich empfehle für eine jungfräuliche Platte Variante 1

Grüße zurück
 
Zuletzt bearbeitet:
Hallo,

vielen Dank für die Antwort, die Variante 1 habe ich eigentlich immer genommen. Diesmal nahm ich die 2., da ich dachte ich müsse Sie nehmen, da dort mehr an Infos zur Partionierung hinterlegt werden können.

Also wenn ich jetzt Variante 1. nehme, wie eigentlich immer, kein CHS Mode, dann gebe ich folgendes ein:

offset = 2
size = 182400

Ist das so richtig ?

Vielen Dank für die Hilfe.

Beste Grüße
kraekers
 
offset 2 mit Sicherheit nicht. Das sollte die durch 4 teilbare Sektorenanzahl sein, um die der Startsektor der Partition gegenüber dem Plattenanfang (Sektor 0) verschoben wird. Vorzugsweise 64, da lt FAQ bei einem geringeren Offset als 63 (die schreiben zwar von Offset 0) u.U. der Partitionsanfang vom MBR überschrieben werden kann.

size 182400? Das kommt darauf an. Wenn dir eine Partition von 89 MB reicht......

Du hast 182401*255*63 Sektoren. Max. möglich wäre demzufolge (Gesamtsektorenanzahl minus Offset) size = 2930272001 (bzw. 2930272000, damit ein durch 4 teilbarer Wert rauskommt)


Noch ein Nachtrag: Ich hab in meinem ersten Beitrag in diesem Thread von 512 kB Sektorgröße geschrieben. Das war ein Versehen. Die Platte spiegelt natürlich Sektoren mit 512 Byte (nicht Kilobyte) vor. Solltest Du dadurch durcheinander gekommen sein, bitte ich um Entschuldigung. Ich kann den betreffenden Beitrag leider nicht mehr editieren.
 
Zuletzt bearbeitet:
Das hilft euch für OpenBSD nichts, aber da wir hier im allgemeinen Teil des Forums sind für das Archiv: FreeBSD hat vor einigen Tagen etwas Logik ins Tools gpart(8) gepatcht bekommen, die diese Ausrichtung stark vereinfacht. Ist im Moment aber nur in -CURRENT verfügbar.
 
Hallo Nonpareille,

vielen Dank für Deine Geduld.

Mittlerweile steige ich durch. Bei den 182400 hatte ich mich verdaddelt, meinte natürlich size = 2930272001 (bzw. 2930272000).

Also werde ich folgendes hinterlegen:

offset = 64
size = die max. Größe der Festplatte (nach unten gerundet das ein durch vier geteilter Wert herauskommt

Ich wusste nicht was offset bedeutete, daher der Eintrag 2.

Falsch ich komplett falsch liegen sollte, wäre ich um einen Ratschlag mehr dankbar.

Vielen Dank und beste Grüße

kraekers
 
Nunja, in Sachsen sagt man droffsetzen, wenn man zu einem Anfangswert etwas dazugibt. Und die Engländer sind ja Angelsachsen. Aber maulfaul wie se nu ma sin, ham se ehm (dr)offset(zen) zu offset verkürzt.
 
Im Prinzip ja. Nur zur Sicherheit: Size ist nicht die max. Größe der Festplatte an sich sondern die max. Größe abzügl. Offset. Daher die 2930272000 Sektoren. Deine Festplatte ist rein rechnerisch 2930272065 Sektoren groß.
 
Zurück
Oben