웹사이트 검색

Linux에서 EXT2, EXT3, EXT4 상태를 관리하는 4가지 도구


파일 시스템은 컴퓨터 시스템에서 데이터가 저장되고 검색되는 방식을 제어하는 데 도움이 되는 데이터 구조입니다. 파일 시스템은 디스크의 물리적(또는 확장) 파티션으로 간주될 수도 있습니다. 제대로 유지 관리하고 정기적으로 모니터링하지 않으면 장기적으로 다양한 방식으로 손상되거나 손상될 수 있습니다.

파일 시스템이 건강하지 않게 되는 원인에는 시스템 충돌, 하드웨어 또는 소프트웨어 오작동, 드라이버 및 프로그램의 버그, 잘못된 조정, 과도한 데이터로 인한 과부하 및 기타 사소한 결함 등 여러 가지 요인이 있습니다.

이러한 문제로 인해 Linux가 파일 시스템을 정상적으로 마운트(또는 마운트 해제)하지 못하게 되어 시스템 오류가 발생할 수 있습니다.

추가 읽기: Linux(Ext2, Ext3 또는 Ext4)에서 파일 시스템 유형을 결정하는 7가지 방법

또한 손상된 파일 시스템으로 시스템을 실행하면 운영 체제 구성 요소나 사용자 응용 프로그램에서 다른 런타임 오류가 발생하여 심각한 데이터 손실이 발생할 수 있습니다. 파일 시스템 손상을 방지하려면 파일 시스템 상태를 계속 주시해야 합니다.

이 기사에서는 ext2, ext3 및 ext4 파일 시스템 상태를 모니터링하고 유지 관리하는 도구에 대해 설명합니다. 여기에 설명된 모든 도구에는 루트 사용자 권한이 필요하므로 sudo 명령을 사용하여 실행하세요.

EXT2/EXT3/EXT4 파일 시스템 정보를 보는 방법

dumpe2fs는 ext2/ext3/ext4 파일 시스템 정보를 덤프하는 데 사용되는 명령줄 도구입니다. 즉, 장치의 파일 시스템에 대한 슈퍼 블록 및 블록 그룹 정보를 표시합니다.

dumpe2fs를 실행하기 전에 df -hT 명령을 실행하여 파일 시스템 장치 이름을 확인하세요.

sudo dumpe2fs /dev/sda10
샘플 출력
dumpe2fs 1.42.13 (17-May-2015)
Filesystem volume name:   
Last mounted on:          /
Filesystem UUID:          bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
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
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              21544960
Block count:              86154752
Reserved block count:     4307737
Free blocks:              22387732
Free inodes:              21026406
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1003
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sun Jul 31 16:19:36 2016
Last mount time:          Mon Nov  6 10:25:28 2017
Last write time:          Mon Nov  6 10:25:19 2017
Mount count:              432
Maximum mount count:      -1
Last checked:             Sun Jul 31 16:19:36 2016
Check interval:           0 ()
Lifetime writes:          2834 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       6947324
Default directory hash:   half_md4
Directory Hash Seed:      9da5dafb-bded-494d-ba7f-5c0ff3d9b805
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             128M
Journal length:           32768
Journal sequence:         0x00580f0c
Journal start:            12055

-b 플래그를 전달하여 파일 시스템에서 불량으로 예약된 모든 블록을 표시할 수 있습니다(출력은 불량 블록을 의미하지 않음).

dumpe2fs -b

EXT2/EXT3/EXT4 파일 시스템 오류 확인

e2fsck는 ext2/ext3/ext4 파일 시스템의 오류 및 fsck 검사를 검사하는 데 사용되며 선택적으로 Linux 파일 시스템을 복구할 수 있습니다. 이는 기본적으로 제공되는 다양한 파일 시스템 검사기(fsck.fstype, 예를 들어 fsck.ext3, fsck.sfx 등)에 대한 프런트 엔드입니다. 리눅스에서.

Linux는 /etc/fstab 구성 파일에서 체크인하도록 레이블이 지정된 파티션에서 시스템 부팅 시 자동으로 e2fack/fsck를 실행한다는 점을 기억하세요. 이는 일반적으로 파일 시스템이 완전히 마운트 해제되지 않은 후에 수행됩니다.

