커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
*
HanIRC의 #coffeenix 방
[
장비 및 회선 후원
]
> Forum <
IT 일정
N
e
w
!
자동화 프로젝트
HOME
>
시스템 관리 / 서버운영
>
디스크 관리 / 파일시스템 / mount
도움말
검색 :
사이트
WHOIS
웹서버 종류
CentOS 5.x에서 ext4 파일시스템 사용
작성일 : 2009/11/18 23:17
글쓴이 : 좋은진호 (
http://coffeenix.net/
)
조회수 : 23283
[
이전화면
/
수정
] 비밀번호 :
제 목 : CentOS 5.x에서 ext4 파일시스템 사용
작성자 : 좋은진호(truefeel,
http://coffeenix.net/
)
작성일 : 2009.8.28(금)
수정일 : 2009.11.17(화) CentOS 5.4에 대한 내용 추가
CentOS 5.3 버전에서 기본적으로 제공하는 커널에서는 ext4 파일시스템의 개발버전(ext4dev)을 사용할 수 있었다. 그 후 CentOS 5.4(RHEL 5.4)이 나오면서 ext4의 개발 딱지를 떼어나고, 정식적으로 사용할 수 있게 되었다. /lib/modules/커널버전/kernel/fs/ext4/ 아래를 살펴보면 ext4.ko (또는 ext4dev.ko)등의 ext4 파일시스템 모듈을 확인할 수 있다.
ext4 파일시스템 관련 툴인 e4fsprogs패키지가 설치되어 있지 않은 경우 설치한다.
#
yum install e4fsprogs
#
rpm -ql e4fsprogs
/etc/mke4fs.conf
/sbin/debuge4fs
/sbin/dumpe4fs
/sbin/e4fsck
/sbin/e4image
/sbin/e4label
/sbin/e4undo
/sbin/finde4fs
/sbin/fsck.ext4
/sbin/fsck.ext4dev
/sbin/mke4fs
/sbin/mkfs.ext4
/sbin/mkfs.ext4dev
/sbin/resize4fs
/sbin/tune4fs
1. 간략한 과정 정리
(방법 1)
ext4 파읽시스템 생성하기
1) mkfs.ext4 -L 볼륨명 /dev/파티션
2) /etc/fstab에 해당 파티션 정보를 설정한다.
3) mount /dev/파티션
(방법 2)
ext3 -> ext4로 파일시스템 변경하기
1) ext4로 변경할 파티션을 먼저 unmount한다. ( umount /dev/파티션 )
2) tune4fs -O extents,uninit_bg,dir_index /dev/파티션
3) fsck.ext4 -fpDC0 /dev/파티션
4) /etc/fstab에서 ext3 -> ext4로 바꿔 저장한다.
5) mount /dev/파티션
2. ext4 파일시스템 생성하기
ext2, ext3파일시스템 만드는 것과 동일한 방법이므로 따로 설명할 것 조차 없다. 예제에서는 /dev/sdb1 파티션으로 가정한다.
#
mkfs.ext4 -L /data /dev/sdb1
(-L 은 볼륨명. 알기 쉽게 임의로 적으면 된다.)
#
tune4fs -l /dev/sdb1
... 생략 ...
Filesystem features: has_journal ext_attr resize_inode dir_index filetype
needs_recovery extent flex_bg
sparse_super large_file
huge_file uninit_bg dir_nlink extra_isize
... 생략 ...
ext4는 ext3의 제한인 2TB보다 더 큰 16TB까지의 파일도 생성 가능하다. 위의 파일시스템 feature 중에서 'huge_file' 부분이 바로 2TB보다 더 큰 파일을 생성할 수 있음을 뜻한다. 또한 ext4에서는 32000의 서브디렉토리 제한을 넘어서 64000개까지 늘어났다. 이에 대한 것은 dir_nlink feature로 표시된다.
3. ext3 -> ext4로 파일시스템 변경하기
e4fsprogs 설치 후 tune2fs가 아닌 tune4fs 명령으로 ext3파일시스템을 ext4로 변경한다. tune4fs로 변경하기 전에 파티션은 unmount한다. /dev/sdb1 파티션을 예로 들어보자.
#
tune2fs -l /dev/sdb1
(변경 전)
... 생략 ...
Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem state: clean
... 생략 ...
#
#
tune4fs -O extents,uninit_bg,dir_index /dev/sdb1
(파티션 ext4로 변경)
tune4fs 1.41.1 (01-Sep-2008)
Please run e4fsck on the filesystem.
#
#
tune4fs -l /dev/sdb1
(변경 후, fsck 전)
... 생략 ...
Filesystem features: has_journal ext_attr resize_inode
dir_index
filetype
extent
sparse_super large_file
uninit_bg
Filesystem state: not clean
... 생략 ...
2TB~16TB의 파일크기를 생성하고 싶다면 tune4fs -O 옵션에 huge_file까지, 또 32000개의 서브디렉토리 제한을 넘어서려면 dir_nlink 까지 추가해주면 된다. fsck.ext4 또는 e4fsck 로 파일시스템을 검사한다.
#
fsck.ext4 -fpDC0 /dev/sdb1
/data: Group descriptor 0 checksum is invalid. FIXED.
/data: Group descriptor 1 checksum is invalid. FIXED.
/data: Group descriptor 2 checksum is invalid. FIXED.
/data: Group descriptor 3 checksum is invalid. FIXED.
/data: Group descriptor 4 checksum is invalid. FIXED.
... 생략 ...
/data: Adding dirhash hint to filesystem.
/data: 32/8895488 files (3.1% non-contiguous), 455254/8889961 blocks
#
#
tune4fs -l /dev/sdb1
(변경 후, fsck 후)
... 생략 ...
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent sparse_super large_file uninit_bg
Filesystem flags: signed_directory_hash
Filesystem state: clean
... 생략 ...
4. ext4 파일시스템 마운트하기
/etc/fstab에서 해당 파티션의 파일시스템 유형을 ext4로 변경한다. 그리고, mount하면 끝.
#
mount /data
#
mount
/dev/sda7 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
... 생략 ...
/dev/sdb1 on /data type ext4 (rw,nosuid)
syslog통해서 로그는 다음과 같이 남는다.
Oct 26 18:48:10 cnx1 kernel: kjournald2 starting: pid 2497, dev sdb1:8, commit interval 5 seconds
Oct 26 18:48:10 cnx1 kernel: EXT4 FS on sdb1, internal journal on sdb1:8
Oct 26 18:48:10 cnx1 kernel: EXT4-fs: delayed allocation enabled
Oct 26 18:48:10 cnx1 kernel: EXT4-fs: file extents enabled
Oct 26 18:48:10 cnx1 kernel: EXT4-fs: mballoc enabled
Oct 26 18:48:10 cnx1 kernel: EXT4-fs: mounted filesystem sdb1 with ordered data mode
※ CentOS 5.3에서 기본커널을 사용하는 경우 /etc/fstab에 ext4dev로 적어야 한다. mount 결과에서도 ext4dev로 표시된다.
5. mount할 때 에러 (CentOS 5.3에서 ext4 개발버전(ext4dev)일 경우)
mount할 때 다음과 같은 경고 메시지가 나올 수 있다. ext4 정식버전이면 fsck 후에 mount하면 문제없을 것이다. 그러나 ext4dev 버전일 경우에는 tune4fs로 설정 변경이 필요하다.
#
mount /data
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
syslog 에는 다음과 같은 로그가 남아있다.
Aug 28 11:11:55 cnx1 kernel: EXT3-fs: sdb1: couldn't mount because of unsupported optional features (40).
tune4fs 로 설정 변경 후 tune4fs -l 로 살펴보면, 파일시스템 flag의 변화가 있음을 알 수 있다. 이후 mount하면 문제없이 해결된다.
#
mount -t ext4dev /dev/sdb1 /data
Aug 28 11:26:42 cnx1 kernel: EXT4-fs: sdb1: not marked OK to use with test code.
# lsmod | grep ext4
ext4dev 200029 0
jbd2 55513 1 ext4dev
crc16 6209 1 ext4dev
#
tune4fs -E test_fs /dev/sdb1
tune4fs 1.41.1 (01-Sep-2008)
Setting test filesystem flag
#
tune4fs -l /dev/sdb1
... 생략 ...
Filesystem flags: signed_directory_hash test_filesystem
... 생략 ...
6. 참고자료
* EXT 파일 시스템(ext1, ext2, ext3, ext4)
http://serna.tistory.com/7
* ext4
http://en.wikipedia.org/wiki/Ext4
* huge_file feature에 대한 글
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=509893
커피닉스 카페 최근 글
[08/25]
#gpt_question_subje
[08/20]
From what I've seen
[08/14]
сайт
[06/16]
[질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
[04/22]
Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
[10/20]
Cross Compiler 깔
[07/14]
SSL АО
[04/26]
Re: 도스화면 원격조종 여부
[04/25]
도스화면 원격조종 여부
[10/30]
Cshell에서 난수 설정
[10/23]
공항철도주식회사 SE 구인 件
[01/26]
Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
[01/25]
wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
[01/11]
특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
[08/01]
DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
N
e
w
! 최근에 등록한 페이지
KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
오픈캐스케이드 캐드 (OpenCASCADE CAD)
QCad for Windows --- GNU GPL (Free Software)
The Hello World Collection
IPMI를 활용한 리눅스 서버관리
DNS 설정 검사
nagiosgraph 설치 방법
Slony-I 설치 방법 (postgresql replication tool)
Qmail기반의 Anti spam 시스템 구축하기
clusterssh
[ 함께하는 사이트 ]
운영진 :
좋은진호(truefeel)
, 야수(yasu), 범냉이, sCag
2003년 8월 4일~