inode의 크기는 고정되어 있나요?

inode의 크기는 고정되어 있나요?

파일을 고정된 크기의 청크로 나누어 저장합니다.

파일의 inode 크기가 블록 크기와 같은지, 아니면 다르고 고정된 크기인지 알고 싶습니다.

답변1

청크에는 파일의 실제 데이터가 포함되어 있으므로 일반적으로 청크는 여전히 좋은 성능을 유지하면서 가능한 한 커지기를 원합니다. 블록에 적합한 크기는 대략 페이지 크기인 것으로 나타났습니다. 인용하다ext4 위키:

블록 크기는 mkfs 시간에 지정되며 일반적으로 4KiB입니다. 블록 크기가 페이지 크기보다 큰 경우(즉, 4KiB 메모리 페이지만 있는 i386에서 64KiB 블록) 설치 문제가 발생할 수 있습니다.

"mkfs 시간"은 파일 시스템이 생성된 시간을 나타냅니다. 따라서 파일 시스템을 생성하면 블록 크기는 4KiB로 고정됩니다.

inode에는 데이터 블록에 대한 포인터(및 파일에 대한 일부 메타 정보(마지막으로 액세스한 시간, 해당 파일이 속한 사용자 등))만 포함하면 됩니다. 안에다른 부분들Wikipedia에 따르면

기본적으로 ext4 inode 레코드는 256바이트이고 (2013년 10월 현재) inode 구조는 156바이트입니다 [...]. inode 구조 끝과 inode 레코드 끝 사이의 추가 공간을 사용하여 확장된 속성을 저장할 수 있습니다. 각 inode 레코드는 파일 시스템 블록 크기만큼 클 수 있지만 그다지 효율적이지는 않습니다.

그래서 우리는할 수 있다이는 inode를 블록만큼 크게 만들지 만 실제 시스템에서는 그렇지 않을 수도 있습니다. 궁금하다면 아이노드구조데이터 블록에 대한 포인터만 논의됩니다. 따라서 실제 파일 내용을 가리키는 156바이트의 포인터가 있지만 전체 inode는 256바이트를 차지합니다. 기본적으로 원하는 메타데이터에 여유롭게 사용할 수 있는 100바이트가 있습니다.

간단히 말해서, ext4는 매우 구성 가능합니다. 그러나 블록 크기는 4KiB이고 inode 레코드는 256바이트일 가능성이 높습니다.

관련 정보