주의: 마운트된 파일 시스템에서 e2fsck 또는 fsck를 실행하지 마십시오. 실행하기 전에 항상 먼저 파티션을 마운트 해제하세요. 아래 그림과 같이 그 위에 이러한 도구가 있습니다.

sudo unmount /dev/sda10
sudo fsck /dev/sda10

또는 -V 스위치를 사용하여 자세한 출력을 활성화하고 -t를 사용하여 다음과 같이 파일 시스템 유형을 지정합니다.

sudo fsck -Vt ext4 /dev/sda10

EXT2/EXT3/EXT4 파일 시스템 튜닝

파일 시스템 손상의 원인 중 하나가 잘못된 튜닝이라고 처음부터 언급했습니다. 아래 설명된 대로 tune2fs 유틸리티를 사용하여 ext2/ext3/ext4 파일 시스템의 조정 가능한 매개변수를 변경할 수 있습니다.

매개변수의 현재 값을 포함하여 파일 시스템 수퍼블록의 내용을 보려면 표시된 대로 -l 옵션을 사용하십시오.

sudo tune2fs -l /dev/sda10
샘플 출력
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name:   
Last mounted on:          /
Filesystem UUID:          bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
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
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              21544960
Block count:              86154752
Reserved block count:     4307737
Free blocks:              22387732
Free inodes:              21026406
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1003
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sun Jul 31 16:19:36 2016
Last mount time:          Mon Nov  6 10:25:28 2017
Last write time:          Mon Nov  6 10:25:19 2017
Mount count:              432
Maximum mount count:      -1
Last checked:             Sun Jul 31 16:19:36 2016
Check interval:           0 ()
Lifetime writes:          2834 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       6947324
Default directory hash:   half_md4
Directory Hash Seed:      9da5dafb-bded-494d-ba7f-5c0ff3d9b805
Journal backup:           inode blocks

다음으로, -c 플래그를 사용하여 e2fsck가 파일 시스템을 검사할 마운트 수를 설정할 수 있습니다. 이 명령은 4 마운트마다 /dev/sda10에 대해 e2fsck를 실행하도록 시스템에 지시합니다.

sudo tune2fs -c 4 /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4

-i 옵션을 사용하여 두 파일 시스템 검사 사이의 시간을 정의할 수도 있습니다. 다음 명령은 파일 시스템 검사 간격을 2일로 설정합니다.

sudo tune2fs  -i  2d  /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds

이제 아래 명령을 실행하면 /dev/sda10에 대한 파일 시스템 확인 간격이 설정됩니다.

sudo tune2fs -l /dev/sda10
샘플 출력
Filesystem created:       Sun Jul 31 16:19:36 2016
Last mount time:          Mon Nov  6 10:25:28 2017
Last write time:          Mon Nov  6 13:49:50 2017
Mount count:              432
Maximum mount count:      4
Last checked:             Sun Jul 31 16:19:36 2016
Check interval:           172800 (2 days)
Next check after:         Tue Aug  2 16:19:36 2016
Lifetime writes:          2834 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       6947324
Default directory hash:   half_md4
Directory Hash Seed:      9da5dafb-bded-494d-ba7f-5c0ff3d9b805
Journal backup:           inode blocks

기본 저널링 매개변수를 변경하려면 -J 옵션을 사용하십시오. 이 옵션에는 size=journal-size(저널의 크기 설정), device=external-journal(저널이 저장되는 장치 지정) 및 < 등의 하위 옵션도 있습니다. Strong>location=journal-location (저널의 위치를 정의)

파일 시스템에는 크기 또는 장치 옵션 중 하나만 설정할 수 있습니다.

sudo tune2fs -J size=4MB /dev/sda10

마지막으로 -L 옵션을 사용하여 파일 시스템의 볼륨 레이블을 아래와 같이 설정할 수 있습니다.

sudo tune2fs -L "ROOT" /dev/sda10

EXT2/EXT3/EXT4 파일 시스템 디버그

