여러 디스크를 사용하는 경우 디스크 성능이 예상보다 느려질 수 있습니다.

이 문서에서는 디스크 성능이 예상보다 느려질 수 있는 문제에 대한 해결을 설명합니다. 이 문제는 하드웨어 또는 소프트웨어 기반 RAID를 사용할 때 발생할 수 있습니다.

적용 대상: Windows Server 2012 R2, Windows 10 - 모든 버전
원본 KB 번호: 929491

증상

Windows에서 여러 디스크를 사용하는 경우 디스크 성능이 예상보다 느려질 수 있습니다. 예를 들어 RAID(독립 디스크) 또는 소프트웨어 기반 RAID의 하드웨어 기반 중복 배열을 사용하는 경우 성능이 저하될 수 있습니다.

원인

이 문제는 파티션의 시작 위치가 RAID에 생성된 디스크 파티션의 스트라이프 단위 경계와 정렬되지 않은 경우에 발생할 수 있습니다.

볼륨 클러스터는 스트라이프 단위 경계 옆에 있는 대신 스트라이프 단위 경계를 통해 만들 수 있습니다. Windows는 512바이트의 요소를 사용하여 볼륨 클러스터를 만들기 때문입니다. 이 동작으로 인해 파티션이 잘못 정렬됩니다. 단일 볼륨 클러스터가 잘못 정렬된 파티션에서 업데이트될 때 두 개의 디스크 그룹에 액세스합니다.

Windows는 미리 정의된 수의 섹터를 기반으로 하는 파티션을 만듭니다. Windows에서 디스크 파티션의 시작 위치는 대용량 스토리지 컨트롤러가 운영 체제에 제공하는 정보에 따라 32번째 또는 64번째 섹터입니다.

참고

디스크 파티션은 항상 코드 및 파티션 정보(예: 섹터 수 및 시작 섹터)에 대한 파티션의 첫 번째 섹터를 예약합니다. 파티션의 실제 데이터 부분은 파티션의 두 번째 섹터에서 시작됩니다.

해결 방법

이 문제를 resolve 위해 Diskpart.exe 도구를 사용하여 디스크 파티션을 만들고 2,048개 섹터(1메가바이트)의 시작 오프셋을 지정합니다. 2,048개 섹터의 시작 오프셋은 대부분의 스트라이프 단위 크기 시나리오를 포함합니다.

참고

Windows Server 2003 서비스 팩 1에서는 Diskpart가 파티션 맞춤을 조정하는 기능을 도입했습니다. 업데이트된 버전의 Diskpart에 액세스할 수 없는 경우 diskpar(이 유틸리티의 이름에 최종 "t"가 없음)를 사용할 수 있습니다.

기존 파티션이 정렬되었는지 확인하려면 "추가 정보" 섹션에 설명된 계산을 수행합니다.

2,048섹션 오프셋이 있는 RAID에 디스크 파티션을 정렬하려면 다음 단계를 수행합니다.

  1. 명령 프롬프트에서 diskpart를 입력한 다음 Enter 키를 누릅니다.

  2. DISKPART 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.

    list disk
    

    다음과 유사한 출력이 표시됩니다.

    Disk ### Status Size Free Dyn Gpt  
    -------- ---------- ------- ------- --- ---  
    Disk 0 Online 37 GB 8033 KB  
    Disk 1 Online 17 GB 8033 KB
    Disk 2 Online 17 GB 0 B  
    Disk 3 Online 17 GB 148 MB *  
    Disk 4 Online 17 GB 8 MB *  
    Disk 5 Online 17 GB 8 MB *  
    Disk 6 Online 17 GB 8 MB *  
    Disk 7 Online 17 GB 8 MB *  
    Disk 8 Online 17 GB 435 KB *  
    Disk 9 Online 17 GB 8 MB *  
    Disk 10 Online 17 GB 8033 KB
    

    명령은 list disk 컴퓨터에 설치된 각 디스크에 대한 요약 정보를 제공합니다. 별표(*) 표시가 있는 디스크에 현재 포커스가 있습니다. 고정 디스크 및 이동식 디스크만 나열됩니다. 고정 디스크에는 통합 디바이스 전자 장치 [IDE] 및 SCSI 디스크가 포함됩니다. 이동식 디스크에는 1394 및 USB 디스크가 포함됩니다.

    select disk
    

    디스크 선택 명령을 사용하여 지정된 디스크 번호가 있는 디스크로 포커스를 설정합니다. 디스크 번호를 지정하지 않으면 명령에 포커스가 있는 현재 디스크가 표시됩니다.

    create partition primary align=1024
    

    참고

    • 이 명령을 입력하면 지정된 파티션을 만드는 데 성공한 DiskPart와 유사한 메시지가 표시될 수 있습니다.
    • align= number 매개 변수는 일반적으로 하드웨어 RAID LUN(논리 단위 번호)과 함께 사용하여 논리 단위가 원통형으로 정렬되지 않은 경우 성능을 향상시킵니다. 이 매개 변수는 디스크 시작 부분에 원통형이 정렬되지 않은 기본 파티션을 정렬한 다음 오프셋을 가장 가까운 맞춤 경계로 반올림합니다.
    • number 는 디스크 시작부터 가장 가까운 맞춤 경계까지 KB(KB)의 수입니다. 기본 파티션이 디스크의 시작 부분에 없으면 명령이 실패합니다. 오프셋 = number 옵션과 함께 명령을 사용하는 경우 오프셋은 디스크에서 사용할 수 있는 첫 번째 원통 내에 있습니다.
    exit
    
  3. 시작을 클릭하고 실행을 클릭하고 diskmgmt.msc를 입력한 다음 확인을 클릭합니다.

  4. 디스크 관리 MMC(Microsoft Management Console) 스냅인에서 새로 만든 파티션을 찾은 다음 드라이브 문자를 할당합니다.

  5. NTFS 파일 시스템을 사용하여 새 파티션의 서식을 지정한 다음 클러스터 크기를 할당합니다.

    참고

    이 샘플 절차는 RAID 그룹당 단일 파티션에 대한 것입니다.

