사이트 내 전체검색
[linux] ext3 저널링 파일 시스템
로빈아빠
https://cmd.kr/server/201 URL이 복사되었습니다.

본문

ext3 저널링 파일 시스템

리눅스는 표준 파일 시스템으로서 Ext 파일 시스템, Ext2 파일 시스템으로 변천해왔습니다. 리눅스 커널 2.4.x에 들어오면서 ReiserFS, XFS, JFS, ext3와 같은 새로운 저널링 파일 시스템 기능이 추가되면서 기대를 모으고 있습니다. 또 리눅스계의 큰 손 레드햇사가 7.2를 발표하면서 기존에 많이 사용하던 저널링 파일 시스템을 두고서 종래의 ext2 파일 시스템에 저널 기능을 추가한 ext3 라는 파일 시스템을 선택했습니다.

이번 기사에서는 현재의 시스템에서 ext3 저널링 파일 시스템을 사용하는 방법에 대해서 알아보도록 하겠습니다.


파일시스템이란?

먼저, 간단히 파일시스템에 대해 알아보도록 하겠습니다.

파일시스템은,  파일의 내용과 그와 관련된 데이터 (이것들은 '메타-데이터'라 하고, 파일의 위치, 크기, 소유자, 접근 권한등의, 파일과 관련된 데이터들 입니다.)들을 유지하고 저장하는 체계인데, 지금까지 리눅스의 표준 파일시스템은 ext2 였습니다. 

ext2는, 파일의 데이터와 메타-데이터를 동시에 저장하지 않는 비동기식 파일시스템입니다. 이런 비동기식 파일시스템은 메타-데이터를 파일의 내용 자체를 저장할 때 저장하는 것이 아니라, 메모리에 두었다가 일정한 시간 간격을 두고 저장합니다. 이런 식의 저장 메카니즘을 이용하면 성능상의 잇점이 있기는 하지만 그로 인한 약점을 가지게 됩니다. 비동기식 파일시스템을 가진 운영체제는 일정 횟수 만큼 파일시스템을 마운트 했다거나, 갑자기 시스템이 다운될 경우에 재부팅하는 과정에서 무결성을 검사하기 위해 상당한 시간을 소비합니다. 인터넷을 통해 어떤 중요한 서비스를 하는 서버나 개인이 사용하는 시스템에게 있어서 오랫동안 시스템이 접속 불능 상태로 방치되고 데이터의 일부가 손상되는 것은 매우 심각한 문제입니다.


저널링 파일시스템

이런 문제점들을 해결하기 위한 방법 중 하나가 바로 데이터 베이스에서 쓰이는 저널링 기술을 적용한 저널링 파일 시스템입니다. 이름에서도 알 수 있듯이, 일정부분을 기록을 위해 남겨두어, 백업 및 복구 능력이 있는 파일 시스템을 말하며, 시스템 크래쉬 후에 파일시스템 복구에 드는 시간이 아주 적습니다.

저널링 파일 시스템이 어떻게 동작하는지 간단히 알아보도록 하겠습니다.

저널링 파일 시스템은, 사용자가 데이터를 입력 또는 수정하면 그 데이터를 바로 하드디스크에 기록하기 전에 관련 데이터를 로그에 기록합니다. 만약 기록 중에 가장 빈번하게 발생하는 문제인 정전이나 기타 다른 이유로 인하여 비정상적인 종료를 하게 되면 다시 부팅할 때 로그에 기록된 데이터를 참고로 하여 다시 작성하거나 복구하게 됩니다.

그렇다면, 저널링 파일 시스템을 사용하는데 따른 장점에는 무엇이 있을까요?

서버에서는 다양한 데이터를 빈번하게 기록하고 수정합니다. 이런 방식은 수많은 사용자들이 입력하고 수정하는 데이터가 예기치 못한 사고로 인하여 시스템이 다운되더라도 다시 복구할 수 있는 확률이 기존의 ext2 시스템보다 상당히 높기 때문입니다. 이것은 서버를 운영하는 입장에서는 상당히 중요한 문제라 할 수 있을 것입니다. 저널링 파일 시스템을 사용하는 것으로 보상 받을 수 있는 것이 데이터의 복구에만 국한된 것은 아닐 것입니다. 시스템 재부팅시, 기존 ext2 시스템에서 보여주는 fsck(file system check)의 오랜 복구 시간은 파일 시스템의 용량이 기가 바이트에서 테라 바이트급으로 발전하고 있는 시점에서 리눅스의 감점 요인이 될 수 있다는 것도 고려해 보아야 할 요소 중의 한가지일 것입니다. 물론, 이것은 개인 사용자들의 컴퓨터 시스템의 저장용량도 점점 더 대용량화 되어가는 현 상황에도 부합된다고 할 수 있겠습니다.


저널링파일시스템 ext3 사용해보기

'ext3'는 리눅스의 기본 파일시스템인 ext2에 저널링 기능을 추가한 것으로 'ext2' 파일 시스템에 패치(patch)를 하는 형식으로 개발되고 있으며, 리눅스 커널 개발자로 잘 알려진 Stephen Tweedie에 의해 개발 되었습니다. ext2의 사용자이고 백업이 귀찮다면, ext3는 고려해 볼만한 파일시스템입니다. Stephen Tweedie에 의해 개발되고 있는 ext3를 위한 커널 패치는 버젼 2.2.X를 위한 것입니다. 현재 2.4.x를 위한 커널 패치는 Peter Braam, Andreas Dilger 그리고 Andrew Morton에 의해 개발, 배포되고 있습니다.

http://www.uow.edu.au/~andrewm/linux/ext3/


레드햇이 오랫동안 사용되고 테스트 되어진 다른 저널링 파일 시스템을 선택하지 않고, ext3 를 선택한 이유는 무엇일까요?

그 이유중 가장 큰 이유는, ext3의 경우가 파일 시스템을 바꾸면서, 요구하는 것이 가장 적다는 것입니다. 기존 ext2 파일시스템에서 ext3로 이동하는 경우, 다른 저널링 파일 시스템처럼 백업을 하고 새롭게 파티션을 포맷하는 과정을 거치지 않고도 기존 ext2 파일시스템에서 쉽게 저널링 파일시스템으로 변환할 수 있다는 것입니다.

(현재 2.4.15pre2 에서 ext3가 포함되었습니다.)

 
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.13.tar.bz2

http://www.zip.com.au/~akpm/ext3-2.4-0.9.13-2413.gz

댓글목록

등록된 댓글이 없습니다.

1,139 (15/23P)

Search

Copyright © Cmd 명령어 18.216.250.143