리눅스 ext3이 뭐야?

青灯夜游
青灯夜游원래의
2022-06-17 17:51:423961검색

Linux에서 ext3의 전체 이름은 "3세대 확장 파일 시스템"을 의미하는 중국어로 로그 파일 시스템입니다. 최대 지원 용량은 단일 파일의 최대 한도인 32TB입니다. 16TB이며 32,000개의 하위 시스템을 지원합니다. ext3 파일 시스템은 파일 시스템의 무결성을 크게 향상시키고 예상치 못한 다운타임으로 인한 파일 시스템 손상을 방지할 수 있습니다.

리눅스 ext3이 뭐야?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

linux ext3 파일

EXT3은 3세대 확장 파일 시스템(영어: Third Extended FileSystem, 줄여서 ext3)으로 Linux 운영 체제에서 일반적으로 사용되는 로그 파일 시스템입니다. 단일 파일의 최대 제한은 16TB이며, 파일 시스템은 최대 32TB의 용량을 지원합니다.

많은 Linux 배포판의 기본 파일 시스템입니다. Stephen Tweedie는 1999년 2월 커널 메일링 리스트에서 처음으로 확장 ext2의 사용을 보여주었습니다. 파일 시스템은 2.4.15 커널부터 메인라인 커널로 병합되었습니다.

EXT3 로그 파일 시스템의 특징

1. 고가용성

시스템이 ext3 파일 시스템을 사용한 후에는 시스템이 비정상적으로 종료된 후에도 파일 시스템을 확인할 필요가 없습니다. 충돌이 발생한 후 ext3 파일 시스템을 복원하는 데는 수십 초밖에 걸리지 않습니다.

2. 데이터 무결성

ext3 파일 시스템은 파일 시스템의 무결성을 크게 향상시키고 예상치 못한 가동 중지 시간으로 인한 파일 시스템 손상을 방지할 수 있습니다. 데이터 무결성 보장 측면에서 ext3 파일 시스템에는 선택할 수 있는 2가지 모드가 있습니다. 그 중 하나는 "파일 시스템과 데이터 일관성을 동시에 유지" 모드입니다. 이렇게 하면 비정상적인 종료로 인해 디스크에 저장된 정크 파일을 볼 수 없습니다.

3. 파일 시스템 속도

ext3 파일 시스템을 사용하는 경우 데이터를 저장할 때 데이터를 여러 번 쓰는 경우가 있지만 전체적으로 ext3가 ext2보다 성능이 좋습니다. 이는 ext3의 로깅 기능이 디스크 드라이브 읽기 및 쓰기 헤드를 최적화하기 때문입니다. 따라서 파일 시스템의 읽기 및 쓰기 성능은 Ext2 파일 시스템에 비해 저하되지 않았습니다.

4. 데이터 변환

ext2 파일 시스템에서 ext3 파일 시스템으로 변환하는 것은 매우 쉽습니다. 사용자는 백업, 복원, 두 가지 명령만 입력하면 전체 변환 프로세스를 완료할 수 있습니다. 파티션 포맷 등 ext2 파일 시스템을 ext3 로그 파일 시스템으로 쉽게 변환할 수 있는 ext3 파일 시스템에서 제공하는 작은 도구인 tune2fs를 사용하십시오. 또한 ext3 파일 시스템은 아무런 변경 없이 ext2 파일 시스템에 직접 로드될 수 있습니다.

5. 다중 로그 모드

Ext3에는 다중 로그 모드가 있습니다. 작업 모드 중 하나는 모든 파일 데이터 및 메타데이터(파일 시스템의 데이터, 즉 데이터의 데이터)를 기록하는 것입니다. 저널 모드) 또 다른 작업 모드는 데이터를 기록하지 않고 메타데이터만 기록하는 것입니다. 이는 소위 data=ordered 또는 data=writeback 모드입니다. 시스템 관리자는 시스템의 실제 작업 요구 사항을 기반으로 시스템 작업 속도와 파일 데이터의 일관성 중에서 선택할 수 있습니다.

ext2에서 ext3으로 마이그레이션해야 하는 이유(EXT3의 장점)

가용성, 데이터 무결성, 속도, 마이그레이션 용이성이라는 네 가지 주요 이유가 있습니다.

1. 가용성

비정상적인 충돌(정전, 시스템 충돌)이 발생하면 e2fsck를 통해 일관성을 확인한 후에만 ext2 파일 시스템을 마운트하고 사용할 수 있습니다. e2fsck 실행 시간은 주로 ext2 파일 시스템의 크기에 따라 달라집니다. 약간 큰 파일 시스템(수십 기가바이트)을 확인하는 데는 시간이 오래 걸립니다. 파일 시스템에 파일이 많으면 확인 시간이 더 오래 걸립니다. 수백 기가바이트의 파일 시스템을 확인하는 데는 한 시간 이상이 걸릴 수 있습니다. 이는 유용성을 크게 제한합니다. 반면, 하드웨어 장애가 발생하지 않는 한 ext3는 비정상적으로 종료되더라도 파일 시스템 확인이 필요하지 않습니다. 이는 파일 시스템 전체에서 일관된 방식으로 데이터가 디스크에 기록되기 때문입니다. 비정상 종료 후 ext3 파일 시스템을 복원하는 시간은 파일 시스템의 크기나 파일 수에 따라 달라지지 않고 일관성을 유지하는 데 필요한 "로그"의 크기에 따라 달라집니다. 기본 로그 설정을 사용하면 복구 시간은 단 1초입니다(하드웨어 속도에 따라 다름).

