
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
분할되지 않은 여유 공간으로 남겨둘 수 있습니다.
하지만 기능이나 성능에는 변화가 없습니다. 무시하고 그대로 두는 것이 좋습니다.