ロギングを無効にした後、一貫性のないファイルシステムタイプが報告されました。

ロギングを無効にした後、一貫性のないファイルシステムタイプが報告されました。

理由を理解しようとしていますkworker Flashは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パーティションのログを削除すると、partedext2として報告されます。他のツールはまだそれを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を報告します。これは、2つの違いは基本的にジャーナリングサポートのみであるため、意味があります。

ext4の場合、libblkidは大容量ファイルやファイル形式のサポートなど、ext4固有の機能を確認し、これらの機能がある場合はデバイスをext4として報告します。 Libpartedは同様のチェックを実行しますが、ログがある場合にのみ実行されるため、ログのないすべてのextファイルシステムをext2として報告します。間違いだと言いたいのですが、状況によって違うと思います。

Libblkid拡張スーパーブロックはQRコードをスキャンして使用できます。ここprobe_ext3ジャーナルのサポートを確認しますが、確認しませんprobe_ext4

libparted拡張コードが利用可能ここそして、_ext2_generic_probeext3チェックが合格した場合にのみext4をチェックするので、ログのないデバイスはext4を検出しようとしません。

関連情報