로깅을 비활성화한 후 일관되지 않은 파일 시스템 유형이 보고되었습니다.

로깅을 비활성화한 후 일관되지 않은 파일 시스템 유형이 보고되었습니다.

이유를 이해하려고 노력 중kworker 플래시는 99% I/O를 사용하고 시스템에서 파일 쓰기를 중단합니다., 다음을 사용하여 ext4 데이터 파티션에 대한 로깅을 비활성화했습니다.

tune2fs -O ^has_journal /dev/sdg1

다시 시작한 후 항목을 통한 파티션 자동 마운트가 /etc/fstab실패합니다.

# mount /mnt/das.f
mount: /mnt/das.f: wrong fs type, bad option, bad superblock on /dev/sdf1, missing codepage or helper program, or other error.

이상한.

우리 머신 중 이전 머신은 (오래 전) ext3으로 포맷되었고 최신 머신은 ext4입니다. 이러한 혼합으로 인해 공통 관리 스크립트를 사용하여 parted존재하는 실제 파티션 유형을 기반으로 파티션을 자동으로 생성합니다./etc/fstab

그러나 ext4 파티션의 로그를 삭제한 후에 parted는 ext2로 보고됩니다. 다른 도구에서는 여전히 이를 ext4로 보고합니다.

어느 것이 맞나요? 로그를 제거하면 파일 시스템이 ext4에서 ext2로 "변환"됩니까, 아니면 이는 및 ? 의 parted버그 입니까?file

# parted /dev/sdc1 p
Model: Unknown (unknown)
Disk /dev/sdc1: 7580GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number  Start  End     Size    File system  Flags
 1      0.00B  7580GB  7580GB  ext2

# file -sL /dev/sdc1
/dev/sdc1: Linux rev 1.0 ext2 filesystem data, UUID=8fde102f-1047-4b3b-83f9-43c40face046 (extents) (large files)

# blkid /dev/sdc1
/dev/sdc1: UUID="8fde102f-1047-4b3b-83f9-43c40face046" TYPE="ext4" PARTUUID="8935788a-939d-4d2c-8495-dc38afc47164"
    

/etc/fstab(수동으로 ext4로 변경하면 볼륨이 잘 마운트됩니다...)

머신: Centos 8.1, 4.18.0-147.el8.x86_64

답변1

코드를 보면 libparted와 libblkid가 ext 버전을 감지하는 방식에 차이가 있습니다. 버전은 슈퍼블록으로 작성되지 않으며 두 도구 모두 지원되는 기능을 사용하여 버전을 구별합니다.

두 도구 모두 저널링 없이 ext3에 대해 ext2를 보고합니다. 이는 둘 사이의 차이점이 기본적으로 저널링 지원뿐이므로 의미가 있습니다.

ext4의 경우 libblkid는 대용량 파일이나 파일 형식 지원과 같은 ext4 특정 기능을 확인하고, 이러한 기능이 있는 경우 장치를 ext4로 보고합니다. Libparted는 유사한 검사를 수행하지만 로그가 있는 경우에만 수행하므로 로그가 없는 모든 ext 파일 시스템을 ext2로 보고합니다. 나는 그것이 실수라고 말하고 싶지만 상황에 따라 다르다고 생각합니다.

Libblkid 확장 슈퍼블록은 QR 코드를 스캔하여 사용할 수 있습니다.여기probe_ext3저널 지원을 확인하지만 확인 probe_ext4하지는 않습니다.

libparted 확장 코드 사용 가능여기그리고 _ext2_generic_probeext3 검사가 통과한 경우에만 ext4를 검사하므로 로그가 없는 장치에서는 ext4를 감지하려고 시도하지 않습니다.

관련 정보