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 zfsparted /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扇区大小表示512 B,但我猜4096 B是因为它是SSD,无论哪种方式,它都应该是可除的,24576 / 512 = 48,24576 / 4096 = 6。是否有任何理由让分离说它不对齐。
我知道这个当前的配置不应该对性能产生任何影响,因为它只是在引导时才被读取(如果有的话),而只是好奇为什么它是这样报告的。
作为参考,分区布局是Debian在根(https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html)上建议的布局。
发布于 2020-08-10 08:05:28
试试align-check minimal 1吧,它应该没问题。
不管您的硬件是如何划分的,优化闪存的分区布局都应该考虑到芯片被组织成页面和擦除块。
你不能简单地覆盖一个页面。控制设备的处理器必须首先擦除它,并且擦除只能在比页面大小大得多的单元中进行。
当您的设备的页面大小可能在2kb-32 2KB范围内时,擦除块大小通常在128 2KB到2MB之间(64倍以上),这取决于磁盘的容量。4MB在GBs类别中并不少见。
**驱动器上的所有操作只能在这些单元中进行**
=>忘记页面大小,打开特定设备的数据表,找到擦除块的大小,然后相应地对齐分区。
小心点:这是一个三星玩非常令人惊讶的价值观,而不是特别渴望披露这一信息的时候。
发布于 2020-08-10 07:38:27
它“未对齐”,但对于bios_grub分区也不重要。Grub只存储几千字节的数据,在引导时只读取一次。不管是否对齐,它在实践中都不会有任何影响。
最近版本的parted可能更详细地讨论了对齐消息:
# 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因此,就MiB对齐而言,它是“不对齐”的。考虑到SSD可能在内部使用4K、8K、16K页,它也可能不对齐,因此6*4K是一个稍微奇怪的值。
以这种方式创建分区的目标不是对齐,而是最大限度地利用空间。虽然很难想出一个用例,Grub实际上需要的不仅仅是几个部门。
如果您想“修复”它,您可以将bios_grub分区放在偏移量1 MiB,并让boot, esp分区从2 MiB开始,将bios_grub当前占用的区域作为未分区的空闲空间。
但是功能和性能不会改变。无视现状并离开是好的。
https://unix.stackexchange.com/questions/603734
复制相似问题