fdisk 섹터 크기 및 정렬 문제


10

나는 명령을 실행했다 :

# fdisk /dev/sda1

결과는 다음과 같습니다.

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

Command (m for help): p

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xe0c5913d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    40965749    20482843+  1c  Hidden W95 FAT32 (LBA)
Partition 1 does not start on physical sector boundary.
/dev/sda2   *    40966144   334567423   146800640    7  HPFS/NTFS/exFAT
/dev/sda3       334567424   753997823   209715200   83  Linux
/dev/sda4       753999870  1953525167   599762649    5  Extended
Partition 4 does not start on physical sector boundary.
/dev/sda5       753999872  1949376511   597688320   83  Linux
/dev/sda6      1949378560  1953525167     2073304   82  Linux swap / Solaris

다음 항목으로 인해 문제가 있습니다.

  • 장치는 물리 섹터 크기보다 작은 논리 섹터 크기를 나타냅니다. 물리적 섹터 (또는 최적 I / O) 크기 경계에 맞추는 것이 권장되거나 성능에 영향을 줄 수 있습니다.

  • 물리 섹터 경계에서 파티션 1이 시작되지 않습니다.

  • 물리 섹터 경계에서 파티션 4가 시작되지 않습니다.

파일과 파티션을 잃지 않고 어떻게 하나 이상의 항목을 해결할 수 있습니까?

내가 남긴 문제는 무엇입니까?


논리 섹터 크기는 거의 항상 512 바이트 입니다. 이는 놀라운 일이 아닙니다. 디스크 컨트롤러는이를 알고 그에 따라 작동합니다. 섹터와 파티션 경계가 맞지 않는 문제는 본 적이 없습니다. 몇 년 전에 문제가 있었을 수도 있습니다.
muru

답변:


11

대부분의 최신 디스크에서는 논리 섹터 크기가 물리 섹터 크기보다 작습니다. 이것은 단순히 고급 포맷 디스크 가 가장 자주 구현되는 방식입니다. 일부 외부 디스크는 물리 및 논리 섹터 모두에 동일한 (4096 바이트) 섹터 크기를 사용하며 일부 고급 내부 디스크는 현재 동일하지만 요즘 대부분의 디스크는 512 바이트의 고급 형식 모델입니다 논리 섹터 및 4096 바이트 물리 섹터 이것에 대해 할 수있는 일이 없습니다.

즉, 고급 포맷 디스크의 파티션을 올바르게 정렬하는 것이 중요합니다. 고급 형식 디스크에서 일부 테스트를 실행하여 파티션이 잘못 정렬되어 결과가 여기에 게시 될 때 발생하는 결과를 확인 했습니다. 간단히 말해, 문제의 정도는 하나 개의 파일 시스템에서 다른 하나 개의 디스크에서 다른 매우 다양하지만, 중요한 (그리고 때로는 거의 항상 거기에 잘못 정렬 된 파티션과 관련된) 성능 저하가.

/dev/sda4그러나 귀하 의 파일 시스템을 직접 보유하지는 않습니다. 확장 파티션이므로 다른 파티션의 컨테이너 일뿐입니다. 직접 연결된 데이터 /dev/sda4는 단순히 두 개의 (논리적) 섹터로, 서로 인접 하지 않기 때문에 적절히 정렬 할 수 없습니다 . 실제 성능 불이익은에 포함 된 파티션의 정렬에서 비롯됩니다 /dev/sda4. 귀하의 경우, /dev/sda4보유 /dev/sda5하고 /dev/sda6적절하게 정렬 둘. 따라서 걱정할 필요가 없습니다 /dev/sda5. 당신이보고있는 경고는 "문제"가 존재하지 않을 때보고하는 것에 대해 지나치게 열성적인 코드 일뿐입니다.

/dev/sda1반면에, 귀하 는 올바르게 정렬되어 있지 않습니다. 섹터 63에서 시작하여 8로 나눌 수 없습니다. 그에 대해 무엇을해야하는지의 여부는 해당 파티션을 얼마나 많이 사용하는지, 어떻게 사용하는지 (파일 크기, 읽기 대 쓰기 등), 백업이 충분한 지 여부 등 최적의 성능을 얻는 것이 얼마나 중요한지, 앞에서 언급 한 기사를 읽은 다음 문제의 해결 여부를 결정하는 것이 좋습니다. (공간 문제로 인해이 기사에서 FAT 결과를보고하지는 않았지만, FAT 성능은 상당히 악화되었습니다. IIRC는 ReiserFS만큼 나쁘지 않지만 다른 대부분의 Linux 기본 파일 시스템만큼 나빠졌습니다.)

수정하기로 결정한 경우 /dev/sda1백업하여 시작해야합니다. 이 작업을 수행 한 후이를 해결하는 한 가지 방법은 해당 파일을 삭제하고 대신 새 파티션을 작성하고 파일을 복원하는 것입니다. 백업 후의 다른 방법은 GParted에서 파티션 크기를 조정하는 것입니다. 시작점을 약간 변경하십시오. 최신 버전의 GParted는 2048 개 섹터의 배수로 반올림해야합니다. 파티션의 시작점 이동은 항상 위험하며 끝점 이동보다 시간이 오래 걸립니다. 파티션의 크기는 19GiB에 불과하기 때문에 시작점을 이동하는 것조차도 엄청나게 많은 시간이 걸리지 않지만 순간적이지는 않습니다.

참고 및 배경으로, 상당히 오래된 도구 만 최신 Advanced Format 디스크의 파티션을 잘못 정렬합니다. 내 생각에 당신은 그런 도구 (예전의 Linux fdisk또는 DOS FDISK)를 /dev/sda1사용하여 만든 다음 더 현대적인 도구 (보다 최근 fdiskparted, 또는 GParted)를 사용하여 나머지 파티션을 만들었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.