![fdisk는 파티션이 잘못 정렬된 것처럼 보이더라도 잘못 정렬된 것으로 보고합니다.](https://linux55.com/image/212109/fdisk%EB%8A%94%20%ED%8C%8C%ED%8B%B0%EC%85%98%EC%9D%B4%20%EC%9E%98%EB%AA%BB%20%EC%A0%95%EB%A0%AC%EB%90%9C%20%EA%B2%83%EC%B2%98%EB%9F%BC%20%EB%B3%B4%EC%9D%B4%EB%8D%94%EB%9D%BC%EB%8F%84%20%EC%9E%98%EB%AA%BB%20%EC%A0%95%EB%A0%AC%EB%90%9C%20%EA%B2%83%EC%9C%BC%EB%A1%9C%20%EB%B3%B4%EA%B3%A0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
Ubuntu 20.04용 부팅 드라이브로 분할하려고 하는 새로운 4TB Western Digital SN850X NVMe SSD 드라이브가 있습니다. 내가 무엇을 하든 fdisk는 파티션이 논리(512바이트) 및 물리(8388608바이트) 섹터 크기에 맞춰 정렬된 것처럼 보이지만 파티션이 잘못 정렬되었다고 보고합니다.
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 3.65 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 8388608 bytes
I/O size (minimum/optimal): 8388608 bytes / 8388608 bytes
Alignment offset: 6832128 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sda1 16384 671743 655360 320M EFI System
/dev/sda2 671744 7814035455 7813363712 3.7T Linux filesystem
Partition 1 does not start on physical sector boundary.
Partition 2 does not start on physical sector boundary.
파티션 1은 물리적 섹터 크기와 일치하는 디스크의 정확히 8MiB(16384 * 512)인 섹터 16384에서 시작하지만 fdisk는 6832128바이트라는 이상한 값으로 인해 정렬이 잘못되었다고 주장합니다.
별도의 align-check
보고서는 동일합니다.
(parted) align-check
alignment type(min/opt) [optimal]/minimal? minimal
Partition number? 1
1 not aligned: 16384s % 16384s != 13344s
(parted) align-check
alignment type(min/opt) [optimal]/minimal? minimal
Partition number? 2
2 not aligned: 671744s % 16384s != 13344s
여기서 Parted는 파티션이 13344 섹터(6832128바이트)만큼 잘못 정렬되었음을 의미하는 것으로 보이며 이는 fdisk에서 보고한 값과 동일합니다. 그러나 분명히 "16384s % 16384s"가 정렬되어 있습니다.
6832128바이트/13344 섹터라는 이상하게 정렬되지 않은 값은 어디에서 왔습니까? 어떤 제안이나 아이디어라도 대단히 감사하겠습니다!
답변1
텍스트를 참고하세요:
Alignment offset: 6832128 bytes
fdisk -l
출력 에서 .
이 SuSE 지원 기사파티션 정렬에 대한 정보는 다음과 같습니다.정렬 오프셋:
특별한 경우가 있습니다. 내부 4k 블록 크기가 도입되었을 때 일부 HDD 제조업체는 실제로 논리 섹터 수를 1씩 이동하여 전형적인 DOS 파티션 테이블 정렬 문제를 해결했습니다. 따라서 섹터 63에서 시작하면 섹터 64(즉, 내부 블록)로 변환됩니다. 8). 일부 하드 드라이브는 이러한 1비트 이동을 수행하는 스위치로 구성될 수도 있습니다. SATA 사양은 운영 체제가 성능을 최적화하기 위해 적절한 조치를 취할 수 있도록 드라이브가 이러한 오프셋을 보고하는 메커니즘도 제공합니다. 우리가 아는 한, 그러한 드라이브는 존재하지 않습니다. 그리고 그 중 일부만이 오프셋을 올바르게 보고했습니다.
드라이브가 정렬 오프셋을 보고하는 경우 SLE11-SP1(또는 이상)의 Linux 커널은 /sys/block/$DEV/alignment_offset 속성(섹터 내)을 통해 이를 보고합니다.
따라서 귀하의 디스크는 매우 특별한 경우인 것 같습니다. 8MiB의 물리적 블록을 사용하는 것처럼 보일 뿐만 아니라 어떤 이유로 첫 번째 블록의 크기도 6832128바이트로 균일하지 않습니다. 보고된 정보가 정확하다고 가정합니다.
Western Digital SN850X는 (정확하게 언급한 대로) NVMe 드라이브이므로 액세스한다는 사실은 /dev/sda
PCIe 버스와 드라이브 사이에 일종의 변환기 장치가 있음을 의미합니다. 직접 연결된 비기업 NVMe 장치가 나타납니다. as /dev/nvmeNn1
및 다음과 같이 분할됩니다 /dev/nvmeNn1pP
( /dev/sd*
여기서 N = NVMe 장치 번호, P = 파티션 번호).
(NVMe 장치 이름에서는 n1
네임스페이스 번호입니다. 대부분의 비엔터프라이즈 NVMe 장치는 단일 네임스페이스만 지원하지만 장치 명명 체계는 여러 네임스페이스를 지원하도록 설계되었습니다. 네임스페이스를 일부 엔터프라이즈 스토리지 잠재력이 있는 메타 파티션으로 생각하십시오. 스냅샷).