Optimal transfer size not a multiple of preferred minimum block size

Ich weiß nicht woher der device-mapper kommt. Der ist unabhängig. Wenn der die 32MB ins Spiel gebracht hat, hat der USB-Controller u.U. gar nichts damit zu tun. Edit: Unwahrscheinlich. Die Textformatierung und Gliederung im dmesg deutet eher auf ein und denselben Treiber hin (also eher nicht DM).
Und ja, das ist gerade alles etwas chaotisch.

Der device-mapper wird meist gebraucht bei LVM und/oder LUKS und muss natürlich auch korrekt ausgerichtet werden (bei 4k auf 512 Unterbau entsprechend komplexer).
 
Zuletzt bearbeitet:
Uridium schrieb:
Ich weiß nicht woher der device-mapper kommt.

Das ist eine externe LUKS-SSD und LUKS verwendet 4k.

Wie lege ich eine Partition an, die bei 4k beginnt?

Edit: gelöst, siehe unten, das entspricht 2MB
Vgl. https://unix.stackexchange.com/ques...correct-allignment-of-250gb-ssd-partition-cen

https://linux.die.net/man/8/parted
mkpart part-type [fs-type] start end
Make a part-type partition with filesystem fs-type (if specified), beginning at start and ending at end (by default in megabytes). fs-type can be one of "fat16", "fat32", "ext2", "HFS", "linux-swap", "NTFS", "reiserfs", or "ufs". part-type should be one of "primary", "logical", or "extended".

Und wie mache ich das, wenn ich keine MB will?

fdisk sagt immer 2048.

Beim Anlegen der Partition sind immer MB anzugeben.

Ich möchte, dass mir fdisk 4096 als Start anzeigt.

LUKS spendiere ich dann

Code:
--sector-size 512

Und dann schaue ich was dmesg meint.

Meine Dateien sind tendenziell riesig, so ab 20MB, oft einige GB. Da dachte ich 4k ist kein Fehler, sollte es ja schneller machen.

Ich schaue jetzt mal, ob ich die SSD fehlerfrei schaffe.
Ergänzung ()

gparted-t5.png



Wie müsste ich meinen parted-Befehl anpassen, dass er bei 2MB beginnt, aber nicht formatiert?

Code:
parted /dev/sdX -s -a optimal mklabel gpt mkpart primary 1 100%

Formatieren ist sinnlos, wenn man danach LUKS einrichtet. Mit gparted können sehr große HDDs sehr lange brauchen, bis das Dateisystem erstellt ist.

Code:
[  144.213119] usb 4-1: new SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd
[  144.232457] usb 4-1: New USB device found, idVendor=04e8, idProduct=61f5, bcdDevice= 1.00
[  144.232464] usb 4-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[  144.232466] usb 4-1: Product: Portable SSD T5
[  144.232468] usb 4-1: Manufacturer: Samsung
[  144.232470] usb 4-1: SerialNumber:
[  144.250670] usbcore: registered new interface driver usb-storage
[  144.253024] scsi host10: uas
[  144.253107] usbcore: registered new interface driver uas
[  144.253378] scsi 10:0:0:0: Direct-Access     Samsung  Portable SSD T5  0    PQ: 0 ANSI: 6
[  144.254981] sd 10:0:0:0: Attached scsi generic sg2 type 0
[  144.255336] sd 10:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[  144.255450] sd 10:0:0:0: [sdc] Write Protect is off
[  144.255453] sd 10:0:0:0: [sdc] Mode Sense: 43 00 00 00
[  144.255595] sd 10:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  144.282150] sd 10:0:0:0: [sdc] Preferred minimum I/O size 512 bytes
[  144.282154] sd 10:0:0:0: [sdc] Optimal transfer size 33553920 bytes
[  144.299787]  sdc: sdc1
[  144.299863] sd 10:0:0:0: [sdc] Attached SCSI disk
[  150.005290] XFS (sdc1): Mounting V5 Filesystem 6a0a89d1-39e3-48ce-8fb6-3f0b0a35f6f7
[  150.024413] XFS (sdc1): Ending clean mount

