다양한 Linux 배포판에서 ext4 파티션을 생성할 때 사용되는 옵션의 차이를 피하는 방법은 무엇입니까?

다양한 Linux 배포판에서 ext4 파티션을 생성할 때 사용되는 옵션의 차이를 피하는 방법은 무엇입니까?

ext4 및 ext4 파일 시스템에서 "/"를 부팅하기 위한 특수 패치가 포함된 이전 버전의 grub(0.97)을 사용하여 qcow2 파일을 생성하는 일부 스크립트가 있습니다.

Ubuntu 12.04/14.04에서 이 스크립트를 실행하면 가상 머신이 KVM에서 실행됩니다. 그러나 Centos 7의 경우 grub 레거시 버전은 ext4에서 로드되지 않습니다.

'/' 생성 중mkfs -t ext4 -L BOOT /dev/mapper/loop0p1

qcow2 파일을 Ubuntu에서 CentOs로 옮겼을 때 부팅되었습니다. 그러나 CentOs 7에서 생성된 qcow2 이미지는 두 시스템 모두에서 부팅에 실패합니다.

우리가 실행할 때 mkfs -t ext4 -L BOOT :

Ubuntu KVM 호스트 12/14, dumpe2fs는 다음을 표시합니다.

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 호스트, dumpe2fs는 다음을 표시합니다. 실행 시 mkfs -t ext4 -L BOOT :

Ubuntu KVM 호스트 12/14, dumpe2fs는 다음을 표시합니다. 파일 시스템 기능: has_journal ext_attr resize_inode dir_index 파일 유형 need_recovery 범위 flex_bg sparse_superlarge_file huge_file uninit_bg dir_nlink extra_isize 저널 기능: Journal_incompat_revoke

CentOs 7 KVM 호스트, dumpe2fs는 다음을 보여줍니다:

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

그래서 mkfs.ext4는 다음을 추가합니다:

  1. 저널 기능: 저널_64비트
  2. 파일 시스템 기능: 64비트

이 상황을 피하는 방법은 무엇입니까?

인사.

답변1

mkfs.ext4

새로 생성된 파일 시스템의 매개변수 기본값(아래 나열된 옵션으로 재정의되지 않은 경우)은 /etc/mke2fs.conf 구성 파일에 의해 제어됩니다.

우분투 호스트, 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 호스트, 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
        }

관련 정보