2. 데이터 무결성

ext3 파일 시스템을 사용하여 비정상 종료 시에도 데이터 무결성 성능이 안정적으로 보장됩니다. 데이터 보호 유형과 수준을 선택할 수 있습니다. 파일 시스템의 일관성을 유지하도록 선택할 수 있지만 비정상적인 종료 중에 파일 시스템의 데이터가 손상되도록 허용하면 일부 상황에서 속도가 어느 정도 향상될 수 있습니다(모든 상황은 아님). 파일 시스템과 일관되게 데이터 신뢰성을 유지하도록 선택할 수도 있습니다. 즉, 충돌 후 새로 작성된 파일에 데이터 쓰레기가 표시되지 않습니다. 파일 시스템과 일관되게 데이터 무결성을 유지하는 이 안전 옵션이 기본 설정입니다.

3. 속도

ext3은 ext2보다 데이터를 더 많이 쓰지만 ext2보다 빠른 경우가 많습니다(높은 데이터 흐름). 이는 ext3의 로깅 기능이 하드디스크 헤드의 회전을 최적화하기 때문이다. 3가지 로깅 모드 중 하나를 선택하여 속도를 최적화하고 일부 데이터 무결성을 선택적으로 희생할 수 있습니다.

4. 간편한 마이그레이션

하드 드라이브를 다시 포맷하지 않고도 ext2에서 ext3으로 쉽게 마이그레이션할 수 있으며 안정적인 저널 파일 시스템의 이점을 누릴 수 있습니다. 예, 길고 지루하며 오류가 발생하기 쉬운 "백업-재포맷-복원" 작업을 수행하지 않고도 ext3의 장점을 경험할 수 있습니다.

마이그레이션 방법에는 두 가지가 있습니다. 시스템을 업그레이드하는 경우 Red Hat Linux 설치 프로그램이 마이그레이션을 지원합니다. 각 파일 시스템에 대해 선택 버튼을 클릭하기만 하면 됩니다.

tun2fs 프로그램을 사용하여 기존 ext2 파일 시스템에 로깅 기능을 추가하세요. 변환 프로세스 중에 파일 시스템이 마운트된 경우 ".journal" 파일이 루트 디렉터리에 표시됩니다. 파일 시스템이 마운트되지 않은 경우 해당 파일은 파일 시스템에 표시되지 않습니다.

파일 시스템을 변환하려면 tune2fs –j /dev/hda1(또는 변환하려는 파일 시스템이 있는 장치 이름)을 실행하고 /etc/fstab 파일의 ext2를 ext3으로 변경하면 됩니다.

자신의 루트 파일 시스템을 변환하려면 initrd를 사용하여 부팅해야 합니다. mkinitrd의 수동 설명에 따라 프로그램을 실행하고 initrd가 LILO 또는 GRUB 구성에 로드되었는지 확인합니다. 성공하지 못하면 시스템은 계속 시작할 수 있지만 루트 파일 시스템은 ext3 대신 ext2로 로드됩니다. 이를 확인하려면 cat / proc/mounts 명령을 사용할 수 있습니다.)

확장된 지식: EXT3과 EXT4의 주요 차이점

Linux 커널은 2.6.28부터 새로운 파일 시스템 Ext4를 공식적으로 지원합니다. Ext4는 Ext3의 개선된 버전입니다. Ext3가 Ext2에 하는 것처럼 단지 로그 기능을 추가하는 것이 아니라 Ext3의 일부 중요한 데이터 구조를 수정합니다. Ext4는 더 나은 성능과 안정성은 물론 더 풍부한 기능을 제공할 수 있습니다.

1. Ext3과 호환

몇 가지 명령을 실행하여 디스크를 다시 포맷하지 않고도 Ext3에서 Ext4로 온라인으로 마이그레이션하거나 시스템을 다시 설치할 수 있습니다. 원래 Ext3 데이터 구조는 여전히 유지되며 Ext4는 새로운 데이터에 대해 작동합니다. 물론 전체 파일 시스템은 Ext4가 지원하는 더 큰 용량을 얻습니다.

2. 더 큰 파일 시스템과 더 큰 파일

현재 Ext3에서 지원하는 최대 16TB 파일 시스템과 최대 2TB 파일에 비해 Ext4는 각각 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)를 지원합니다. , 16TB 파일.

3. 무제한 하위 디렉터리

Ext3는 현재 32,000개의 하위 디렉터리만 지원하는 반면 Ext4는 하위 디렉터리를 무제한으로 지원합니다.

4.Extents

