본문 바로가기

디스크와 파티션

[디스크 정보] 파티션 개수의 한계

Ⅰ. MBR 디스크 - 기본 디스크

이번 글에서는 디스크의 종류에 따라 파티션을 몇 개까지 생성할 수 있는지 알아보도록 하겠습니다. 간혹 자료에 따라서 기본 디스크에서 생성할 수 있는 파티션 개수의 한계가 서로 다른 것을 가끔씩 볼 수 있습니다. 마이크로소프트의 자료에 따르면 MBR 디스크 - 기본 디스크의 주 파티션 개수의 한계는 4 개이며 확장 파티션은 1 개만 생성할 수 있고 논리 드라이브 개수의 한계는 무제한 입니다.

  • 주 파티션 : 최대 4 개
  • 확장 파티션 : 최대 1 개
  • 주 파티션 + 확장 파티션 : 주 파티션 최대 3 개 + 확장 파티션 최대 1 개, 합 4 개
  • 논리 드라이브 : 무제한



1. 주 파티션

MBR 의 파티션 테이블은 64 Byte 로 하나의 파티션 엔트리는 16 Byte 의 크기를 가집니다. 그리하여 파티션 테이블에 기록이 되는 주 파티션은 64 / 16 = 4 그리하여 최대 4 개까지만 생성이 가능한 것이지요.


하나의 디스크에 네 개 이상의 주 파티션을 생성하려고 하면 이와 같이 사용 가능한 범위가 없다며 더 이상 생성이 되질 않습니다. 이 때 사용 가능한 범위란 MBR 의 파티션 테이블로 네 개로 한정된 파티션 엔트리를 모두 채웠으니 더 이상 파티션을 기록할 수 없는 것 입니다. 이렇듯 파티션 테이블에 한정된 네 개의 엔트리를 모두 사용하면 더 이상 어떠한 파티션도 생성할 수 없습니다.[주 파티션과 확장 파티션 모두]



2. 확장 파티션

이러한 한계를 극복하기 위해 MBR 디스크는 파티션 엔트리 중 하나를 확장 파티션으로 명시할 수 있습니다. 확장 파티션은 일종의 껍데기 파티션으로 데이터를 기록할 순 없지만 주 파티션과 같은 역할을 하는 논리 드라이브를 생성할 수 있습니다. 아무튼 디스크에 무조건 1 개만 생성할 수 있습니다.


1 개를 초과한 확장 파티션을 생성하려고 하면 이와 같이 파티션 수가 디스크의 제한 값에 도달했다는 문구를 출력하게 됩니다. 이는 MBR 디스크에 확장 파티션은 1 개만 존재할 수 있다고 명시되어 있기 때문입니다.



3. 논리 드라이브

논리 드라이브의 경우 주 파티션과 같이 일정 용량의 파티션 테이블 공간에 위치한 일정한 개수의 파티션 엔트리 중 하나에 기록되는 것이 아니라 논리 드라이브 자체에 포함된 EBR(Extended Boot Record) 의 EPT(Extended Partition Table) 라는 자체적인 파티션 테이블에 기록이 됩니다.

즉, '따로 얼마의 저장 공간이 준비되어 있고 해당 공간에 몇 개의 파티션 엔트리를 기록할 수 있으니 논리 드라이브는 몇 깨까지 생성할 수 있다' 라고 명시된 구조가 아니라 논리 드라이브 자체에 EBR 과 EPT 가 포함되어 논리 드라이브가 생성될 때 마다 해당 논리 드라이브에 포함된 EPT 에 기록을 하는 방식입니다. 그러니 마이크로소프트가 밝힌 생성할 수 있는 개수의 한계가 무제한이라는 말은 구조적으로 맞는 말이지요. 아래는 논리 드라이브의 구조 입니다.

출처 - 마이크로소프트 Technet


보시는 것과 같이 논리 드라이브는 자체적으로 EBR 을 가지고 있고 EPT 의 첫 번째 엔트리에 자신의 파티션 정보를 기록하고(Current) 두 번째 엔트리에는 다음 논리 드라이브의 파티션 정보인 EPT 의 첫 번째 엔트리가(Current) 명시되어 있습니다.(Next) 나머지 두 엔트리는 예비로 사용되지 않습니다. 이러한 방식으로 무한정 연결되어 논리 드라이브의 생성 개수에는 제한이 없는 것 입니다.

그러나 주 파티션의 개수의 한계인 4 개는 대체적으로 다르게 기록하신 분들이 없지만 논리 드라이브 개수의 한계에 대해서는 30 개, 99 개 등 서로 다른 모습들을 보이는데요. 이는 아마도 파티션을 나누고 생성하는 디스크 관리 프로그램의 인식 한계 등 MBR 디스크 - 기본 디스크의 자체적인 한계가 아닌 써드 파티 프로그램의 인식 한계 문제를 보고 그러한 개수 밖에 생성할 수 없다라고 판단하여 이러한 오류가 생기지 않았나 싶습니다.

