예, 또한 MBR / PBR / GPT / MD / LVM의 모든 디스크 레이아웃을 확인했으며 동일한 결론에 도달했습니다.
귀하의 경우 (원시 디스크의 LVM), LVM-PE (physical extent)가 pvcreate와 1MB 정렬되면 할당 크기를 (1MB * N)으로 유지하는 한 모든 추가 데이터 할당이 정렬되도록 할 수 있습니다 .
"vgcreate -s"및 "lvcreate -L"은 기본적으로 단위가없는 크기를 MB 값으로 MB 단위로 처리하므로 pvcreate를 올바르게 수행 한 후에는 정렬에 신경 쓸 필요가 없습니다. 크기를 % / PE (lvcreate -l의 경우) 및 B (byte) / S (512B-섹터는 항상 LVM에서 512B) / K (KB) (vgcreate -s 및 lvcreate -L의 경우)로 지정하지 마십시오.
=== 설명을 위해 추가됨 ===
후속 조치와 마찬가지로 SSD는 전체 장치로 1024KB의 소거 블록 크기를 가질 수 있지만 각 내부 플래시 칩의 소거 블록 크기 / rw 페이지 크기는 약 32KB-128KB / 512B-8KB입니다.
이는 각 SSD의 컨트롤러에 따라 다르지만 추가 내부 수정-쓰기 주기로 인한 I / O 페널티는 각 내부 칩의 블록 크기 (32KB-128KB)를 지우도록 쓰기 정렬을 유지하는 한 발생하지 않을 수 있습니다. 예. 단일 쓰기 요청이 충분히 커지기를 원하기 만하면 (= SSD로서 전체 장치의 블록 크기 지우기) 모든 내부 칩 / 채널을 효율적으로 구동하여 더 나은 성능을 기대할 수 있습니다.
컨트롤러 칩 기능은 공급 업체에 따라 다르고 플래시 칩의 사양이 빠르게 변하기 때문에 1024KB 정렬은 안전 조치 일뿐입니다. 큰 번들 (이 경우 1024KB)에서 OS 수준 쓰기 요청을 수행하는 것이 더 중요합니다.
이제 1MB 정렬 LVM 블록에서 mkfs (8)을 수행하면 파일 시스템 수준 데이터 / 메타 데이터에 대해 1MB 정렬이 거의 확실하게 중단됩니다. 대부분의 파일 시스템은 4KB 정렬 만 수행하므로 SSD에는 적합하지 않을 수 있습니다 (그러나 IIRC, 최근 btrfs와 같은 fs는 내부 연속 블록을 할당 할 때 64KB + 정렬을 유지하려고합니다). 그러나 많은 fs는 RAID를 사용하여 성능을 얻기 위해 쓰기 (예 : 스트라이프 크기 구성)를 묶는 기능을 가지고 있으므로 SSD에 대한 쓰기 요청을 거의 최적화 할 수 있습니다.
실제 데이터로 진술을 뒷받침하고 싶지만 오늘날의 SSD 컨트롤러가 매우 지능적이어서 얼라이먼트 크기와 쓰기 크기가 "충분히 큰"경우 성능 저하를 나타내지 않기 때문에 실제로 확인하기가 어려웠습니다. 정렬이 잘못되지 않았는지 (모든 비용으로 <4KB 조정은 피함) 너무 작지 않은지 확인하십시오 (1024KB는 충분히 큼).
또한 IO 페널티에 관심이있는 경우 디바이스 캐시를 비활성화하고 동기화 된 읽기 / 쓰기 / 쓰기 테스트를 사용하여 벤치마킹하여 다시 확인하십시오.