Bedeutung Sektorengröße bei SSDs und Festplatten
-
- Beiträge: 49
- Registriert: 19.02.2006 00:13:41
- Wohnort: Karlsruhe
Bedeutung Sektorengröße bei SSDs und Festplatten
Hi Leute,
ich habe heute auf meinem recht aktuellen PC ein Debian 10 installiert.
Dabei ist mir bei der Ausgabe von fdisk folgendes aufgefallen :
Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRZ-00Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A5BFB4E1-C321-11E9-ADD2-00E0534578BF
Was mich irritiert - die logische Sektorengröße liegt bei 512kb.
Wäre es nicht besser / schlechter, wenn diese auch bei 4096 läge ?
Bin gespannt auf Eure Rückmeldung.
Danke und Grüße,
Raphael
ich habe heute auf meinem recht aktuellen PC ein Debian 10 installiert.
Dabei ist mir bei der Ausgabe von fdisk folgendes aufgefallen :
Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRZ-00Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A5BFB4E1-C321-11E9-ADD2-00E0534578BF
Was mich irritiert - die logische Sektorengröße liegt bei 512kb.
Wäre es nicht besser / schlechter, wenn diese auch bei 4096 läge ?
Bin gespannt auf Eure Rückmeldung.
Danke und Grüße,
Raphael
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Es sind 512 und nicht 512KB - aber egal. Mit 512 ist das Teil für jedes System kompatibel. Das ist die übliche Größe bei den normalen HDs. Größer ist normal zwar immer besser - ob man das einstellen kann, keine Ahnung, kommt aber auch auf die Anwendungen und Daten an. Viele kleine Dateien von ein paar Byte - und für jede gleich 4096 verbraten, macht ja auch nicht wirklich Sinn.
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Modernen Festplatten simulieren inzwischen auch nur noch 512-Byte Blöcke, die arbeiten inzwischen auch mit 4kB Sektoren.pferdefreund hat geschrieben:16.01.2020 08:10:38Es sind 512 und nicht 512KB - aber egal. Mit 512 ist das Teil für jedes System kompatibel....
und für jede gleich 4096 verbraten, macht ja auch nicht wirklich Sinn.
Dateisysteme arbeiten ohnehin mit mindestens 4kB großen Datenblöcken, oft sogar viel mehr, daher ist die traditionelle Plattenblockgröße ohnehin ein wenig überholt.
Das Problem, bei simullierten Blöcken ist, daß beim Schreiben eines einzelnen 512-Byte-Blocks, ein 4kB-Block gelesen werden muß, die 512 Byte reinmontiert werden müssen und dann der komplette 4kB-Block geschrieben werden muß. Will man 8 solche 512-Byte-Blöcke schreiben, wiederholt sich das Prozedere acht mal, was die Schreibperformance im Zweifelsfall achtelt.
Noch viel schlimmer ist das für SSDs, da hier die Zahl der Schreibvorgänge künstlich erhöht wird, was der Lebensdauer nich zuträglich ist.
Am besten ist, man stellt seine Partitionen so ein, daß sie auf volle 4kB-Grenzen fallen und nimmt für das Dateisystem ein ganzzahliges Vielfaches von 4kB als Blockgröße. Da Linuxdateisysteme ohnehin mit 4kB Blockgröße arbeiten, muß man sich hier keine Gedanken machen.
-
- Beiträge: 49
- Registriert: 19.02.2006 00:13:41
- Wohnort: Karlsruhe
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Hi Msfree,
wenn ich Dich also richtig verstehe, wäre es besser, wenn also logische und physikalische Sektorengröße gleich groß wären ?
Wenn das stimmt, warum erkennt der Debian-Installer das nicht von alleine ?
Kann ich die logische Sektorengröße acn nachträglich noch mal ändern oder muss ich neu installieren ?
Kann ich auch beim Debian-Installer die Sektorengröße entsprechend einstellen ?
Danke und Grüße,
Raphael
wenn ich Dich also richtig verstehe, wäre es besser, wenn also logische und physikalische Sektorengröße gleich groß wären ?
Wenn das stimmt, warum erkennt der Debian-Installer das nicht von alleine ?
Kann ich die logische Sektorengröße acn nachträglich noch mal ändern oder muss ich neu installieren ?
Kann ich auch beim Debian-Installer die Sektorengröße entsprechend einstellen ?
Danke und Grüße,
Raphael
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Hmm. das Thema interessiert mich jetz aber auch, da mein "Neuer" im Anrollen ist, und da 2 M.2 SSD (PCIe) verbaut werden.MSfree hat geschrieben:16.01.2020 09:06:23Modernen Festplatten simulieren inzwischen auch nur noch 512-Byte Blöcke, die arbeiten inzwischen auch mit 4kB Sektoren.
Dateisysteme arbeiten ohnehin mit mindestens 4kB großen Datenblöcken, oft sogar viel mehr, daher ist die traditionelle Plattenblockgröße ohnehin ein wenig überholt.
Hab grad mal im "Bestand" nachgesehen. Die beiden Platten sind - soweit ich mich noch erinnern kann - vom Installer formatiert worden.
Da ist nichts von 4kB zu sehen:
Nr. 1:
Code: Alles auswählen
fdisk -l /dev/sdc
Festplatte /dev/sdc: 119,25 GiB, 128035676160 Bytes, 250069680 Sektoren
Festplattenmodell: Samsung SSD 850
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x31088935
Gerät Boot Anfang Ende Sektoren Größe Kn Typ
/dev/sdc1 2048 51015679 51013632 24,3G 83 Linux
/dev/sdc2 51015680 250068991 199053312 94,9G 5 Erweiterte
/dev/sdc5 51017728 250068991 199051264 94,9G 83 Linux
Code: Alles auswählen
fdisk -l /dev/sda
Festplatte /dev/sda: 256,18 GiB, 275064201216 Bytes, 537234768 Sektoren
Festplattenmodell: Crucial_CT275MX3
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 105CEE54-D7BF-4598-87DB-07E7F971E5F1
Gerät Anfang Ende Sektoren Größe Typ
/dev/sda1 2048 51576831 51574784 24,6G Linux-Dateisystem
/dev/sda2 51576832 537233407 485656576 231,6G Linux-Dateisystem
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Mit SSDs oder Festplatten, die 512Byte-Sektorgröße verwenden, was bei dir der Fall ist, brauchst du dir keinen Kopf machen. Da spielt das Alignment zwischen der Sektorgröße und der Blockgröße des Dateisystems, keine Rolle. Du landest immer auf einem ganzen physikalischen Block.willy4711 hat geschrieben:16.01.2020 09:36:41Hmm. das Thema interessiert mich jetz aber auch, ...
Hab grad mal im "Bestand" nachgesehen. Die beiden Platten sind - soweit ich mich noch erinnern kann - vom Installer formatiert worden.
Da ist nichts von 4kB zu sehen:
Nr. 1:Nr. 2:Code: Alles auswählen
fdisk -l /dev/sdc Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
Wäre es dann besser, die SSD's vor der Installation zu formatieren ?Code: Alles auswählen
fdisk -l /dev/sda Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
Anders sähe es mit 4kB Sektorgröße aus. Wenn sich deine Partitionierung an der logischen Sektorgröße orientiert und du legst die erste Partition am logischen Block 2, also 1024Bytes vom Anfang der Platte entfernt, an, dann würde der erste Datenblock des Dateisystems (4kB Blöcke) also bei Byte 1024 anfangen und bei Byte 5119 aufhöhren. Allerdings schneidet dein Datenblock dann 2 physikalische Sektoren an, was letztlich zur doppelten Schreibbelastung der SSD oder Festplatte führen würde. Für die Festplatte heißt das im dümmsten Fall nur eine Halbierung der Schreibgeschwindigkeit, für die SSD jedoch doppeltes Schreiben jedes Sektors.
Allerdings macht hier das interne Caching der Platte/SSD einiges wett, so daß es letztlich nie so schlimm kommt, aber es ist sehr einfach vermeidbar, wenn man die Partitionen richtig anlegt.
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Die Sektorengröße von 512 Byte ist noch ein Relikt aus alten Zeiten. Maximal können hiermit 2,2T(i)B (2³²*512 Byte) zugeordnet werden. Frühere Dateisysteme haben auch mit der Sektorgröße von 512 Byte gearbeitet (z.B. FAT16), moderne Dateisysteme müssen aber schlicht eine größere Sektorengröße nehmen, wenn sie mehr Daten aufnehmen wollen und gleichzeitig dazu noch 32-Bit kompatibel sein wollen. So ist das Limit von ext4 bei 16 T(i)B, wenn mit 4kB-Sektoren gearbeitet wird.
Ich bin vor einiger Zeit mal über den folgenden Artikel gestolpert: https://blogofterje.wordpress.com/2012/ ... n-sd-card/
Kurzfassung: Der Autor hat auf einem Flashspeicher (SD-Karte) eine Partition samt Dateisystem eingerichtet und sich nicht an das 4kB-Limit gehalten. Die Folge waren Performanceeinbrüche in der Schreib-/Leseleistung, weil moderne Dateisysteme intern mit 4kB-Blöcken arbeiten.
Wie bereits von @MSfree beschrieben fängt eine SSD durch Caching sehr viel ab und die Auswirkungen sollten für die Praxis vernachlässigbar sein.
Ich bin vor einiger Zeit mal über den folgenden Artikel gestolpert: https://blogofterje.wordpress.com/2012/ ... n-sd-card/
Kurzfassung: Der Autor hat auf einem Flashspeicher (SD-Karte) eine Partition samt Dateisystem eingerichtet und sich nicht an das 4kB-Limit gehalten. Die Folge waren Performanceeinbrüche in der Schreib-/Leseleistung, weil moderne Dateisysteme intern mit 4kB-Blöcken arbeiten.
Wie bereits von @MSfree beschrieben fängt eine SSD durch Caching sehr viel ab und die Auswirkungen sollten für die Praxis vernachlässigbar sein.
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
So richtig verstehe ich das nicht. Obige Platte /dev/sda hab ich mit dem Installer mit GPT eingerichtet.Tintom hat geschrieben:16.01.2020 10:49:13Die Sektorengröße von 512 Byte ist noch ein Relikt aus alten Zeiten.
Die M.2 SSD ist nur bestimmt nicht ein altes Eisen.
In der Wiki steht unter dem Bild zu Aufteilung der GPT:
Hat denn die Aufteilung der GPT (512 Bytes) nichts mit der restlichen Aufteilung des Laufwerkes zu tun?Schematische Darstellung einer GPT. Jeder LBA-Block entspricht einem Sektor der Festplatte und ist 512 Bytes groß.
Mal die Platte /dev/sda/ mit gdisk betrachtet:
Code: Alles auswählen
# gdisk
GPT fdisk (gdisk) version 1.0.4
Type device filename, or press <Enter> to exit: /dev/sda
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): i
Partition number (1-2): 1
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: 40F99B9D-4BD4-4DB6-B96D-A10823DE2857
First sector: 2048 (at 1024.0 KiB)
Last sector: 51576831 (at 24.6 GiB)
Partition size: 51574784 sectors (24.6 GiB)
Attribute flags: 0000000000000000
Partition name: ''
Warum benutzt man überhaupt noch die MBR-Partitionstabelle ?
Ich denke die GUID-Partitionstabelle (GPT) hat diverse Vorteile (Stichwort: Sekundäre Backup-GPT)
GPT ist ja überhaupt nicht an UEFI gebunden. Allerdings meckert Grub (z.B. bei einem Update) immer rum, es wäre irgendetwas nicht richtig.
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
4kB Sektoren wurde für Platten mit mehr als 2TiB Kapazität eingeführt. Inzwischen sind auch alle auf dem Markt befindlichen kleineren Platten mit 4kB Sektoren ausgestattet, weil die Hersteller hier ihre Produktionsabläufe vereinheitlicht haben. Mit veraltet hat das aber nicht zu tun.willy4711 hat geschrieben:16.01.2020 11:25:54So richtig verstehe ich das nicht. Obige Platte /dev/sda hab ich mit dem Installer mit GPT eingerichtet.
SSDs sind hier nochmal eine andere Welt. Die haben keine mechanischen Limits. Theoretisch könntest du Flashspeicher auch mindestens byteweise ansprechen. Damit sich SSDs wie Festplatten verhalten, müssen sie sich als Blockdevice (also mit Sektorengrenzen) nach aussen geben. Und solange die SSDs in der Regel noch deutlich kleiner als 2TiB sind, wirst du hier auch noch 512Byte Sektoren finden.
Bei aktuellen Rechnern ist das eine berechtigte Frage. Ältere Kisten booten schlicht und einfach nicht, wenn das BIOS keinen MBR findet. GPT wird erst ab UEFI unterstützt.Warum benutzt man überhaupt noch die MBR-Partitionstabelle?
Für die zweite Festplatte spielt es dann keine Rolle mehr, da kümmert sich der OS-Kernel um das Auslesen der Partitiontabelle und bindet die Partitionen eigentständig ein, es muß also nur der Kernel GPT interprätieren können, und das geht schon erstaunlich lange.
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
@MSfree
Dank für die Erklärung. Wieder etwas Licht ins Dunkel gekommen
Dank für die Erklärung. Wieder etwas Licht ins Dunkel gekommen
-
- Beiträge: 49
- Registriert: 19.02.2006 00:13:41
- Wohnort: Karlsruhe
Re: Bedeutung Sektorengröße bei SSDs und Festplatten
Hi Leute,
sorry, wenn ich nochmal frage ..
Aber für mich nur nochmal zusammengefasst und vereinfacht :
Wenn ich in Debian 11 Datenträger (intern wie extern, M.2, SSD, oder klassische Platte) im Nachgang der Installation anfasse (Partitionen erzeugen, Partitionen formatieren), muss ich dann bzgl. der Sektorengröße etwas beachten ?
Insbesondere, wenn ich ältere Tools (z. B. fdisk) bzw. Konsolentools verwende ? Also immer nur hinsichtlich der Sektorengröße ?
Danke und Grüße,
Raphael
sorry, wenn ich nochmal frage ..
Aber für mich nur nochmal zusammengefasst und vereinfacht :
Wenn ich in Debian 11 Datenträger (intern wie extern, M.2, SSD, oder klassische Platte) im Nachgang der Installation anfasse (Partitionen erzeugen, Partitionen formatieren), muss ich dann bzgl. der Sektorengröße etwas beachten ?
Insbesondere, wenn ich ältere Tools (z. B. fdisk) bzw. Konsolentools verwende ? Also immer nur hinsichtlich der Sektorengröße ?
Danke und Grüße,
Raphael