Code:
fdisk -l /dev/sdc
Festplatte /dev/sdc: 465,76 GiB, 500107862016 Bytes, 976773168 Sektoren
Festplattenmodell: Portable SSD T5
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 33553920 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 0DCA3AC9-7428-49CC-85D1-CCCD63B71C95

Gerät      Anfang      Ende  Sektoren  Größe Typ
/dev/sdc1    4096 976773119 976769024 465,8G Linux-Dateisystem

Ich denke, das sieht gut aus. Jetzt kommt LUKS.
 
Zuletzt bearbeitet:
'parted' benutze ich nicht so oft. 'fdisk' akzeptiert direkte Sektoreneingaben.

2048 ist schon ok. Das Ende wird wohl eher Stress machen.
 
Uridium schrieb:
2048 ist schon ok. Das Ende wird wohl eher Stress machen.

Vielleicht hast du recht, die Diskussionen, die ich gefunden habe, behaupten das Gegenteil. Dort steht, dass der Anfang entscheidend ist und mir ist das egal, ob bei 1 MB oder 2MB angefangen wird. Andere versuchen das letzte Byte herauszuholen.

Uridium schrieb:
'parted' benutze ich nicht so oft

Schade, vielleicht kann sich wer anderer dazu melden. Ich bin mir nicht sicher, ob da Fallen dabei sind. Jedenfalls gibt es eine überholte Syntax lt. Manpage.

Wenn die Samsung-SSD passt und ich bin zuversichtlich, dann geht es wieder zurück zur NVME.
 
linuxnutzer schrieb:
Dort steht, dass der Anfang entscheidend ist
Schon richtig. Es ging mir mehr um die Fehlermeldung. Die kommt in diesem Fall nicht durch die 2048, sondern durch das Ende. Das ist nicht weiter schlimm, aber streng mathematisch halt nicht korrekt ausgerichtet. Außerdem müssten eventuelle Folgepartitionen wieder in die Spur gebracht werden.

Fdisk zeigt hier auch die 32MB. Habe ich noch nie gesehen. Bei mir ist alles 4k.
Code:
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
 
Nein, passt nicht:

Code:
~# cryptsetup luksFormat --type luks2 --sector-size 512 --key-size 256 --cipher aes-xts-plain64 --hash sha512 /dev/sdc1
WARNUNG: Gerät /dev/sdc1 enthält bereits eine 'xfs'-Superblock-Signatur.

WARNUNG!
========
Hiermit werden die Daten auf »/dev/sdc1« unwiderruflich überschrieben.

Sind Sie sicher? (Tippen Sie 'yes' in Großbuchstaben): YES
Geben Sie die Passphrase für »/dev/sdc1« ein:
Passphrase bestätigen:
Merkwürdige Optimale-Datenübertragungs-Größe für Datengerät (33553920 Bytes) wird ignoriert.

Ich verstehe die 33553920 Bytes nicht.

Code:
root@k1:~# fdisk -l /dev/sdc
Festplatte /dev/sdc: 465,76 GiB, 500107862016 Bytes, 976773168 Sektoren
Festplattenmodell: Portable SSD T5
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 33553920 Bytes
Ergänzung ()

Uridium schrieb:
die Fehlermeldung. Die kommt in diesem Fall nicht durch die 2048, sondern durch das Ende

Wie rechne ich das Ende aus? Ich habe das bei https://unix.stackexchange.com/ques...correct-allignment-of-250gb-ssd-partition-cen nicht ganz verstanden. Es gibt keine Partition danach.

Ui, das kann bei mehreren Partitionen kompliziert werden. Bei internen 3,5"-HDD habe ich noch keine Fehlermeldungen gefunden. Eines nach dem anderen. Ich habe eine externe 18TB 3.5"-HDD, mal schauen was da dmesg meint, aber später.
 
Zuletzt bearbeitet:
linuxnutzer schrieb:
Nein, passt nicht:
Das sind zwei Paar Schuhe. Die 32MB beziehen sich nur auf die Fehlermeldung im dmesg (not a multiple of 4096). Das hat erst mal nichts mit den Partitionen zu tun, sondern mit dem I/O Transfer.

