클러스터(Cluster)
DFIR/기타 개념

클러스터(Cluster)

클러스터

하드디스크의 읽기, 쓰기 작업은 섹터 단위로 이루어집니다.

하지만 섹터 단위로 입출력을 처리할 경우 용량이 큰 파일에 대하여 많은 시간이 요구됩니다.

보통 1섹터의 크기가 512 byte이므로 5,000 byte 크기의 데이터를 읽으려면 총 10번의 입출력(512 * 100 >= 5000)을 수행해야 하는 것입니다.

때문에 디스크의 입출력 처리 속도 효율을 향상시키기 위해 여러 개의 섹터를 묶어서 한 번에 처리하게 되고 이것을 클러스터 개념입니다.

예를 들어 10,000 byte 크기의 데이터를 읽을 때, 섹터 단위로 읽게 되면 20번(512 * 20 > 10,000) 읽어야 하지만, 클러스터 단위로 읽게 되면 3번(4,096 * 3 > 10,000)만 읽으면 되는 것입니다.

요약하자면 디스크의 입출력시간을 줄이기 위해 섹터를 여러 개로 묶어 시간을 절약하기 위해 도입된 개념입니다.

 

볼륨 포맷 시 클러스터 크기 지정

볼륨을 포맷할 때 클러스터의 크기를 지정할 수 있습니다. NTFS의 경우 일반적으로는 4,096 byte로 설정이 되어 있으며 default 크기는 파일 시스템에 따라, 또 볼륨의 크기에 따라 다르게 지정이 됩니다.

 

FAT32 파일 시스템의 클러스터 기본 크기

볼륨 크기 클러스터 크기
32 MB ~ 8 GB 4 KB
8 GB ~ 16 GB 8 KB
16 GB ~ 32 GB 16 KB
32 GB ~ 32 KB

 

NTFS 파일 시스템의 클러스터 기본 크기

볼륨 크기 클러스터 크기
7 MB ~ 512 MB 512 Byte
513 MB ~ 1 GB 1 KB
1 GB ~ 2 GB 2 KB
2 GB ~ 4 KB

 

일반적으로 하드 디스크의 경우 용량이 2 GB 이상이며 NTFS 파일 시스템을 사용하기 때문에 기본 클러스터 크기가 4KB(4,096 byte)로 설정이 되어 있습니다. (출처 : http://forensic-proof.com/archives/357)

 

파일의 크기

파일의 속성 탭에서 해당 파일이 차지하고 있는 크기를 알 수 있습니다.

위 그림에서 크기는 파일의 실제 물리적 크기이고 디스크 할당 크기는 디스크에서 할당받은 클러스터의 크기 합을 의미하는 것입니다.

1.png의 실제 크기는 14,835 byte 이며, 디스크에 할당받은 크기는 16,384 byte인 것입니다. 즉 1.png는 디스크에서 총 4개의 클러스터를 할당받고 있는 것입니다. (4,096 * 4 = 16,384)

파일의 디스크 할당 크기는 클러스터 크기로 나누어 떨어지는 것을 알 수 있습니다.

파일의 크기가 클러스터보다 작은 경우에는 슬랙 공간이 많이 발생하기 때문에 비효율적이지만 그렇지 않다면 디스크의 입출력속도를 개선할 수 있다고 보면 되겠습니다. 그렇기 때문에 사용하는 용도에 따라  클러스터의 크기를 적절하게 조절하는 것이 좋겠습니다.

'DFIR > 기타 개념' 카테고리의 다른 글

VMware Drag and Drop File 경로  (0) 2022.05.27
Falcon NEO 디스크 이미징 수행 과정  (0) 2022.01.10
디지털 포렌식 맛보기#2  (0) 2021.07.06
디지털 포렌식 맛보기#1  (0) 2021.06.27
디지털 포렌식과 해시(Hash)  (0) 2021.06.21