Ext3는 간접 블록 매핑을 사용하는데 이는 대용량 파일을 운영할 때 매우 비효율적입니다. 예를 들어, 100MB 파일의 경우 25,600개의 데이터 블록(각 데이터 블록 크기는 4KB)의 매핑 테이블을 Ext3에 설정해야 합니다. Ext4는 최신 파일 시스템에서 널리 사용되는 익스텐트 개념을 도입합니다. 각 익스텐트는 연속적인 데이터 블록의 집합입니다. 위의 파일은 "파일 데이터가 다음 25,600개의 데이터 블록에 저장됩니다"로 표현되어 효율성이 많이 향상됩니다.

5. 다중 블록 할당

Ext3 파일 시스템에 데이터를 쓸 때 Ext3의 데이터 블록 할당자는 한 번에 하나의 4KB 블록만 할당할 수 있습니다. 100MB 파일을 쓰려면 25,600개의 데이터 블록 할당 호출이 필요합니다. Ext4 다중 블록 할당자 "다중 블록 할당자"(mballoc)는 한 번의 호출로 여러 데이터 블록 할당을 지원합니다.

6. 지연 할당

Ext3의 데이터 블록 할당 전략은 가능한 한 빨리 할당하는 반면 Ext4 및 기타 최신 파일 운영 체제의 전략은 파일이 기록될 때까지 할당을 최대한 지연하는 것입니다. 데이터 블록 할당을 시작하기 전에 캐시를 생성하고 디스크에 쓰기를 수행합니다. 이는 전체 파일에 걸쳐 블록 할당을 최적화하고 처음 두 기능과 함께 사용하면 성능을 크게 향상시킬 수 있습니다.

7. Fast fsck

과거에는 fsck 실행의 첫 번째 단계가 모든 inode를 확인해야 했기 때문에 매우 느렸습니다. 이제 Ext4는 앞으로는 각 그룹의 inode 테이블에 사용되지 않는 inode 목록을 추가합니다. , Ext4 파일 시스템용 fsck는 이를 건너뛰고 사용 중인 inode만 확인할 수 있습니다.

8. 로그 검증

로그는 가장 일반적으로 사용되는 부분으로 디스크 하드웨어 고장으로 쉽게 이어질 수 있으며, 손상된 로그에서 데이터를 복구하면 더 많은 데이터 손상이 발생합니다. Ext4의 로그 검증 기능은 로그 데이터의 손상 여부를 쉽게 판단할 수 있으며, Ext3의 2단계 로깅 메커니즘을 하나의 단계로 병합하여 성능을 향상시키는 동시에 보안을 강화합니다.

9. "저널링 없음" 모드

로깅에는 항상 약간의 오버헤드가 있습니다. Ext4에서는 특별한 요구가 있는 일부 사용자가 이를 사용하여 성능을 향상시킬 수 있도록 로깅을 끌 수 있습니다.

10. 온라인 조각 모음

지연된 할당, 다중 블록 할당 및 범위는 파일 시스템 조각화를 효과적으로 줄일 수 있지만 조각화는 필연적으로 발생합니다. Ext4는 온라인 조각 모음을 지원하며 개별 파일 또는 전체 파일 시스템의 조각 모음을 위한 e4defrag 도구를 제공합니다.

11.inode 관련 기능

Ext4는 더 큰 inode를 지원합니다. Ext3의 기본 inode 크기인 128바이트에 비해 Ext4는 기본 inode에서 더 확장된 속성(예: 나노초 타임스탬프 또는 inode 버전)을 수용하도록 설계되었습니다. inode 크기는 256바이트입니다. Ext4는 또한 빠른 확장 속성과 inode 예약을 지원합니다.

12. 영구 사전 할당(Percious preallocation)

P2P 소프트웨어는 다운로드한 파일에 충분한 저장 공간을 확보하기 위해 다운로드한 파일과 동일한 크기의 빈 파일을 미리 생성하는 경우가 많습니다. 다운로드한 파일은 다음 몇 시간 또는 며칠 내에 삭제되지 않습니다. 디스크 공간이 부족하여 다운로드가 실패했습니다. Ext4는 파일 시스템 수준에서 지속적인 사전 할당을 구현하고 해당 API(libc의 posix_fallocate())를 제공하는데, 이는 응용 프로그램 소프트웨어 자체보다 더 효율적입니다.

13. Barrier는 기본적으로 활성화되어 있습니다

디스크에는 일괄 데이터 쓰기 작업의 순서를 다시 조정하고 쓰기 성능을 최적화하기 위한 내부 캐시가 장착되어 있습니다. 따라서 파일 시스템은 로그 이후에 커밋 기록을 작성해야 합니다. 데이터가 디스크에 기록되는 경우 커밋 레코드가 먼저 기록되고 로그가 손상될 수 있으며 이는 데이터 무결성에 영향을 미칩니다. Ext4는 기본적으로 장벽을 활성화합니다. 장벽 이전의 모든 데이터가 디스크에 기록될 때만 장벽 이후의 데이터가 기록될 수 있습니다. (이 기능은 "mount -o Barrier=0" 명령을 통해 비활성화할 수 있습니다.)

관련 권장 사항: "Linux 비디오 튜토리얼"

위 내용은 리눅스 ext3이 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.