Die 32MB Fehlermeldungen sind wahrscheinlich harmlos und einfach blind auf Maximum gesetzt.
 
Uridium schrieb:
Das sind zwei Paar Schuhe

Ich glaube, das sind sogar mehrere.

Mir ist es egal, ob ich 1MB oder ein paar verschenke.

Die Fehlermeldung "Merkwürdige Optimale-Datenübertragungs-Größe für Datengerät" kommt selten vor, aber komm vor und in letzter Zeit öfter. Ich hatte die davor mit der SSD nicht, aber dafür die Fehlermeldung in dmesg.

Also beim Anlegen der Partition bedeutet 2MiB am Anfang, dass die Partition bei 4096 beginnt. Wenn jetzt 2MiB 4096 (1MiB = 2x512) entspricht, dann sollte doch jede Partitionsgröße, die durch 2 MiB teilbar ist, ein Vielfaches von 4096 sein und damit das Ende passen. Egal jetzt ob 512 oder 4k.

Wo ist da mein Denkfehler, siehe auch den gparted-Screenshot, wo ich bei 2 beginne.
Neue Größe 476938 und das ist durch 2 teilbar.

Eigentlich kann ich mit folgendem Zitat für gparted nur wenig anfangen, ich brauche eine Partitionsgröße in MiB.

https://unix.stackexchange.com/ques...correct-allignment-of-250gb-ssd-partition-cen

Basics:

1 sector = 512byte <br>1Kib = 1024byte or 2 sectors <br>1MiB = 1024 * 1KiB = 1024 *1024byte = 1048576byte or 2048 sectors <br>1GiB = 1024 * 1MiB = 1024 * 1024 * 1024byte = 1073741824byte or 2097152 sectors <br>

Since a 1MiB boundary is 1048576byte which is equal to 2048 sectors, your first partition which starts at sector 4096, is aligned to the 2MiB boundary.

If you want 250GiB in the first partition then it's size should be
250GiB = 250 * 1024MiB = 256000MiB
256000MiB * 2048 sectors/MiB =524288000sectors

The last sector of the first partition should then be
(start-sector) - 1 + (size in sectors)
4096 -1 + 524288000 =524292095

Your second partition can then start at sector 524292096 which is aligned to the 256002MiB boundary
524292096 (sectors) / 2048 (sectors per 1MiB) = 256002MiB (boundary)

If you follow this scheme then you can calculate the beginning, size and end of all following partitions.

Entscheidend sollte sein:
The last sector of the first partition should then be
(start-sector) - 1 + (size in sectors)

Inwieweit der Platz für gpt noch eine Rolle spielt, keine Ahnung.

Code:
fdisk -l /dev/sdc
...
Gerät      Anfang      Ende  Sektoren  Größe Typ
/dev/sdc1    4096 976773119 976769024 465,8G Linux-Dateisystem

Wenn ich nach obiger Formel vorgehe, dann nützt mir das nichts, ich brauche ja MiB und keine Sektoren.
 
Zuletzt bearbeitet:
so lange das usb gerät eine quatsch nummer 33553920 meldet wirst du da diese warnungen nicht ganz loswerden

===> ignorieren und bei MiB align bleiben

bei parted, kannst du auch mit print free arbeiten

Code:
(parted) mklabel gpt
(parted) unit mib print free
Number  Start    End     Size    File system  Name  Flags
        0.02MiB  553MiB  553MiB  Free Space

start aufrunden, ende abrunden

Code:
(parted) mkpart linux 1MiB 552MiB
(parted) unit mib print free
Number  Start    End      Size     File system  Name   Flags
        0.02MiB  1.00MiB  0.98MiB  Free Space
 1      1.00MiB  552MiB   551MiB                linux
        552MiB   553MiB   0.80MiB  Free Space

in sektoren anzeigen zu kontrolle
Code:
(parted) unit s print free
Number  Start     End       Size      File system  Name   Flags
        34s       2047s     2014s     Free Space
 1      2048s     1130495s  1128448s               linux
        1130496s  1132132s  1637s     Free Space

