파일 시스템이 사용 가능한 저장 공간에 영향을 줍니까?

파일 시스템이 사용 가능한 저장 공간에 영향을 줍니까?

일부 그룹에서는 디스크 공간이 작은 컴퓨터(예: 32GB ideapad, 노트북 등)에서 Linux의 파일 시스템(btrfs 대 ext4 등)을 사용하는 것에 대해 논의하는 것을 들었습니다.

파일 시스템 선택이 실제로 동일한 파일의 사용에 영향을 줍니까? 내 말은, 다른 파일 시스템을 선택하면 더 많은 여유 디스크 공간을 얻을 수 있다는 뜻인가요? 정확히 같은 결과를 얻었습니다.

답변1

예, 큰 차이를 만들 수 있습니다. 일반적으로 작은 파일이 많은 파일 시스템에서 가장 큰 차이를 만듭니다. 따라서 비디오 컬렉션(주로 GB 파일)이나 음악 컬렉션(주로 MB 파일)에도 영향을 미치지 않을 수 있습니다. 그러나 파일 시스템이 크기가 몇 KB에 불과한 많은 파일로 채워져 있다면 확실히 차이가 있음을 알 수 있습니다.


각 파일에 필요한 메타데이터에는 약간의 차이가 있습니다. 여기서 메타데이터는 파일 이름, 권한, 타임스탬프, 사용자 정의 파일 시스템 속성 등 파일 데이터에 포함되지 않은 모든 것을 의미합니다.

실제로 파일 시스템의 기능과 때로는 파일 시스템 구성 방식에 따라 다르지만 파일당 데이터는 파일 크기에 관계없이 바이트에서 킬로바이트까지 가능합니다.


파일은 개별 바이트로 저장되지 않고 바이트 블록으로 저장됩니다. ext4에서 512MB보다 큰 파일 시스템의 경우 블록은 기본적으로 4KiB입니다. 따라서 정확히 4096바이트의 파일은 디스크에서 4096바이트를 차지하지만, 4095바이트 또는 단 1바이트의 파일은 디스크에서 4096바이트를 차지합니다. 4097바이트 파일은 다시 8192바이트를 차지합니다. 이것을 패딩이라고 합니다.

일부 파일 시스템은 사용자 정의(더 작은) 블록 크기로 포맷될 수 있습니다. 이렇게 하면 충전이 줄어들 수 있지만 부작용이 있을 수도 있습니다. 일부 최신 하드 드라이브는 작은 블록에서는 제대로 작동하지 않습니다. 이론적으로는 할당된 블록을 표시하기 위해 더 많은 공간이 필요하기 때문에 실제로 용량이 줄어들 수 있습니다. 하지만 저는 이런 일이 발생하는 것을 직접 본 적이 없습니다.

이제 모든 파일 시스템이 패딩 블록을 낭비하는 것은 아닙니다. 일부 파일 시스템(btrfs 포함)은 블록에 여러 파일을 할당합니다. 바라보다블록 재할당.


그러면 또 다른 분명한 특징이 있습니다. 일부 파일 시스템은 파일 내용을 투명하게 압축할 수 있습니다. 파일 내용이 성공적으로 압축된다는 보장은 없지만 매우 성공적일 수 있습니다.

예제 파일 시스템은 zfs입니다. 바라보다zfs에서 압축 활성화.

관련 정보