
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
セクター サイズは 512B と表示されますが、SSD なので内部的には 4096B であると推測しています。いずれにしても、割り切れるはずです24576 / 512 = 48
。parted24576 / 4096 = 6
でアラインされていないと表示されるのは何か理由があるのでしょうか。
この現在の構成は、起動時にのみ読み取られるため (読み取られる場合も)、パフォーマンスに影響はないはずですが、なぜこのように報告されるのか興味があります。
参考までに、パーティションレイアウトはDebian ZFS on Rootで提案されているものです(https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html)
答え1
試してみてくださいalign-check minimal 1
。それで大丈夫なはずです。
別れた相手が何を考慮するかに関係なく最適なハードウェアの場合、フラッシュメモリのパーティションレイアウトを最適化するには、チップが次のように構成されていることを考慮する必要があります。ページ そしてブロックを消去する。
単純に上書きすることはできませんページデバイスを制御するプロセッサは最初にデバイスを消去する必要があり、消去はページ サイズよりもはるかに大きい単位でのみ可能です。
デバイスのページサイズが2KB~32KBの範囲にある場合、消去ブロックサイズは通常、ディスクの容量に応じて 128 KB から 2 MB (64 倍以上) の間になります。GB カテゴリでは 4 MB は珍しくありません。
** ドライブ上のすべての操作はこれらのユニットでのみ実行できます **
=> ページサイズを忘れて、特定のデバイスのデータシートを開き、ブロックを消去するそれに応じてパーティションを調整します。
気をつけて:サムスンが非常に遊んでいた時代でした驚くべき価値観が異なり、この情報を開示することに特に熱心ではありません。
答え2
これは「整列されていない」ですが、パーティションにとっては問題ではありません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
されていない空き領域として残すことができます。
ただし、機能やパフォーマンスに変更はありません。無視してそのままにしておくのも問題ありません。