리눅스2009.04.20 10:07
며칠 후면 발표될 우분투 9.04부터는 ext4 파일시스템을 사용할 수 있다고 한다. 얼마전 발표된 페도라 11 테스트 버전에는 디폴트 파일시스템으로 ext4를 사용하고 있다. 이제 리눅스 진영에서는 ext4를 기본 파일시스템으로 사용하는 것이 더욱 늘어날 전망인데, ext4의 특징에 대해서 한번 알아보고자한다.

큰 용량의 파일시스템 지원
ext4 파일시스템은 볼륨의 크기를 1 exabyte 까지 지원한다. 또 하나의 파일의 크기를 16 terabyte 까지 지원한다.
exa는 EB로 표시한고, 십진수로는 1000의 6제곱, 10의 18 제곱 이고 이진수로는 1024의 6제곱 또는 2의 60 제곱이다.
참 고로 엑사바이트가 어느 정도인지를 가늠하기 위해서 몇 가지 알아보면, 1 엑사바이트는 50,000 년 분량의 DVD 품질의 비디오 데이터의 크기와 같다. 2008년 12월 전세계에서 사용한 월간 인터넷 트래픽의 양이 5 ~ 8 엑사바이트 정도라는 통계가 있다.

계산을 쉽게하기 위해서 1시간짜리 DVD 영화는 4GB 용량을 차지한다고 생각하면,
4GB 영화를 바이트로 계산하면, 4 * 1024 * 1024 * 1024 = 4294967296 byte
1 엑사바이트를 바이트로 계산하면, 1 exabye =
1152921504606846976 byte
이를 나누어보면 268435456 (시간)이 나온다.
다시 하루는 24시간이므로 24로 나누면, 11184810 (일)이 나오고,
다시 1년은 365일이므로 365로 나누면, 30643 (년)이 나온다.

ext4를 사용하면, 하나의 디스크 볼륨으로 이정도 용량을 사용할 수 있게된다는 얘기다.

Extents 사용
extents 는 ext2/ext3 파일시스템에서 사용되던 블록매핑 스킴을 대체하여 도입되었다. 익스텐츠는 한 범위의 연속된 물리적 블록으로 큰 파일에 대한 성능을 향상시키고 조각화를 줄인다. ext4에서 하나의 단일 익스텐츠는 4KB 블록크기의 연속 공간으로 128MB까지 맵핑할 수 있다. inode에는 4개의 익스텐츠를 저장할 수 있다. 4 익스텐츠보다 큰 파일에 대해서는 나머지 익스텐츠를 Htree에 인덱스한다.

과거 파일시스템과 호환성 유지
ext4 파일시스템은 ext3, ext2와 호환성을 유지한다. 이로써 ext3, ext2 파일시스템을 ext4로 마운트할 수 있다. 이점은 새로운 블록 할당 알고리즘 등 ext4의 새로운 특성을 ext3이나 ext2에 사용할 수 있다는 점때문에 약간의 성능 향상을 기대할 수 있는 부분이다.
ext3 파일시스템은 부분적으로 ext4와 미래 호환성을 갖는다. 즉 ext4 파일시스템은 ext3 파티션으로 마운트할 수 있다.(마운트할 때 ext3 파일시스템으로 인식된다.) 그러나 ext4 파티션에서 extents를 사용한다면, ext3 파일시스템으로 마운트할 수 없을 것이다.

Persistent pre-allocation
ext4 파일시스템은 파일에 대하여 디스크상의 pre-allocation을 고려한다. 이에 대한 현재 방법론은 대부분의 파일시스템이 파일이 생성될 때 0에서부터 확보한 공간만큼 파일의 전체를 쓰는 것이다. 이 방법은 이제 ext4에서는 사용하지 않는다. 대신 ext4와 XFS를 포함한 이러한 기능을 가진 파일시스템을 위한 fallocate() 시스템 함수가 리눅스 커널에 추가되었다. 이는 미디어 스트리밍, 데이터베이스 등의 어플리케이션에 유용한 기능이 될 것이다.

Delayed allocation
ext4 는 allocate-on-flush라고 알려진, 다른 말로 delayed allocation이라고도 부르는 파일시스템 성능 향상 기술을 사용한다. 이는 다른 파일시스템이 데이터가 디스크에 쓰여지기 전에 필요한 블록을 할당하는 것과는 달리, 데이터가 디스크에 쓰여질 때까지 블록 할당이 지연되는 기술이다. 이는 성능 향상을 가져오고 실제 파일 크기에 기초하여 블록 할당을 수행하므로 조각화를 방지한다.