2048 % 2048 = 0
1130495 % 2048 = 2047 (in dem fall korrekt da parted, End, "einschliesslich" meint. alternativ End + 1 sektor rechnen)
1128448 % 2048 = 0 (start und größe checken reicht auch)

so hast du mib alignment für start und ende und mehr, kannst du nicht tuen

PS bei logischen 4K sektoren würde man Modulo % 256 statt % 2048 rechnen
 
Zuletzt bearbeitet:
kieleich schrieb:
so lange das usb gerät eine quatsch nummer 33553920 meldet wirst du da diese warnungen nicht ganz loswerden

Ich beginne mich damit abzufinden, schwer zu verstehen ist aber, warum manchmal keine Fehlermeldungen kommen.

Ich habe die SSD, wo mir 4k-Sektoren egal sind, jetzt mit Default-Werten mit gparted partitioniert. cryptsetup hat gemeckert, aber so wie es aussieht, meckert dmesg nicht mehr. Ich muss die externe SSD nachträglich einbinden, da sieht man die Meldungen besser. Wird nachgeliefert.

kieleich schrieb:
bei parted, kannst du auch mit print free arbeiten

Ich hätte gerne einen 1-Zeiler in der bash, der für alle möglichen Platten funktioniert. % wird da schwierig, weil die Platten ja unterschiedlich groß sind.

Dein Beispiel mit 2048 ist ja eh default, ich hätte gerne 4096.
Ergänzung ()

linuxnutzer schrieb:
Wird nachgeliefert.

Also ich sehe da jetzt bei nachträglichem Anstecken keine Fehler mehr in dmesg:

Code:
[   58.912780] usb 4-1: new SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd
[   58.932363] usb 4-1: New USB device found, idVendor=04e8, idProduct=61f5, bcdDevice= 1.00
[   58.932370] usb 4-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[   58.932373] usb 4-1: Product: Portable SSD T5
[   58.932375] usb 4-1: Manufacturer: Samsung
[   58.932377] usb 4-1: SerialNumber:
[   58.950699] usbcore: registered new interface driver usb-storage
[   58.953139] scsi host10: uas
[   58.953263] usbcore: registered new interface driver uas
[   58.953523] scsi 10:0:0:0: Direct-Access     Samsung  Portable SSD T5  0    PQ: 0 ANSI: 6
[   58.955125] sd 10:0:0:0: Attached scsi generic sg2 type 0
[   58.955405] sd 10:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[   58.955476] sd 10:0:0:0: [sdc] Write Protect is off
[   58.955478] sd 10:0:0:0: [sdc] Mode Sense: 43 00 00 00
[   58.955631] sd 10:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   58.980590] sd 10:0:0:0: [sdc] Preferred minimum I/O size 512 bytes
[   58.980595] sd 10:0:0:0: [sdc] Optimal transfer size 33553920 bytes
[   59.000323]  sdc: sdc1
[   59.000389] sd 10:0:0:0: [sdc] Attached SCSI disk
[   75.950657] XFS (dm-2): Mounting V5 Filesystem 0d578f7f-61d5-4f85-992a-bd9de4ee7d34
[   75.983969] XFS (dm-2): Ending clean mount

Es wurde zwar bei LUKS gemeckert: von wegen "Merkwürdige Optimale-Datenübertragungs-Größe", aber bei dmesg sehe ich nichts mehr.

Code:
cryptsetup luksFormat --type luks2 --key-size 256 --cipher aes-xts-plain64 --hash sha512 /dev/sdX1

Also keine Angabe der Sektorgröße mehr für LUKS und der Automatik vertraut.

Code:
cryptsetup luksDump /dev/sdc1 | grep sector
    sector: 512 [bytes]

Das ist noch immer:
Code:
fdisk -l /dev/sdc1
Festplatte /dev/sdc1: 465,76 GiB, 500106788864 Bytes, 976771072 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 33553920 Bytes

Code:
lshw -class disk -class storage

Das sieht auch ok aus:

