Parted에서는 정렬되지 않았지만 정확해야 한다고 말합니다.

Parted에서는 정렬되지 않았지만 정확해야 한다고 말합니다.
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합니다 24576 / 4096 = 6. parted가 정렬되지 않았다고 말하는 이유가 있습니까?

이 현재 구성은 부팅 시에만 읽기 때문에 성능에 아무런 영향을 미치지 않아야 한다는 것을 알고 있지만, 왜 그렇게 보고되는지 궁금합니다.

참고로 파티션 레이아웃은 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 범위에 있을 가능성이 있는 경우지우기 블록크기는 디스크 용량에 따라 일반적으로 128KB에서 2MB(64배 이상) 사이입니다. 4MB는 GB 범주에서 드문 일이 아닙니다.

** 드라이브의 모든 작업은 이 장치에서만 발생할 수 있습니다 **

=> 페이지 크기를 잊어버린 경우, 특정 장치의 데이터시트를 열고 페이지 크기를 찾으십시오.블록 지우기그런 다음 그에 따라 파티션을 정렬하십시오.

조심하세요 : 삼성이 아주 장난치던 시절이었죠.놀라운가치를 지니고 있으며 특히 이 정보를 공개하고 싶어하지 않습니다.

답변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오프셋 1MiB에 배치하고 boot, esp파티션이 2MiB에서 시작하도록 하여 현재 점유된 영역을 bios_grub분할되지 않은 여유 공간으로 남겨둘 수 있습니다.

하지만 기능이나 성능에는 변화가 없습니다. 무시하고 그대로 두는 것이 좋습니다.

관련 정보