[Gelöst] SSD richtig partitionieren?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
c1ue
Beiträge: 98
Registriert: 27.03.2018 13:13:28

[Gelöst] SSD richtig partitionieren?

Beitrag von c1ue » 17.11.2020 10:48:12

Hallo,

ich habe im Internet gelesen, wir sollten die Partitionsgröße stets ein Vielfaches von 4096 betragen lassen, damit die Daten nicht 2 Sektoren zugleich beanspruchen, um so die Lebensdauer/performance zu verbessern.
Dabei habe ich folgende Frage:

fdisk -l /dev/sda zeigt folgendes an:

Code: Alles auswählen

Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos

Wenn ich nun eine neue Partition anlegen möchte siehts wie folgt aus:

Code: Alles auswählen

Device     Boot    Start        End    Sectors   Size Id Type
/dev/sda2       41947136 1953521664 1911574529 911,5G  7 HPFS/NTFS/exFAT

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1,3,4, default 1): 
First sector (2048-1953525167, default 2048): 
Der erste nutzbare Sektor ist 2048.

1. Soll ich dann meine Partition 1 erst bei 4096 beginnen lassen?
2. Sollte ich dann wirklich z.B. 4096 + 4095 machen, damit die (mini) Partition dann auch wirklich exakt 4096 Sektoren groß ist?

Vielen Dank für Eure Hilfe!
Zuletzt geändert von c1ue am 17.11.2020 14:15:36, insgesamt 1-mal geändert.
Wir erleben gerade die letzte Ruhe vor dem Sturm. Genießen wir sie, solange es noch geht

Benutzeravatar
Routerdilettantin
Beiträge: 35
Registriert: 09.11.2020 12:44:45
Lizenz eigener Beiträge: GNU General Public License

Re: SSD richtig partitionieren?

Beitrag von Routerdilettantin » 17.11.2020 11:02:29

https://wiki.ubuntuusers.de/Archiv/SSD/Alignment/
Nach meinen Erfahrungen mit Linux-Installern machen diese bei UEFI/GPT-Installation schon lange das für SSD sinnvolle Alignment korrekt. Aber Kontrolle kann nicht schaden. :wink:

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: SSD richtig partitionieren?

Beitrag von smutbert » 17.11.2020 11:50:12

Zuerst die Kurzfassung: 2048 als erster Sektor ist vollkommen ok.

Du musst auch mit den Einheiten aufpassen. Die Blockgröße wird in Byte angegeben, bei alten Festplatten waren es 512 Byte, bei neueren und SSDs sind es mitunter 4096 Byte (oder 4k, wie man das auch nennt).
Jetzt sind die Einheiten, die Sektoren von denen fdisk spricht, ja bereits 512 Byte groß, dh der Anfangssektor einer Partition sollte durch 8 teilbar sein (8*512=4096).

Traditionellerweise wurde die erste Partition bei Sektor 63 angelegt (vorher will/wollte man ja noch Platz für die Partitionstabelle, den Bootcode, u. s. w.), was dann natürlich denkbar ungünstig ist, bei 4096 Byte Sektorgröße, weil 63*512 kein ganzahliges Vielfaches von 4096 ist (oder anders ausgedrückt nicht durch 8 teilbar). Hier würde es bereits genügen den Beginn der Partition nur um einen Sektor auf Nummer 64 zu verschieben, damit die Sektorgrößen wieder korrekt ausgerichtet sind. (Das wurde denke ich auch gelegentlich so gemacht.)
Spätestens seit der Partitionierung mit gpt, bei dem man wieder etwas Platz für die neuartige Partitionstabelle braucht, ist man ziemlich einheitlich (auch bei der altmodischen msdos/mbr-Partitionierung) dazu übergegangen die erste Partition erst mit 2048 beginnen zu lassen – das ist nicht nur durch 8 teilbar, sondern auch durch 16. 32. 64, 128,... 1024 und natürlich sich selbst – 2048 müsste demnach sogar für 1M (1048576 Byte) große Sektoren geeignet sein, wenn es denn so große Sektoren gäbe.
Zuletzt geändert von smutbert am 17.11.2020 11:54:58, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: SSD richtig partitionieren?