Code:
*-usb
       Beschreibung: Massenspeichergerät
       Produkt: Portable SSD T5
       Hersteller: Samsung
       Physische ID: 1
       Bus-Informationen: usb@4:1
       Logischer Name: scsi10
       Version: 1.00
       Seriennummer:
       Fähigkeiten: usb-3.10 scsi
       Konfiguration: driver=uas maxpower=896mA speed=10000Mbit/s
     *-disk
          Beschreibung: SCSI Disk
          Produkt: Portable SSD T5
          Hersteller: Samsung
          Physische ID: 0.0.0
          Bus-Informationen: scsi@10:0.0.0
          Logischer Name: /dev/sdc
          Version: 0
          Seriennummer:
          Größe: 465GiB (500GB)
          Fähigkeiten: gpt-1.00 partitioned partitioned:gpt
          Konfiguration: ansiversion=6 guid=0dca3ac9-7428-49cc-85d1-cccd63b71c95 logicalsectorsize=512 sectorsize=512

Ich schaue jetzt, ob ich die 2TB NVME fehlerfrei bei dmesg schaffe.
 
Zuletzt bearbeitet:
linuxnutzer schrieb:
Ich hätte gerne einen 1-Zeiler in der bash, der für alle möglichen Platten funktioniert. % wird da schwierig, weil die Platten ja unterschiedlich groß sind.
also du bekommst mist dem befehl blockdev --getsize64 /dev/laufwerk die größe in bytes zurück

den rest kannst du dann in der bash mittels $((getsize / 512)) o.dgl. beliebig mathematikisieren

sonst keine Idee mehr sorry
 
Das braucht man eigentlich nicht. Du fängst mit 4096 an und jede weitere Partition wird mit MiB/GiB relativ angegeben, also z.B. +100G. Da kann man nichts falsch machen.

LUKS2 sollte nach Möglichkeit 4k Sektoren haben, weil das optimal für die Algorithmen ist. Beim Erstellen sollte eine entsprechende Warnung/Erklärung erscheinen.
 
Zuletzt bearbeitet:
Uridium schrieb:
Das braucht man eigentlich nicht.

Das glaube ich auch, aber ich bin noch am recherechieren. Man sollte mit 100% weiter kommen. Vgl. https://cmdref.net/os/linux/command/parted.html#google_vignette

Code:
mkpart Linux 4096s 100%

Mich irritiert noch das:

Code:
sgdisk -i1 /dev/sdc
Partition #1 does not exist.

Es gibt also die Partition 1 nicht (ist so)

Code:
fdisk -l /dev/sdc
Festplatte /dev/sdc: 1,86 TiB, 2048408248320 Bytes, 4000797360 Sektoren
Festplattenmodell: D NM790 2TB    
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: D68AD4CA-F800-4E82-9159-39ADA3A1DA8C

fdisk zeigt auch keine Partitionen, aber:

Code:
gdisk -l /dev/sdc
GPT fdisk (gdisk) version 1.0.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 4000797360 sectors, 1.9 TiB
Model: D NM790 2TB    
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): D68AD4CA-F800-4E82-9159-39ADA3A1DA8C
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4000797326
Partitions will be aligned on 2048-sector boundaries
Total free space is 4000797293 sectors (1.9 TiB)

Number  Start (sector)    End (sector)  Size       Code  Name

Partitions will be aligned on 2048-sector boundaries

Woher kommen die 2048? Gibt ja keine Partition.

Sector size (logical/physical): 512/4096 bytes
 
Das ist lediglich die Strategie, die er vorschlägt (2048*512=1MiB Alignment).

Ist die 'fdisk' Ausgabe auch von dem USB-Controller? Diese zeigt 4k physikalisch bei 512e logisch und erstmals keine 32MB optimized I/O. Die 512e sind natürlich nicht so dufte. Da streiten sich zwar die Geister. Ich stelle so etwas aber immer gerne um auf 4Kn (eine Übersetzungsschicht weniger).
 
Zuletzt bearbeitet:
Code:
parted /dev/sdc -s -a optimal mklabel gpt mkpart Linux xfs 4096s 100%

