기본적으로 EXT4 파일 시스템에는 128MiB(기본값) 크기의 데이터 블록이 있습니다. 이를 "그룹" 또는 "블록 그룹"이라고 하며 기본적으로 디스크에서는 다음과 같습니다.
디스크가 클수록 더 많은 그룹이 차례로 존재합니다.
이 도구를 사용하면 dumpe2fs
그룹 수를 간단히 알려주고 다음과 같은 일부 정보를 반환할 수 있습니다.
Group 690: (Blocks 22609920-22642687) csum 0x7443 [ITABLE_ZEROED]
Block bitmap at 22544386 (bg #688 + 2), csum 0xab2a9072
Inode bitmap at 22544402 (bg #688 + 18), csum 0x1ef9c14a
Inode table at 22545440-22545951 (bg #688 + 1056)
0 free blocks, 8182 free inodes, 10 directories, 8182 unused inodes
Free blocks:
Free inodes: 5652491-5660672
내 질문은: 이 도구를 사용하여 전체 블록 세트를 0으로 만들면 어떻게 됩니까 dd
?
그룹 전체에 들어갈 만큼 작은 파일이 있는 경우 해당 파일은 영구적으로 손실됩니다. 하지만 시스템이 어떻게 반응할지 확신할 수 없는 다른 상황도 있습니다.
파일은 여러 블록 그룹으로 분할 및 설명될 수 있습니다. 이는 (이 경우) 파일의 특정 부분만 0으로 처리됨을 의미합니다.
fsck
파일을 실행한 후 파일은 어떻게 되나요? 전체 파일이 Lost&found 디렉토리에 저장되나요? 아니면 파일 시스템 구조에 표시되지만 열거나 액세스할 수 없습니까?위 그룹이 0으로 설정되면 디렉터리의 파일은 어떻게 되나요? 정보만 있습니다
0 free blocks, 8182 free inodes, 10 directories, 8182 unused inodes
. 이는 그룹이 10개의 디렉토리와 0개의 파일을 설명하고 모든 블록이 데이터에 의해 사용된다는 것을 의미합니다. 따라서 우리는 10개의 디렉토리와 일부 조각난 대용량 파일을 갖게 됩니다. 적어도 나는 그 메시지를 그렇게 이해했다. 그러나 디렉터리에는 파일이 포함될 수 있습니다. 그룹을 0으로 설정하면 디렉터리의 파일은 어떻게 되나요? 나중에 액세스할 수 있나요fsck
?
답변1
기본적으로 메타데이터 및/또는 데이터가 영향을 받는지 여부가 결정됩니다.
일반적으로 메타데이터가 손상되면 영향을 받은 파일/디렉토리에 액세스할 수 없게 됩니다(또는 부분적으로 액세스할 수 없게 됩니다). 다음과 같은 도구fsck
가능한손상은 복구할 수 있지만 정확히 무엇이 손상되었는지에 따라 달라집니다.
그러나 데이터가 손상되면 파일 시스템이 데이터 체크섬을 구현하지 않는 한(EXT4는 구현하지 않음) 파일 시스템은 데이터에 문제가 없는 것처럼 작동합니다. 가능하다면 수정 사항을 확인하고 수행하는 것은 애플리케이션에 달려 있습니다.