32,000개의 서브디렉토리 제한이 없어짐
ext3 에서는 하나의 디렉토리에 생성할 수 있는 서브디렉토리는 32,000개로 제한이 있었다. ext4에서는 64,000개로 늘어났다. 그리고 "dir_nlink" 특성으로 이 제한을 넘어설 수도 있다. 지속적인 성능향상을 위하여 충분히 큰 디렉토리 ext4에서는 htree 인덱스를 기본으로 사용하도록 되어있다. 이 특징은 리눅스 커널 2.6.23부터 포함되어있다. htree는 dir_index 기능을 사용한다면 ext3에서도 사용할 수 있다.

Journal checksumming
ext4 는 신뢰성을 위해서 저널에서 체크섬을 사용한다. 저널이 가장 많이 사용되는 디스크 파일중 하나이기 때문이다. 이 특징은 저널링 프로세스 기간동안 디스크 I/O를 피하는 이득을 제공하여 약간의 성능 향상을 가져온다. 저널 체크섬 기술은 위스콘신 대학의 IRON File Systems라는 연구에서 영감을 얻었다.

온라인 조각모음
온라인 조각모음에 대한 몇 가지 제안이 있지만, 아직 커널에 포함되지는 않고 있다. 조각화를 방지하기 위해 사용되는 유명한 기술이라도 오래 사용하다보면 조각화된다. ext4는 개별 파일에 대한 조각모음 또는 전체 파일시스템에 대한 조각모음 툴을 제공할 계획이다.

빠른 파일시스템 검사
ext4 에서는 할당되지않은 블록 그룹과 inode 테이블 섹션에 대해서는 할당되지않은 것으로 표시한다. 이는 e2fsck가 파일시스템을 검사할 때 무시하도록하여 검사 시간을 크게 단축시킨다. 이 기능은 리눅스 커널 2.6.24에 구현되어있다.

다중블록 할당
ext4 는 한번에 파일을 위해서 다중블록을 할당한다. 이는 디스크에서 연속된 블록을 할당할 수 있게되어 조각화를 줄인다. 다중블록 할당은 O_DIRECT를 사용할 때 또는 지연할당이 활성화되었을 때 활성화된다. 파일에 대하여 많은 블록이 동시에 쓰여질 수 있도록 한다. 현재 커널에서는 파일시스템에 각 블록은 별도로 할당받도록 되어있다.

타임스탬프의 향상

컴 퓨터가 더 빨라지고 리눅스가 미션크리티컬한 어플리케이션에 많이 사용됨에따라 초 단위의 타임스탬프로는 충분하지 않게 되었다. 이를 해결하기 위해서 ext4는 나노초 단위의 타임스탬프를 제공한다. 또 타임스탬프 필드를  2 bit 확장하여 2038년 문제를 500년 연장시켰다.


저작자 표시 비영리 변경 금지
신고
Posted by 무한루프 달리만듦

댓글을 달아 주세요

  1. 좋은 정보 감사합니다. 지금 ext4를 사용하고 있는데, 최소한 시스템을 가볍게 사용하는 저 같은 엔드 유저에게는 특별히 눈에 띄는 문제점이나 에로 사항이 발생하지 않는 것 같습니다.

    2009.04.20 10:30 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 와! 벌써 사용하고 계시는군요.
      저는 정식으로는 사용해보지는 않았고, 테스트로는 사용해보았습니다. 조금 불안한 감이 있었는데, 에로 사항 없으시다니, 우분투 9.04 설치할 때에는 ext4를 정식으로 사용해볼까 합니다.

      2009.04.20 12:29 신고 [ ADDR : EDIT/ DEL ]
  2. 아직 FAT32를 사용중인 저로써는 짐작도 가지 않는 파일 시스템 같아요.
    언젠가 사용할 날이 있겠죠. 그날을 위해 기억해 놓겠습니다. 감사합니다.

    2009.04.24 20:15 신고 [ ADDR : EDIT/ DEL : REPLY ]

리눅스2008.05.22 15:24

오늘은 이전 데스크탑 환경으로 사용하기 위한 Fedora 9 설치 방법 - 1 기사에 이어서 추가 설치가 필요한 몇 가지 유용하게 쓰일만한 소프트웨어에 대해서 설명하도록 하겠다.

