이제는 역사 속으로... EXT3 파일 시스템
개선 노력을 찾아 볼 수 없었습니다.
작년에 Red Hat은 본격적으로 ext4 파일 시스템을 포함하면서
그 동안 받던 비난을 해소하고 사용자의 요구를 어느 정도
수용하게 되었습니다.
이제는 역사 속으로 묻힐 파일 시스템 EXT3
변화의 길목에서 그 동안 사랑 받았던 “범용 파일 시스템 ext3”
에 대해서 알아 보겠습니다.
ext3는 아시는 대로 범용 저널링 파일 시스템입니다.
일반적인 속도, 일반적인 안정성, 간편한 장애 처리 방법, 일반적인 트렌젝션,
일반적인 자료구조를 가지고 있습니다.
이렇게 특별할 것도 없는 파일시스템이 가장 대중적인 파일시스템으로 자리잡게 된 것은
Red hat 배포 판에 포함되면서부터입니다.
먼저 ext3 파일시스템과 같은 저널링 기술을 이용한 파일시스템을 얘기 하기 전에
과거의 저널링 파일시스템이 본격화된 시점부터 살펴봐야 할 것 같습니다.
Red Hat 6 에서 7으로 넘어가면서 리눅스도 엔터프라이즈 급 운영체제로 변화하게 됩니다.
당시 리눅스는 대학용, 테스트용, Unix의 무료 버전 정도의 인식이 강했으며 대규모의 .
서버환경에는 적합하지 않은 OS라는 평을 받고 있었습니다.
무엇보다 안정성에 대한 논란이 끈임 없던 시절이었습니다.
이런 OS가 엔터프라이즈 OS로 성장하기 위해서는 안정성을 입증할 만한 기술이 필요했고
저널링 파일시스템은 이런 리눅스의 요구에 부응하는 기술이었습니다.
ext3은 ReiserFS와 더불어 당시 유일하게 저널링 기술을 지원하는 파일 시스템이었습니다.
(필자가 알기로...)
개인 적으로 Red hat이 ReiserFS를 선택했더라면 더 좋지 않았을까.
라는 아쉬움이 있지만 당시 ReiserFS 파일 시스템은 안정성이 ext3에 비에 좋지 못 했습니다.
저널링 파일 시스템이란 백업 및 복구 능력이 있는 파일 시스템을 말합니다.
디스크에 있는 인덱스가 갱신되기 전에 관련 내용이 로그에 기록되기 때문에 정전이나
다른 문제 때문에 인덱스에 이상이 생기더라도 다시 시스템을 재가동하면 운영체제가
로그를 보고 인덱스를 재 작성 및 복구하는 기능입니다.
예를 들어 디렉터리 정보를 변경하고 있다고 가정해봅니다.
거대한 디렉터리의 다섯 번째 블록에 있는 23개의 파일 만 수정하였고 디스크에서는
이 블록을 쓰고 있는데, 전원이 나가 해당 블록이 불완전하게 되어 오류가 발생해 버렸습니다.
리눅스가 리 부팅 되면 "fsck" (file system check)가 실행되어 파일시스템의 정보를 체크하고
올바른 블록을 만들어갑니다. Fsck는 오류가 발생한 디렉터리 엔트리를 발견하고 이것을
수정하려 합니다. 물론 fsck가 손상된 곳을 확실히 고쳐낸다는 보장은 없습니다.
때때로 디렉터리를 잃어 버릴 수도 있으며 파일 시스템이 거대해질수록 시간은 그만큼
길어 집니다. 만일 수 기가바이트가 되는 파일이 많이 있다면, 체크 시간은 10시간 혹은
그 이상이 될 수 도 있습니다. 이 시간 동안 시스템을 사용할 수 없게 됩니다.
이러한 경우 ReiserFS의 저널링 파일시스템은 ext3에 비해 만족할 만한 복구 시간과
복구율을 보여주지 못했습니다.
일 예로 다섯 번째 블록을 고치려다 모든 블록에 문제가 생기는 경우도 발생했으며 복구 중
시스템이 다운되는 경우도 발생했습니다.
ReiserFS의 이런 장애가 계속 보고 되면서 사용자는 비교적 안정적인 복구 능력을 보이는
ext3 파일시스템을 선호 하게 되었습니다.
이렇게 ReiserFS는 초기의 불안한 모습으로 많은 리눅서 들이 등을 돌리게 됩니다.
예전에 ext3 파일시스템이 가장 일반적인 파티션이 된 것은 이름 때문이라는 생각을
한적이 있었습니다. 과거 리눅스에서 ext2 파일시스템에서 저널링 기능을 추가한
파일시스템의 이름이 'ext3'였기 때문에 많은 사람이 ext2의 업그레이드 버전쯤으로
여기고 사용하지 않았나 하는 생각입니다.
각설하고 위에 얘기한 안정적인 복구 능력이 ext3 파일시스템의 선택에 가장 큰 이유입니다.
(ext3 파일 시스템도 완벽한 복구율은 보여주지는 않았습니다. 하드디스크와 같은 자기장치를
하드웨어로 하는 파일 시스템에서는 100%의 복구는 불가능 합니다.)
그리고 ext3 파일시스템은 ext2의 파일 메타 데이터 허가권, 소유권, 생성/접근 시간과
같은 정보가 같습니다. 여기에 ext2에서 ext3로 간편하게 컨버팅 가능한 툴을 기본 제공했습니다.
서버를 책임지는 엔지니어는 새로운 것에 대한 기대와 두려움을 같이 가지고 있습니다.
ext3 파일 시스템은 ext2 파일 시스템에 익숙해 있던 리눅서 엔지니어에게 새로운 것에 3
대한 두려움을 많은 부분 해소시켜줬을 겁니다.
이렇게 과거 ext3 파일시스템이 많은 리눅서들이 선택한 원인을 살펴봤습니다.
그러나 개인이 핸들링 하는 파일의 용량이 커지고 서버의 성능이 업그래이드 되면서
파일시스템은 이제 변화해야 하는 시점이 다가왔습니다.
앞으로 테러바이트 이상에서의 파티션은 ext3외의 다른 파티션이 필요 할 것입니다.
다음 회에는 새로운 파일 시스템에 대해서 알아 보겠습니다.
다이렉트 블로그
http://blog.direct.co.kr