현재 Linux 배포판에서 사용되는 기본 파일 시스템은 "ext4"입니다. EXT4는 4세대 확장 파일 시스템으로, Linux 시스템의 로그 파일 시스템이자 ext3 파일 시스템의 후속 버전입니다. Ext4 파일 시스템의 특징: 더 큰 파일 시스템 및 더 큰 파일, 더 많은 수의 하위 디렉터리, 지속적인 사전 할당 등.
이 튜토리얼의 운영 환경: Red Hat Enterprise Linux 6.1 시스템, Dell G3 컴퓨터.
LINUX 시스템에는 중요한 개념이 있습니다: 모든 것이 파일입니다. Linux는 UNIX 시스템에서 하드웨어 장치를 포함한 모든 리소스를 파일로 간주합니다.
Linux의 파일 시스템은 Linux 버전에 따라 다릅니다. 이전 버전과 호환되며 Linux 배포판에는 파일 시스템이 하나만 있지 않습니다.
현재 Linux는 많은 파일 시스템을 지원합니다. 대부분의 Linux 배포판에서 사용되는 기본 파일 시스템은 일반적으로 ext4입니다.
EXT4는 4세대 확장 파일 시스템(영어: Fourth Extended File System, 약칭 ext4)은 Linux 시스템의 로그 파일 시스템으로, ext3 파일 시스템의 후속 버전입니다.
Ext4는 Ext3의 관리자인 Theodore Tso가 이끄는 개발팀에 의해 구현되었으며 Linux 2.6.19 커널에 도입되었습니다.
Ext4를 사용하는 이유는 개발자가 Ext3에 새로운 고급 기능을 추가했기 때문이지만 구현 과정에서 몇 가지 중요한 문제가 발생했습니다.
(1) 일부 새로운 기능은 이전 버전과의 호환성을 위반합니다.
(2) 새로운 기능 Ext3 코드를 더욱 복잡하게 만듭니다. 유지 관리가 어렵습니다
(3) 새로 추가된 변경 사항으로 인해 원래 매우 안정적이었던 Ext3를 신뢰할 수 없게 되었습니다.
이러한 이유로 2006년 6월부터 개발자들은 독립적인 개발을 위해 Ext4를 Ext3에서 분리하기로 결정했습니다. Ext4의 개발은 이때부터 시작되었지만 대부분의 Linux 사용자와 관리자는 2006년 11월 2.6.19 커널이 출시될 때까지 이에 대해 거의 관심을 두지 않았습니다. Ext4는 주류 커널에 처음 등장했지만 아직 실험 단계에 있었기 때문에 많은 사람들이 무시했습니다.
2008년 12월 25일 Linux Kernel 2.6.28 공식 버전이 출시되었습니다. 이 새로운 커널이 출시되면서 Ext4 파일 시스템도 실험 기간을 종료하고 안정적인 버전이 되었습니다.
기능:
더 큰 파일 시스템 및 더 큰 파일
Ext3 파일 시스템은 최대 32TB 파일 시스템만 지원할 수 있으며 실제 용량 한도는 사용된 특정 아키텍처 및 시스템 설정에 따라 달라질 수 있습니다. 즉, 2TB 파일 시스템과 16GB 파일만 수용할 수 있습니다. Ext4의 파일 시스템 용량은 1EB에 달하고, 파일 용량도 16TB에 달하는 매우 큰 수치입니다. 이는 일반적인 데스크탑 및 서버에는 중요하지 않을 수 있지만 대규모 디스크 어레이 사용자에게는 매우 중요합니다.
더 많은 하위 디렉터리
Ext3는 현재 32,000개의 하위 디렉터리만 지원하는 반면 Ext4는 이 제한을 제거하고 이론적으로 하위 디렉터리 수를 무제한으로 지원합니다.
더 많은 블록 및 i-노드 수
Ext3 파일 시스템은 32비트 공간을 사용하여 블록 및 i-노드 수를 기록하는 반면 Ext4 파일 시스템은 이를 64비트로 확장합니다.
다중 블록 할당
Ext3 파일 시스템에 데이터를 쓸 때 Ext3 데이터 블록 할당자는 한 번에 하나의 4KB 블록만 할당할 수 있습니다. 100MB 파일을 쓰면 25,600개의 데이터 블록을 호출해야 합니다. Ext4 다중 블록 할당자 "Multiblock Allocator(MBAlloc)"는 한 번의 호출로 여러 데이터 블록 할당을 지원합니다.
지속적인 사전 할당
응용 프로그램이 실제로 사용되기 전에 디스크 공간을 할당해야 하는 경우 대부분의 파일 시스템은 P2P 소프트웨어와 같이 사용되지 않은 디스크 공간에 0을 기록하여 할당을 달성합니다. 다운로드한 파일을 저장할 충분한 공간을 확보하기 위해, 향후 몇 시간 또는 며칠 내에 디스크 공간 부족으로 인한 다운로드 실패를 방지하기 위해 다운로드한 파일과 동일한 크기의 빈 파일을 미리 생성하는 경우가 많습니다. Ext4는 파일 시스템 수준에서 지속적인 사전 할당을 구현하고 해당 API를 제공하며 이는 애플리케이션 소프트웨어 자체보다 효율적입니다.
지연 할당
Ext3의 데이터 블록 할당 전략은 가능한 한 빨리 할당하는 반면, Ext4의 전략은 데이터 블록 할당을 시작하기 전에 버퍼에 파일이 기록될 때까지 할당을 최대한 지연하는 것입니다. 전체 파일의 데이터 블록 할당을 통해 디스크를 최적화할 수 있으므로 성능이 크게 향상됩니다.
패널 구조
Ext3 파일 시스템은 간접 매핑 주소를 사용하는데, 이는 대용량 파일을 운영할 때 매우 비효율적입니다. 예를 들어, 100MB 파일의 경우 Ext3에서는 25,600개의 데이터 블록(예: 각 데이터 블록의 크기를 4KB로 가정)의 매핑 테이블을 설정해야 하지만 Ext4에서는 익스텐트 개념을 도입하고 각 익스텐트는 세트입니다. 연속된 데이터 블록 중, 위 파일은 "파일 데이터가 다음 25,600개의 데이터 블록에 저장됨"으로 익스텐트로 표시될 수 있어 액세스 효율성이 향상됩니다.
새로운 i-노드 구조
Ext4는 더 큰 i-노드를 지원합니다. 이전 Ext3의 기본 i-노드 크기는 128바이트였습니다. i-노드에서 더 확장된 속성을 수용하기 위해 Ext4의 기본 i-노드 크기는 256바이트입니다. 또한 Ext4는 빠른 확장 속성과 i-node 보존도 지원합니다.
로그 확인 기능
로그는 파일 시스템에서 가장 일반적으로 사용되는 구조이기도 하며, 손상된 로그에서 데이터를 복구하면 더 많은 데이터 손상이 발생합니다. Ext4에는 로그 데이터에 대한 검증 기능이 추가되어 로그 데이터의 손상 여부를 쉽게 확인할 수 있습니다. 또한 Ext4는 Ext3의 2단계 로깅 메커니즘을 하나의 단계로 병합하여 보안을 강화하는 동시에 성능을 향상시킵니다.
"로그 없음" 모드 지원
로그는 항상 약간의 오버헤드를 차지합니다. Ext4에서는 특별한 요구가 있는 일부 사용자가 성능을 향상시킬 수 있도록 로깅을 끌 수 있습니다.
배리어는 기본적으로 활성화되어 있습니다.
디스크에는 일괄 데이터 쓰기 작업의 순서를 다시 조정하고 쓰기 성능을 최적화하기 위한 내부 캐시가 장착되어 있습니다. 따라서 파일 시스템은 로그 데이터가 완료된 후 커밋 레코드를 작성해야 합니다. 디스크에 기록됩니다. Commit 레코드가 먼저 작성되고 로그가 손상될 수 있으므로 데이터 무결성이 영향을 받습니다. Ext4 파일 시스템에서는 Barrier가 기본적으로 활성화되어 있습니다. Barrier 이전의 모든 데이터가 디스크에 기록될 때만 Barrier 이후의 데이터를 쓸 수 있습니다.
온라인 조각 모음
지연된 할당, 다중 블록 할당 및 범위 기능이 파일 조각화를 효과적으로 줄일 수 있지만 조각화는 여전히 불가피합니다. Ext4는 온라인 조각 모음을 지원하며 개별 파일 또는 전체 파일 시스템의 조각 모음을 위한 e4defrag 도구를 제공합니다.
빠른 fsck 지원
이전 파일 시스템 버전은 fsck를 실행할 때 모든 i-node를 검사했기 때문에 매우 느렸고, Ext4는 각 블록 그룹의 i-node 테이블에 사용되지 않은 복사본을 추가했습니다. i-node 목록, 따라서 Ext4 파일 시스템은 일관성 검사를 수행할 때 이를 건너뛰고 사용 중인 i-node만 확인하여 속도를 향상시킬 수 있습니다.
나노초 타임스탬프 지원
Ext4 이전의 확장 파일 시스템에는 초 단위의 타임스탬프가 있었습니다. 이는 이미 대부분의 설정에 충분하지만 프로세서 속도와 통합으로 인해(멀티 코어 처리(프로세서)는 계속해서 향상되고 Linux는 다른 응용 분야로 발전하면 타임스탬프 단위가 나노초로 늘어납니다.
Ext4는 시간 범위에 두 자리를 추가하여 시간 수명을 500년 연장합니다. Ext4의 타임스탬프는 2514년 4월 25일까지 날짜를 지원하는 반면 Ext3는 2038년 1월 18일까지만 지원합니다.
더 많은 관련 글을 읽고 싶으시면 PHP 중국어 홈페이지를 방문해 주세요! !
위 내용은 현재 Linux 배포판에서 사용되는 기본 파일 시스템은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!