클러스터 개념 / 디스크 할당 크기와 실제 파일 크기 다른 이유

파일의 속성(Alt + Enter)을 열어보면 실제 파일 크기 와 디스크 할당 크기가 다르다는 것을 알수 있습니다. 아니 그냥 파일 크기면 크기지 디스크 할당 크기는 뭘 의미하는 걸까요?

디스크 할당 크기란 무엇인가 / 파일 크기 와 다른 점

디스크 할당 크기는 다른 이름으로 클러스터 라고 하는데요. 운영체제가 파일 데이터를 관리하고 운용하는데 사용되는 데이터 최소 저장 단위 입니다.

클러스터를 쉽게 표현하면 수출용 컨테이너라고 생각하시면 됩니다. 아래의 예시로 설명해 보겠습니다.

한국에서 새우깡 100,000개미국으로 수출한다고 생각해봅시다. 만약 수출용 컨테이너가 없다면 어떻게 될까요?

새우깡 10개들이 1000박스를수출항으로 가는 화물차에 일일히 싣고 부두에서 다시 1000박스를 수출용 배에 다시 옮겨 싣고, 미국에 도착해서 다시 1000박스를 일일히 창고에 옮겨 싣고…

컨테이너 하나에 새우깡 다 때려 박고 컨테이너만 싣고 내리면 되는 것을, 컨테이너가 없다면 손도 많이 가고 시간도 많이 걸릴 것입니다.

PC 운영체제 에서도 마찬가지 입니다. 파일 크기 가 큰 데이터를 컨테이너에 담아 놓으면 운영체제가 데이터를 가져오거나 입력할 일이 생겼을 때 입, 출력 주소 명령이 줄어들어 시스템 부하가 줄어들게 됩니다.

더 자세히 들어가면 하드디스크의 구조와 섹터가 어쩌니 저쩌니 하는 이야기도 있지만 이 정도만 하겠습니다.

클러스터 크기로 인한 손실과 파일 크기 차이

하지만 이 클러스터 크기 즉 디스크 할당 크기에는 문제점이 있습니다. 바로 용량 손실인데요.

위 그림과 같이 4KB로 디스크 할당 크기를 잡았다고 가정하였을 때 파일 크기 가 디스크 할당 크기를 다 채우지 못한다면 나머지는 빈 공간으로 버려지게 됩니다.

이것이 디스크 할당 크기와 실제 데이터 용량이 다른 이유 입니다.

그럼 디스크 할당 크기를 얼마로 잡는 것이 좋나요?

하드디스크나 USB를 포맷할 때 클러스터 크기 즉 디스크 할당 크기를 지정하도록 되어있죠.

디스크 할당 크기를 줄이면 줄일수록 시스템 부하가 커지고 그렇다고 할당 크기를 키우면 키울수록 디스크 손실이 커집니다.

이러한 특성 때문에 파일 크기 가 크고 개수가 적은 동영상 파일 같은 것 보다 파일 크기 가 작고 개수가 많은 텍스트파일이나 이미지 파일이 손실률이 큽니다.

사실 일반적인 사용자들은 딱히 건들 것도 없고 변경한다고 해서 큰 이득도 없습니다. 그냥 NTFS 기본 할당 크기(4KB)를 사용하는 것을 권장합니다.

번외편 – “레이드 시스템”에서의 Strip Size

비슷한 개념으로 레이드의 Strip Size 라는 것이 있습니다. 8개의 하드디스크로 데이터를 분배할때 분배되는 데이터 블럭의 크기를 말하는데요.

이것도 마찬가지로 Strip Size 가 작을수록 레이드 카드 부하가 커지고 Strip Size 가 클수록 용량 손실이 큽니다.

레이드 카드는 바쁩니다.

파일 크기 가 적던 크던 간에 데이터를 실시간으로 하드디스크 개수대로 쪼개야 하고 실시간으로 데이터가 제대로 기록되고 있는지 감시도 해야 하고, 8개의 하드디스크의 오류 정정 코드도 계산해서 데이터 사이사이에 꼽아줘야 합니다.

이렇게 레이드 카드가 바쁘다 보니 기본 Strip Size는 운영체제에서 사용하는 클러스터 단위보다도 훨씬 클 수 밖에 없습니다. 레이드 카드 Strip Size 기본값이 보통 128KB 이나 64KB를 사용 합니다.

Leave a Comment