Parted dice que no está alineado, pero debería ser correcto

Parted dice que no está alineado, pero debería ser correcto
Model: ATA Samsung SSD 850 (scsi)
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start        End            Size           File system  Name  Flags
 1      24576B       1048575B       1024000B                          bios_grub
 2      1048576B     537919487B     536870912B     fat32              boot, esp
 3      537919488B   1611661311B    1073741824B    zfs
 4      1611661312B  500107845119B  498496183808B  zfs

parted /dev/sda align-check optimal 1
> 1 not aligned
parted /dev/sda align-check optimal 2
> 2 aligned
parted /dev/sda align-check optimal 3
> 3 aligned
parted /dev/sda align-check optimal 4
> 4 aligned

El tamaño del sector dice 512B, pero internamente supongo que 4096B porque es un SSD, de cualquier manera debería ser divisible 24576 / 512 = 48. 24576 / 4096 = 6¿Hay alguna razón por la cual parted dice que no está alineado?

Soy consciente de que esta configuración actual no debería tener ningún efecto en el rendimiento, ya que solo se lee (si es que se lee) en el arranque, pero tengo curiosidad por saber por qué se informa tal como está.

Como referencia, el diseño de la partición es el sugerido por Debian ZFS en Root (https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html)

Respuesta1

Inténtalo align-check minimal 1, debería estar bien con eso.

Independientemente de lo que considerarían separadosóptimoPara su hardware, al optimizar el diseño de la partición para la memoria flash se debe tener en cuenta que los chips están organizados enpaginas yborrar bloques.

No puedes simplemente sobrescribir unpágina. El procesador que controla el dispositivo primero debe borrarlo y el borrado sólo es posible en unidades mucho mayores que el tamaño de la página.

Cuando es probable que el tamaño de página de su dispositivo esté en el rango de 2 KB-32 KB, elborrar-bloquearEl tamaño suele estar entre 128 KB y 2 MB (64 veces más), dependiendo de la capacidad del disco. 4 MB no es inusual en la categoría de GB.

** Todas las operaciones en la unidad solo pueden realizarse en estas unidades **

=> Olvídese del tamaño de la página, abra las hojas de datos de su dispositivo en particular, busque el tamaño de laborrar bloquesluego alinee sus particiones en consecuencia.

Cuídate: Era una época en la que Samsung jugaba con muysorprendentevalores y no están particularmente deseosos de revelar esta información.

Respuesta2

Está "no alineado" pero tampoco importa para la bios_grubpartición. Grub solo almacena allí unos pocos kilobytes de datos, que se leen una vez al iniciar. Alinearlo o no, en la práctica no habrá ninguna diferencia.

Las versiones recientes de partedpueden ser más detalladas sobre el mensaje de alineación:

# parted --version
parted (GNU parted) 3.3
Copyright (C) 2019 Free Software Foundation, Inc.
...
# parted /dev/loop0 align-check optimal 1
1 not aligned: 48s % 2048s != 0s

Por lo tanto, "no está alineado" en términos de alineación MiB. Es posible que tampoco esté alineado considerando que los SSD pueden usar páginas 4K, 8K, 16K internamente, por lo que 6*4K es un valor ligeramente extraño para alinear.

El objetivo al crear la partición de esta manera no es la alineación, sino maximizar el uso del espacio. Aunque es difícil encontrar un caso de uso en el que Grub realmente necesite más que unos pocos sectores.

Si desea "arreglarlo" de todos modos, puede colocar la bios_grubpartición en un desplazamiento de 1 MiB y hacer que la boot, esppartición comience en 2 MiB, dejando el área actualmente ocupada bios_grubcomo espacio libre sin particiones.

Pero no habrá cambios en la funcionalidad o el rendimiento. Está bien ignorarlo y dejarlo como está.

información relacionada