Code:
# fdisk -l /dev/sdc
Festplatte /dev/sdc: 1,86 TiB, 2048408248320 Bytes, 4000797360 Sektoren
Festplattenmodell: D NM790 2TB    
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 9174756E-E35A-41F7-B779-55D17A905C07

Gerät      Anfang       Ende   Sektoren Größe Typ
/dev/sdc1    4096 4000796671 4000792576  1,9T Linux-Dateisystem

Der Anfang mit 4096 passt schon, aber ....

Code:
gdisk -l /dev/sdc
GPT fdisk (gdisk) version 1.0.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 4000797360 sectors, 1.9 TiB
Model: D NM790 2TB    
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 9174756E-E35A-41F7-B779-55D17A905C07
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4000797326
Partitions will be aligned on 2048-sector boundaries
Total free space is 4717 sectors (2.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            4096      4000796671   1.9 TiB     8300  Linux

Noch immer "aligned on 2048-sector boundaries"

Code:
  *-usb
       Beschreibung: Massenspeichergerät
       Produkt: USB Storage Device
       Hersteller: JMicron
       Physische ID: 1
       Bus-Informationen: usb@4:1
       Logischer Name: scsi10
       Version: 33.04
       Seriennummer:
       Fähigkeiten: usb-3.20 scsi
       Konfiguration: driver=uas speed=10000Mbit/s
     *-disk
          Beschreibung: SCSI Disk
          Produkt: D NM790 2TB
          Hersteller: Lexar SS
          Physische ID: 0.0.0
          Bus-Informationen: scsi@10:0.0.0
          Logischer Name: /dev/sdc
          Version: 3304
          Seriennummer:
          Größe: 1907GiB (2048GB)
          Fähigkeiten: gpt-1.00 partitioned partitioned:gpt
          Konfiguration: ansiversion=6 guid=9174756e-e35a-41f7-b779-55d17a905c07 logicalsectorsize=512 sectorsize=4096
Ergänzung ()

Uridium schrieb:
Ist die 'fdisk' Ausgabe auch von dem USB-Controller?

Da ist jetzt die Frage was du mit USB-Controller meinst. Anschluss über gleiches Kabel am gleichen USB-Port.

Es ist jetzt aber die 2TB-NVME im Icy-Gehäuse, nicht mehr die 500MB-SSD. Die SSD ist abgehakt, ich glaube da kann man nichts mehr machen, aber die Fehlermeldungen in dmesg sind ja weg.

Ich fahre jetzt mal den PC runter und schaue was dmesg meint.
 
linuxnutzer schrieb:
Da ist jetzt die Frage was du mit USB-Controller meinst.
Ich meinte USB vs M.2.
Eigentlich hatte ich erwartet, dass der USB-Controller immer 32MB I/O setzt. Dem scheint aber nicht so zu sein.
 
Uridium schrieb:
Ich meinte USB vs M.2.

Das in #35 ist alles von der externen 2TB NVME.

Aber leider:

Code:
[  106.009894] usb 4-1: new SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd
[  106.021043] usb 4-1: New USB device found, idVendor=152d, idProduct=0586, bcdDevice=33.04
[  106.021050] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  106.021052] usb 4-1: Product: USB Storage Device
[  106.021055] usb 4-1: Manufacturer: JMicron
[  106.021056] usb 4-1: SerialNumber:
[  106.039268] usbcore: registered new interface driver usb-storage
[  106.041474] scsi host10: uas
[  106.041551] usbcore: registered new interface driver uas
[  106.041849] scsi 10:0:0:0: Direct-Access     Lexar SS D NM790 2TB      3304 PQ: 0 ANSI: 6
[  106.043410] sd 10:0:0:0: Attached scsi generic sg2 type 0
[  106.043807] sd 10:0:0:0: [sdc] 4000797360 512-byte logical blocks: (2.05 TB/1.86 TiB)
[  106.043810] sd 10:0:0:0: [sdc] 4096-byte physical blocks
[  106.043880] sd 10:0:0:0: [sdc] Write Protect is off
[  106.043882] sd 10:0:0:0: [sdc] Mode Sense: 53 00 00 08
[  106.044021] sd 10:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  106.072707] sd 10:0:0:0: [sdc] Preferred minimum I/O size 4096 bytes
[  106.072713] sd 10:0:0:0: [sdc] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[  106.092944]  sdc: sdc1
[  106.093028] sd 10:0:0:0: [sdc] Attached SCSI disk