Beitrag von MSfree » 17.11.2020 11:53:20

c1ue hat geschrieben: ↑ zum Beitrag ↑
17.11.2020 10:48:12
ich habe im Internet gelesen, wir sollten die Partitionsgröße stets ein Vielfaches von 4096 betragen lassen
Nein, das kann man so nicht verallgeminern.

Code: Alles auswählen

Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Wie man hier sieht, arbeitet deine Platte/SSD mit 512Byte großen Blöcken. Die Partitionen müssen in diesem Fall also nicht am 4096Byte Alignment angeordnet werden, hier reichen 512Byte Grenzen.

Aber, praktisch alle modernen Festplatten arbeiten mit 4096Byte großen Blöcken und emulieren für die Abwärtskompatibilität 512Byte Blöcke. Bei solchen Platten sollte man die Partitionen so anlegen, daß sie auf ganzzahlige Vielfache von 4096Bytes fallen. Andernfalls ergeben sich vor allem beim Schreiben Geschwindigkeitseinbußen.

Bei SSDs mit 4096Byte Blöckgröße könnte sich ein höherer Verschleiß ergeben, wenn man die Partitionsgrenzen nicht an die Blockgröße anpaßt. Ob es inzwischen überhaupt schon SSDs mit 4kByte-Blöcken gibt, ist mir aber nicht bekannt. Nötig werden die 4kByte-Blöcke eigentlich erst ab 4TB Kapazität.

Benutzeravatar
c1ue
Beiträge: 98
Registriert: 27.03.2018 13:13:28

Re: SSD richtig partitionieren?

Beitrag von c1ue » 17.11.2020 14:15:00

Super, vielen Dank für Eure Hilfe.

Ich hab das jetzt mit fdisk und dann mit +xxxG gemacht. Alle Partitionsanfänge/Größen sind nun durch 2048 teilbar.

Vielen Dank nochmals!
Wir erleben gerade die letzte Ruhe vor dem Sturm. Genießen wir sie, solange es noch geht

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Gelöst] SSD richtig partitionieren?

Beitrag von Lord_Carlos » 17.11.2020 15:31:15

Mhh, ich habe immer ein aligncheck gemacht

sudo parted /dev/sdX
mklabel gpt
mkpart primary 2048s 100%
align-check optimal 1


Hier hat jemand eine kleine formel wie man es ausrechnen kann, ist das noch aktuell?
https://rainbow.chard.org/2013/01/30/ho ... ng-parted/

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
kalle123
Beiträge: 2714
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: [Gelöst] SSD richtig partitionieren?

Beitrag von kalle123 » 17.11.2020 16:13:47

oder so

Code: Alles auswählen

sudo parted /dev/sdx align-check opt

Partitionsnummer? 1                                                       
1 aligned
und dann die einzelnen Partitionen durchgehen.

cu KH

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: [Gelöst] SSD richtig partitionieren?

Beitrag von Livingston » 19.11.2020 01:13:26

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
17.11.2020 15:31:15
Mhh, ich habe immer ein aligncheck gemacht

sudo parted /dev/sdX
mklabel gpt
mkpart primary 2048s 100%
align-check optimal 1


Hier hat jemand eine kleine formel wie man es ausrechnen kann, ist das noch aktuell?
https://rainbow.chard.org/2013/01/30/ho ... ng-parted/
Ja
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

HaukeT
Beiträge: 10
Registriert: 19.11.2020 16:40:33

Re: [Gelöst] SSD richtig partitionieren?

Beitrag von HaukeT » 19.11.2020 21:59:29

Hallo!

Ich würde mich gar nicht so sehr auf die genauen Partitionsgrößen konzentrieren, da die internen wear-leveling Algorithmen ohnehin selten von Herstellern offen kommuniziert werden. Wo deine Partitionen auf welchem Chip landen, kann ich das mit Sicherheit sagen?

Wenn es um die Lebensdauer der SSDs geht, dann würde ich bei den mount-Optionen eher auf noatime und nodiratime achten, damit keine unnötigen Schreibvorgänge stattfinden.
Debian GNU/Linux 3.1 "Sarge" bis 10.6 "Buster"
Danke für 15 Jahre freie Software!

Antworten