추가 정보

기존 파티션이 정렬되었는지 확인하려면 스트라이프 단위의 크기를 RAID 디스크 그룹의 시작 오프셋으로 나눕니다. 다음 구문을 사용합니다.
((파티션 오프셋) * (디스크 섹터 크기)) / (스트라이프 단위 크기)

참고

디스크 섹터 크기 및 스트라이프 단위 크기는 바이트 또는 KB(킬로바이트)여야 합니다.

256KB 스트라이프 단위 크기에 대한 정렬 계산(바이트)의 예:
(63 * 512) / 262144 = 0.123046875
(64 * 512) / 262144 = 0.125
(128 * 512) / 262144 = 0.25
(256 * 512) / 262144 = 0.5
(512 * 512) / 262144 = 1

256KB 스트라이프 단위 크기의 맞춤 계산 예:
(63 *.5) / 256 = 0.123046875
(64 *.5) / 256 = 0.125
(128 *.5) / 256 = 0.25
(256 *.5) / 256 = 0.5
(512 *.5) / 256 = 1

다음 예제에서는 512개 섹터(섹터당 512바이트)의 오프셋을 사용하여 파티션을 만들 때까지 파티션이 256KB 스트라이프 단위 크기에 맞게 올바르게 정렬되지 않음을 보여 줍니다.

참고

배열 그룹의 디스크 수는 파티션 맞춤에 영향을 주지 않습니다. 파티션 맞춤에 영향을 주는 요인은 스트라이프 단위 크기 및 파티션 시작 오프셋입니다.

지정된 파티션의 시작 오프셋을 찾으려면 다음 단계를 수행합니다.

  1. 시작, 실행을 차례로 클릭하고 cmd를 입력한 다음 확인을 클릭합니다.

  2. 다음 명령을 입력한 다음 Enter 키를 누릅니다.

    wmic partition get BlockSize, StartingOffset, Name, Index
    

    명령을 실행하면 다음과 유사한 출력이 표시됩니다.

    BlockSize Index Name StartingOffset  
    512 0 Disk #1, Partition #0 32256  
    512 0 Disk #2, Partition #0 32256  
    512 0 Disk #3, Partition #0 32256  
    512 0 Disk #4, Partition #0 1048576  
    512 0 Disk #0, Partition #0 32256  
    512 1 Disk #0, Partition #1 41126400
    
  3. 지정된 각 파티션에 대한 BlockSize 및 StartingOffset의 값을 확인합니다. 이 명령에서 반환되는 Index 값은 파티션이 지정된 디스크 드라이브에 대한 첫 번째 파티션, 두 번째 파티션 또는 기타 파티션인지 여부를 나타냅니다. 예를 들어 파티션 인덱스 0은 지정된 디스크의 첫 번째 파티션입니다.

  4. 지정된 파티션이 디스크의 시작 부분에서 시작하는 디스크 섹터 수를 확인하려면 StartingOffset 값을 BlockSize 값으로 나눕니다. 2단계의 예제에서 다음 계산은 섹터에서 파티션 시작 오프셋을 생성합니다.

    32256/512 = 63