Im Befehl steht zwar xfs:

Code:
parted /dev/sdc -s -a optimal mklabel gpt mkpart Linux xfs 4096s 100%

Ich weiß aber nicht was dort xfs bewirkt. Jedenfalls sehe ich das Laufwerk nicht mit df.

Ich schaue jetzt mal, was man statt parted noch verwenden könnte. Vielleicht sgdisk, da stehe ich mit der Syntax aber noch auf Kriegsfuß.
Ergänzung ()

Ich frage mich, ob mich dmesg zum Narren hält.

https://codelucky.com/sgdisk-command-linux/#Checking_Partition_Alignment
# Check if partitions are properly aligned
sudo sgdisk -v /dev/sda

Ich habe mittlerweile mit 99% partitioniert um zu vermeiden, dass es vielleicht am letzten Sektor liegt.

Code:
sgdisk -v /dev/sdc
No problems found. 40012397 free sectors (19.1 GiB) available in 2
segments, the largest of which is 40008335 (19.1 GiB) in size.

Dagegen meint dmesg:
Code:
Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
Ergänzung ()

linuxnutzer schrieb:

Code:
sgdisk -o -a 4096 -n 1:4096:0 -c 1:"ICY" /dev/sdc
The operation has completed successfully.

Ausschalten und schauen was dmesg dazu meint.

Ergänzung, noch immer beim alten, auch mit sgdisk:

Jetzt gibt es extra einen Alignment-Befehl mit 4096.

Code:
[   97.288883] usb 4-1: new SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd
[   97.300555] usb 4-1: New USB device found, idVendor=152d, idProduct=0586, bcdDevice=33.04
[   97.300562] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   97.300564] usb 4-1: Product: USB Storage Device
[   97.300566] usb 4-1: Manufacturer: JMicron
[   97.300568] usb 4-1: SerialNumber:
[   97.316249] usbcore: registered new interface driver usb-storage
[   97.318669] scsi host10: uas
[   97.318775] usbcore: registered new interface driver uas
[   97.318953] scsi 10:0:0:0: Direct-Access     Lexar SS D NM790 2TB      3304 PQ: 0 ANSI: 6
[   97.320560] sd 10:0:0:0: Attached scsi generic sg2 type 0
[   97.320961] sd 10:0:0:0: [sdc] 4000797360 512-byte logical blocks: (2.05 TB/1.86 TiB)
[   97.320965] sd 10:0:0:0: [sdc] 4096-byte physical blocks
[   97.321031] sd 10:0:0:0: [sdc] Write Protect is off
[   97.321034] sd 10:0:0:0: [sdc] Mode Sense: 53 00 00 08
[   97.321179] sd 10:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   97.345833] sd 10:0:0:0: [sdc] Preferred minimum I/O size 4096 bytes
[   97.345837] sd 10:0:0:0: [sdc] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[   97.372103]  sdc: sdc1
[   97.372171] sd 10:0:0:0: [sdc] Attached SCSI disk

Code:
gdisk -l /dev/sdc
GPT fdisk (gdisk) version 1.0.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 4000797360 sectors, 1.9 TiB
Model: D NM790 2TB    
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 36D270C4-4E56-4CFA-A153-6029080799E2
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4000797326
Partitions will be aligned on 2048-sector boundaries
Total free space is 4062 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            4096      4000797326   1.9 TiB     8300  ICY
 
Zuletzt bearbeitet:
Code:
sgdisk -v /dev/sdc

Caution: Partition 1 doesn't end on a 2048-sector boundary. This may
result in problems with some disk encryption tools.

Da steht also, dass das Ende nicht passt. Sehe ich es richtig, dass jede 4096er-Grenze auch eine 2048-Grenze ist?

Man müsste also die 0 bei sgdisk für alles mit was anderem ersetzen.

Code:
Gerät      Anfang       Ende   Sektoren Größe Typ
/dev/sdc1    4096 4000797326 4000793231  1,9T Linux-Dateisystem