사전 작업

livna yum 리포지터리 추가

livna-repository는 멀티미디어 소프트웨어, ATI, NVIDIA 그래픽 카드 드라이버 등 다양한 패키지를 제공한다. 물론 fedora-repository와 100% 호환된다.

rpm -ivh http://rpm.livna.org/livna-release-9.rpm

Adobe 리포지터리 추가

Adove Reader와 firefox를 위한 flash plugin을 설치하기 위해서 Adobe 리포지터리가 필요하다.

rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm

패키지 설치

다음부터 설명하는 각각의 소프트웨어에서 패키를 설치해야 한다고 하면 다음과 같이 설치하면 된다.

yum install 패키지명

그리고 패키지 제거는 다음과 같이 한다.

yum remove 패키지명

그러면, 소프트웨어를 살펴보도록 하겠다.


1. Adobe Flash Player

홈페이지 : http://www.adobe.com/products/flashplayer/

FireFox에서 flash plugin을 사용하려면, 다음 패키지를 설치해야 한다.

  • flash-plugin
  • libflashsupport

설치 후 FireFox를 재시작하면 flash plugin을 사용할 수 있다.


2. Adobe Acrobat Reader

홈 페이지 : http://www.adobe.com/products/reader/

PDF 파일을 읽기 위해서는 Adobe Reader가 필요하다.

Abode Acrobat Reader를 설치하기 위해서 다음 패키지를 설치한다.

  • AdoveReader_enu

사용자 삽입 이미지

3. Microsoft의 True Type Core 폰트

  Arial, Times New Roman 등의 몇 가지 폰트를 설치한다.

  폰트를 설치하기 위해서 폰트를 다운로드하고, 패키지를 빌드하고, 설치해야 한다.

  다음을 순서대로 하면 되모, root 권한이 필요하다.

cd /tmp/
wget http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec
yum -y install rpm-build cabextract
rpmbuild -bb msttcorefonts-2.0-1.spec
rpm -ivh /usr/src/redhat/RPMS/noarch/msttcorefonts-2.0-1.noarch.rpm --nodeps


4. W32codecs

  MS에서 제공하는 비디오 또는 몇 가지 비디오 포맷을 위해서 별도의 코덱이 필요하다.