제가 과거에 MBR 디스크 - 기본 디스크에서 주 파티션 세 개와 논리 드라이브 97 개를 생성하여 총 100 개의 파티션을 생성하는 실험을 하고 결과를 보여드린 적이 있는데요. 논리 드라이브 개수의 한계가 99 개 라는 이야기를 들은 이상 논리 드라이브 딱 300 개만 생성해 보도록 하겠습니다. 아래는 MBR 디스크 - 기본 디스크에 논리 드라이브 300 개를 생성한 결과입니다.






Ⅱ. GPT 디스크 - 기본 디스크

GPT 디스크 - 기본 디스크에서는 주 파티션만을 생성할 수 있고 파티션 생성 개수의 한계은 128 개 입니다. GPT 디스크의 파티션 테이블은 LBA 2~33 까지의 16,384 Byte 의 공간을 파티션 테이블로 사용하며 하나의 파티션 엔트리는 128 Byte 의 크기를 가지고 있습니다. 16,384 / 128 = 128 그리하여 하나의 디스크에 최대 128 개의 파티션을 기록할 수 있으며 이로 인해 생성할 수 있는 파티션 개수의 한계는 128 개가 되는 것 입니다.

GPT 디스크의 경우 이러한 GPT 공간을 디스크의 시작 부분에 위치시키며 장애를 대비한 이에 대한 백업을 디스크의 마지막 부분에 위치시킵니다. 그래서 하나의 디스크에 원본과 이에 대한 클론까지 파티션 테이블이 모두 256 개가 존재하고 있습니다. 허나 디스크의 마지막에 위치한 GPT 는 백업을 위한 클론일 뿐 따로 기록되어 사용되는 것이 아닙니다. 아무래도 이러한 것에서 혼동이 생겨 GPT 디스크의 파티션 생성 개수 한계를 256 개로 이해하신 분들이 있으신 것 같은데요. 128 개 입니다.

그럼 GPT 디스크 - 기본 디스크에 주 파티션 129 개를 생성해 보아 어떠한 결과가 나오는지 보도록 하죠.


화면에서는 표시되지 않지만 128 개까지는 정상적으로 생성이 되며 129 개를 생성하는 순간 마찬가지로 사용 가능한 범위가 없다며 더 이상 생성이 되질 않습니다. 이 때 사용 가능한 범위란 GPT 의 파티션 테이블로 128 개로 한정된 파티션 엔트리를 모두 채웠으니 더 이상 파티션을 기록할 수 없는 것 입니다.



밝혔다시피 GPT 디스크에서는 주 파티션만을 생성할 수 있습니다. 확장 파티션을 생성하려고 하면 아래와 같이 논리 및 확장 파티션을 만들 수 없다는 메시지가 출력됩니다.






Ⅲ. 동적 디스크

동적 디스크의 경우 자세하게 구조를 설명한 자료를 제가 아직 찾지 못했습니다. 대충 제가 알고 있는 자료로는 하나의 볼륨은 최대 32 개의 디스크에 스팬될 수 있다는 것은 알고 있지만 하나의 디스크에 최대 몇 개의 볼륨을 생성할 수 있는지에 대해 언급되어 있는 자료를 찾지 못한 실정입니다. 제가 지금까지 찾아낸 것 중에 동적 디스크의 파티션 한계에 대해 언급한 것은 테크넷에서 짤막하게 언급된 다음의 문장입니다.

  • Regardless of the partition style used (MBR or GPT), you can create about 2,000 dynamic volumes per disk group, although the recommended number of dynamic volumes is 32 or fewer per disk group.

하나의 디스크 그룹에 2,000 개의 동적 볼륨을 생성할 수 있다고 하는데 그 구조에 대한 설명도 없고 도식도 없는 상태라 따로 설명 드리기가 난감한 상황입니다. 그래서 그냥 MBR 디스크 - 동적 디스크에서 에누리 없이 딱 2,001 개의 단순 볼륨을 생성하는 실험을 진행해 보았습니다.


드디어 동적 디스크 구성 정보의 한계에 도달했다는 메시지를 얻었습니다. 몇 개나 생성되었는지 결과를 한 번 보도록 하죠.


안타깝게도 총 985 개의 단순 볼륨이 생성된 모습입니다. 딱 2,000 개 채워줬으면 좋으려만 아쉽네요. GPT 디스크 - 동적 디스크에서도 실험을 해보면 좋겠지만 걸리는 시간이 만만찮은 관계로 해당 실험은 나중에 한가할 때 진행하는 것으로 하도록 하겠습니다. 비록 테크넷 자료에 언급된 2,000 개의 볼륨은 아니지만 사실 985 개의 볼륨도 실제로 사용할 일이 없죠. 결론은 동적 디스크에서는 당신이 필요한 만큼의 충분한 볼륨을 생성할 수 있습니다. ^^




추가

디스크 관리에서는 어떻게 표시되는지 예전 자료에는 있었지만 이번에 정리하면서 뺐는데 궁금하신 분들이 계신 것 같아 추가로 올려봅니다. ^^

논리 드라이브 300 개 디스크 관리 이미지



GPT 디스크 주 파티션 128 개 디스크 관리 이미지