debugfs는 ext2/ext3/ext4 파일 시스템 디버거 기반의 간단한 대화형 명령줄입니다. 파일 시스템 매개변수를 대화식으로 수정할 수 있습니다. 하위 명령이나 요청을 보려면 "?"를 입력하세요.

sudo debugfs /dev/sda10

기본적으로 파일 시스템은 읽기-쓰기 모드로 열려야 하며, 읽기-쓰기 모드로 열려면 -w 플래그를 사용하세요. 재앙 모드로 열려면 -c 옵션을 사용하세요.

샘플 출력
debugfs 1.42.13 (17-May-2015)
debugfs:  ?
Available debugfs requests:

show_debugfs_params, params
                         Show debugfs parameters
open_filesys, open       Open a filesystem
close_filesys, close     Close the filesystem
freefrag, e2freefrag     Report free space fragmentation
feature, features        Set/print superblock features
dirty_filesys, dirty     Mark the filesystem as dirty
init_filesys             Initialize a filesystem (DESTROYS DATA)
show_super_stats, stats  Show superblock statistics
ncheck                   Do inode->name translation
icheck                   Do block->inode translation
change_root_directory, chroot
....

여유 공간 조각화를 표시하려면 freefrag 요청을 사용하세요.

debugfs: freefrag
샘플 출력
Device: /dev/sda10
Blocksize: 4096 bytes
Total blocks: 86154752
Free blocks: 22387732 (26.0%)

Min. free extent: 4 KB 
Max. free extent: 2064256 KB
Avg. free extent: 2664 KB
Num. free extent: 33625

HISTOGRAM OF FREE EXTENT SIZES:
Extent Size Range :  Free extents   Free Blocks  Percent
    4K...    8K-  :          4883          4883    0.02%
    8K...   16K-  :          4029          9357    0.04%
   16K...   32K-  :          3172         15824    0.07%
   32K...   64K-  :          2523         27916    0.12%
   64K...  128K-  :          2041         45142    0.20%
  128K...  256K-  :          2088         95442    0.43%
  256K...  512K-  :          2462        218526    0.98%
  512K... 1024K-  :          3175        571055    2.55%
    1M...    2M-  :          4551       1609188    7.19%
    2M...    4M-  :          2870       1942177    8.68%
    4M...    8M-  :          1065       1448374    6.47%
    8M...   16M-  :           364        891633    3.98%
   16M...   32M-  :           194        984448    4.40%
   32M...   64M-  :            86        873181    3.90%
   64M...  128M-  :            77       1733629    7.74%
  128M...  256M-  :            11        490445    2.19%
  256M...  512M-  :            10        889448    3.97%
  512M... 1024M-  :             2        343904    1.54%
    1G...    2G-  :            22      10217801   45.64%
debugfs:  

제공된 간단한 설명을 읽으면 파일이나 디렉터리 생성 또는 제거, 현재 작업 디렉터리 변경 등과 같은 다양한 요청을 탐색할 수 있습니다. debugfs를 종료하려면 q 요청을 사용하세요.

지금은 여기까지입니다! 아래의 다양한 카테고리에 관련 기사 모음이 있으며, 이는 귀하에게 유용할 것입니다.

파일 시스템 사용 정보:

  1. Linux에서 디스크 공간을 확인하는 데 유용한 12가지 "df" 명령
  2. 다양한 색상으로 디스크 사용량을 확인하는 대체 "df" 명령 Pydf
  3. 파일 및 디렉터리의 디스크 사용량을 찾는 데 유용한 10가지 du(디스크 사용량) 명령

디스크 또는 파티션 상태를 확인하십시오.

  1. 3가지 유용한 GUI 및 터미널 기반 Linux 디스크 검색 도구
  2. Linux에서 하드 디스크의 불량 섹터 또는 불량 블록을 확인하는 방법
  3. Linux 시스템 파티션 및 디렉터리를 복구하고 조각 모음하는 방법

건강한 파일 시스템을 유지하면 항상 Linux 시스템의 전반적인 성능이 향상됩니다. 질문이 있거나 공유하고 싶은 추가 의견이 있으면 아래 의견 양식을 사용하세요.