Die Sektoren, die fdisk anzeigt, sind sicher nicht durch 4096 teilbar und das Ende ist es auch nicht.

4000796672 wäre durch 4096 teilbar. Aber eigentlich sehe noch immer keine 4k-Sektoren, sondern 512.
 
Zuletzt bearbeitet:
Ich habe jetzt was sehr interessantes gefunden:
https://wiki.archlinux.org/title/Advanced_Format
Partition alignment
Misaligned partitions will prevent being able to use 4096 byte sectors with dm-crypt/LUKS. See [5].

Also, ich mache das hier nicht aus Langeweile.

https://wiki.archlinux.org/title/Advanced_Format
Parted only aligns the start of the partition, but not the size/end. When creating partitions, make sure to specify the partition end in mebibytes or a larger IEC binary unit.

Ich vermute mal gparted macht das dann auch nicht richtig.

Aber:

https://wiki.archlinux.org/title/Advanced_Format
sgdisk by default only aligns the start of partitions. Use the -I/--align-end option to additionally enable partition size/end alignment.

Das werde ich probieren, nur die Option gibt es nicht bei der Manpage: https://linux.die.net/man/8/sgdisk


Da gibt es ein Script zum Testen: https://github.com/crysman/check-partitions-alignment

Partition so erstellt, wie es eigentlich nicht passen sollte:
Code:
parted /dev/sdc -s -a optimal mklabel gpt mkpart Linux xfs 4096s 100%

Code:
$ checkpartitionsalignment.sh /dev/sdc
what does the parted utility say about /dev/sdc partitions alignment?
1 ausgerichtet
OK, seems to be all right, but...
let's check manually alignment to 4096B (necessary in case of SSD HDD):

1    2097152 % 4096 = 0    2048407896063(+1) % 4096 = 0    2048405798912 % 4096 = 0

OK, everything divisible by 4096, lucky you! :)
 
Zuletzt bearbeitet:
Das ist alles verrückt. Allein schon die Tatsache, dass nicht alle Partitionierungsprogramme richtig ausrichten wie man bei Archlinux liest. Kann schon sein, dass das nicht immer wichtig ist, vor allem beim Ende. Da sind wir noch gar nicht beim Controller, der Mist baut.

Ich verstehe nicht warum man in Zeiten von TB da bei den Default-Einstellungen nicht so konfiguriert, dass 4k-Sektoren-Grenzen für 4k passen, geht doch nur um 1MB. Also genau umgekehrt, wer 1MB sparen will, soll eine Option verwenden müssen.

Bei mehreren Partitionen kann das echt kompliziert werden, habe es noch nicht probiert, muss erst überlegt sichern.

Ich mache mittlerweile folgendes. Die gpt-Partitionstabelle muss davor existieren.

Code:
sudo sgdisk -o -a 4096 -I -n 1:4096:0 -c 1:"MEINE_PARTITIONSBEZEICHNUNG" /dev/sdX

Achtung "-I" (großes i) ist entscheidend, dass die Grenze am Ende passt.

Danach wird geprüft:

Code:
sgdisk -v /dev/sdc

Wenn das nicht passt, hat man nicht die richtigen Optionen oder das falsche Partitionierungsprogramm.

Dann prüft das Script von https://github.com/crysman/check-partitions-alignment

Auch hier kann passieren, dass zuerst "nicht ausgerichtet" kommt und später, das alles für 4k passt. Ist mir bei einer 512B-Sektor-SSD passiert. dmesg hat keine Probleme gemeldet, aber dann cryptsetup. Da kann man nur hoffen, dass es harmlos ist.

checkpartitionsalignment.sh kann übrigens auch "OK, everything divisible by 4096" bringen, wenn die Partition bei 2048 beginnt.

Ich glaube viel mehr kann man nicht machen und bei mir war das nicht alles optimal. Ich stelle jetzt auf Beginn bei 4096 um. Das mit dem Ende und Anfang bei mehreren Partitionen muss ich erst testen.
 
Zuletzt bearbeitet:
Zurück
Oben