2043G 이후의 ext3에서 크기 잘림이 실패하는 이유는 무엇입니까?

2043G 이후의 ext3에서 크기 잘림이 실패하는 이유는 무엇입니까?

이것이 작동하는 이유:

truncate -s 2043G foo

...실패하더라도:

truncate -s 2044G foo

왜 2043GB인가요?

답변1

이는 사용 중인 파일 시스템의 제한 사항입니다. 여기서 ZFS는 최대 7엑사바이트 크기의 스파스 파일을 생성합니다.

$ truncate -s 7E foo
$ ls -l foo
-rw-r--r--   1 jlliagre 8070450532247928832 Nov  9 16:49 foo

답변2

최대 파일 크기가 2TB인 파일 시스템을 사용 중일 수 있습니다(예: 블록 크기가 4KB 또는 8KB인 ext3). truncate파일 시스템에서 지원하는 최대 크기보다 큰 대상 파일 크기를 지정할 수 없습니다. 2044GB는 2TB에 매우 가깝습니다. 문제를 일으키는 것이 2048GB가 아닌 이유를 모르겠습니다. 아마도 ext3의 파일 저장 방법 내부적인 문제일 것입니다.

관련 정보