cd /tmp/
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
tar xfvj all-20071007.tar.bz2
mkdir /usr/lib/codecs/
cp all-20071007/* /usr/lib/codecs/
ln -s /usr/lib/codecs/ /usr/lib/win32

 또, DVD를 보려면 다음 패키지를 설치해야 한다.

  • libdvdcss

5. MPlayer

  홈 페이지 : http://www.mplayerhq.hu/

  MPlayer는 MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, FLI, YUV4MPEG, FLIM, RoQ, PVA 등 알려진 대부분의 비디오 포맷을 지원하는 비디오 플레이어이다.

다음 패키지를 설치한다.

  • mplayer
  • mplayer-gui
  • gecko-mediaplayer

6. Azureus

  홈 페이지 : http://azureus.sourceforge.net/

  Azureus는 쉽게 사용할 수 있는 bittorrent 클라이언트다.

  다음 패키지를 설치한다.

  •   azureus

사용자 삽입 이미지

7. Filezilla
    홈 페이지 : http://filezilla-project.org/

    filezilla는 FTP, SFTP, FTPS, FTPES 등의 프로토콜을 지원하는 ftp 클라이언트 소프트웨어다.
    오픈소스 프로젝트의 하나로 윈도우즈에서도 많은 사용자들이 사용하는 소프트웨어다.

  • filezilla
사용자 삽입 이미지

8. gparted

  홈 페이지 : http://gparted.sourceforge.net/

  gparted는 하드디스크 파티션에 대해서 크기를 수정하거나, 파티션을 옮기거나, 파티션에 대해서 포맷할 수 있다. 여러 가지 파일 시스템을 지원한다.

  • gparted

사용자 삽입 이미지

다음은 gparted에서 지원하는 파일시스템과 각 파일시스템에의 가능한 작업 내용입니다.

사용자 삽입 이미지

9. unrar

  rar 확장자를 사용하는 압축 파일의 압축을 해제하는 패키지다.
 

  • unrar

신고
Posted by 무한루프 달리만듦

댓글을 달아 주세요

리눅스2008.05.20 14:10

과거 리눅스를 설치하는 일은 상당한 결심을 필요로 했다. 설치하고서 제대로 사용하기 위한 설정 작업이 설치 작업보다 더 시간을 많이 잡아먹고, 까딱하다간 1주일 정도를 씨름해야 겨우 사용할 만한 상태로 만들 수 있었기 때문이다.

현재는 리눅스를 설치하는 것은 오히려 윈도우즈를 설치하는 것 보다 수월하다. Live CD를 사용하면 설치하지 않고도 리눅스 시스템을 사용해 볼 수도 있다.

오늘부터 두번에 걸쳐서 데스크탑 환경으로 사용하기 위해서 Fedora 9을 설치하는 방법을 쓸려고 한다. 오늘은 Fedora 9을 설치하는 방법을, 내일은 Fedora 9을 위한 몇 가지 프로그램 설정 방법을 올릴 것이다.

참고로 설치는 VirtualBox를 이용한 가상머신에 설치한 것이다.

먼저
http://fedoraproject.org/get-fedora.html 이곳에서 설치 DVD를 구한다.

DVD를 넣고 새로 부팅하면 다음과 같은 화면으로 설치를 시작한다.

사용자 삽입 이미지

맨 처음 메뉴를 선택하면 그래픽 환경으로 새로 설치할 수 있다.

사용자 삽입 이미지

설치 전에 DVD를 테스트하기 위함이다. 여기서는 Skip을 선택한다.
 
사용자 삽입 이미지

그래픽 환경이 시작되면 Next 버튼을 눌러 설치 작업을 시작한다.

사용자 삽입 이미지

설치 과정을 어떤 언어로 진행할 것인지를 선택한다. 자신있는 언어를 선택하면 되겠다. 저는 무조건 한국어...

사용자 삽입 이미지
사용할 키보드를 선택한다. 역시 한국어 키보드.

사용자 삽입 이미지

아마도 새로운 시스템이 아니면 볼 수 없는 경고 박스다.
하드 디스크에 파티션이 설정되어있지 않으면 나타난다.
 
사용자 삽입 이미지
시스템에서 사용할 네트워크 장치를 설정한다.

사용자 삽입 이미지
시스템 시계를 맞추기 위해서 도시를 선택한다.

사용자 삽입 이미지
root 계정 암호를 설정한다.

사용자 삽입 이미지
설치할 하드 디스크를 선택하고, 파티션을 설정한다.
여기서는 Fedora 9에서 제시하는 디폴트 값을 그대로 이용했다.

사용자 삽입 이미지
파티션을 설정하면 기존 데이터를 잃을 수 있다는 경고 메시지 박스다.
여기까지 왔다가 그만 두어도, 기존 데이터는 잃지않는다.

사용자 삽입 이미지

여기까지 왔다면, 기존 데이터는 잃어버린다.

사용자 삽입 이미지

설치하는 시스템을 어떤 용도로 사용할 것인지를 설정한다.
데스크탑 용도이므로 사무와 생산선 만 선택한다.
만약 개발이나 웹 서비스 용도라면 나머지도 선택해야 하지만... 이에 대해서는 시간을 내어 다시 글을 쓰도록 하겠다.

사용자 삽입 이미지
여기서는 설치옵션으로 초기 설치 작업 때 같이 설치할 패키지를 선택할 수 있다.
여기서 선택하지 않아도, Fedora를 사용하면서 추가로 설치할 수도 있고, 삭제할 수도 있다. 빠른 설치를 위해서 꼭 필요한 패키지만 설치하도록 한다.

사용자 삽입 이미지
다른 패키지는 몰라도, 언어에서 한국어 지원은 꼭 선택하시기를...

사용자 삽입 이미지
이제 설치를 시작합니다.

사용자 삽입 이미지

이제 선택한 패키지를 설치하기 시작한다.
가사머신인 관계로 시간이 꽤 걸려 설치한다. 하지만, 가상머신이 아닌 환경에서는 빠른 설치일 것을 기대한다.

사용자 삽입 이미지

이로써 설치가 끝났다. 재부팅 버튼을 누르면 시스템이 부팅되면서 새로운 버전의 Fedora를 사용할 수 있을 것이다.

신고
Posted by 무한루프 달리만듦

댓글을 달아 주세요


티스토리 툴바