Wie vermeidet man die Unterschiede in den Optionen, die zum Erstellen von Ext4-Partitionen auf verschiedenen Linux-Distributionen verwendet wurden?

Wie vermeidet man die Unterschiede in den Optionen, die zum Erstellen von Ext4-Partitionen auf verschiedenen Linux-Distributionen verwendet wurden?

Ich habe einige Skripte, die mit Grub Legacy (0.97) eine qcow2-Datei mit einem speziellen Patch zum Booten von ext4 und dem ext4-Dateisystem für „/“ erstellen.

Wenn ich diese Skripte unter Ubuntu 12.04/14.04 ausführe, funktionieren die VMs in KVM. Aber für Centos 7 wird die Grub-Version nicht von ext4 geladen.

Der '/' erzeugt mitmkfs -t ext4 -L BOOT /dev/mapper/loop0p1

Wenn ich qcow2-Dateien von Ubuntu nach CentOs verschiebe, können sie gebootet werden. Aber qcow2-Images, die auf CentOs 7 erstellt wurden, können auf beiden Systemen nicht gebootet werden.

Wenn wir ausführen mkfs -t ext4 -L BOOT bei:

Ubuntu KVM-Host 12/14, dumpe2fs zeigt:

Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features: journal_incompat_revoke

CentOs 7 KVM-Host, dumpe2fs zeigt: Bei der Ausführung mkfs -t ext4 -L BOOT bei:

Ubuntu KVM-Host 12/14, dumpe2fs zeigt: Dateisystemfunktionen: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Journalfunktionen: journal_incompat_revoke

CentOs 7 KVM-Host, dumpe2fs zeigt:

Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Journal features: journal_incompat_revoke journal_64bit

Daher fügt mkfs.ext4 Folgendes hinzu:

  1. Journalfunktionen:journal_64bit
  2. Dateisystemfunktionen: 64bit

Wie kann man dies vermeiden?

Grüße.

Antwort1

man mkfs.ext4

Die Standardwerte der Parameter für das neu erstellte Dateisystem werden, sofern sie nicht durch die unten aufgeführten Optionen überschrieben werden, durch die Konfigurationsdatei /etc/mke2fs.conf gesteuert.

Ubuntu-Host, cat /etc/mke2fs.conf

[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 0
        blocksize = 4096
        inode_size = 256
        inode_ratio = 16384

[fs_types]
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                auto_64-bit_support = 1
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }

CentOs 7-Host, cat /etc/mke2fs.conf:

[defaults]
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
        default_mntopts = acl,user_xattr
        enable_periodic_fsck = 0
        blocksize = 4096
        inode_size = 256
        inode_ratio = 16384
[fs_types]
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,64bit
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }

verwandte Informationen