메뉴 닫기

파일시스템에 따른 시스템 퍼포먼스 변화

본문은 특정 파일시스템을 권장하려는 목적보다는 시스템 목적에 맞는 설정으로 인해 시스템 성능변화를 알려드리고자 합니다. 여기서는 파일시스템 변화에 따른 디스크 속도변화를 예로 들었습니다.

※ 파일시스템에 따른 성능향상 관련자료
http://en.community.dell.com/techcenter/high-performance-computing/w/wiki/2290
ext4 파일시스템이  ext3 파일시스템과 비교해 읽기와 쓰기 속도 모두 개선
fs1fs2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

파일시스템은 서버 특성에 맞게 결정하셔야 하며 최근에 나온것이 좋다고 볼수만은 없습니다.
여기서는 약 7년전에 설치된 백업스토리지에 파일시스템을 데이타 유실없이 현재 ext3 에서 ext4로 변경작업을 시도 하였습니다.

  :: 각 파일시스템에 따른 특징은 아래 싸이트를 참고하시기 바랍니다.
     http://blog.daum.net/99lib/8

 

ext3 –> ext4 파일시스템 변환
# cat /etc/redhat-release
CentOS release 5.6 (Final)

# uname -a
Linux 115-68-23-47 2.6.39.1 #1 SMP Thu Jun 9 09:05:06 KST 2011 x86_64 x86_64 x86_64 GNU/Linux

※ 주의사항
 :: 커널에서 EXT4 파일시스템이 활성화되어 있어야 하며 안되어있음 커널컴파일을 통해 활성화
# grep EXT4 .config
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_DEBUG=y

필요한 패키지 설치
# yum -y install e4fsprogs

마운트 정보확인
# mount
……………
……………
/dev/sdb1 on /STORAGE_DISK type ext3 (rw,nosuid,nodev,noatime)

변환하려는 마운트 다이바스 해제
# umount /dev/sdb1

파일시스템 설정값 변경
tune4fs : ext2 / ext3 / ext4 파일 시스템에서 조정 가능한 파일 시스템 매개 변수를 조정
# tune4fs -O extents,uninit_bg,dir_index /dev/sdb1
tune4fs 1.41.12 (17-May-2010)

Please run e4fsck on the filesystem.

※ 옵션설명
 – extents (확장) : 비트맵 매핑 범위를 사용하는 파일시스템 사용가능
 – uninit_bg : 디스크의 사용부분을 확인하여 파일시스템 검사시간 줄임
 – dir_index : 큰디렉토리에 빠른 엑세서를 위해 b-trees 해쉬를 사용

파일시스템 검사
 :: 시간이 상당히 오래걸리는 작업입니다. 여기서는 10T  디스크를 변환하는데..약 3시간 정도 소요되었습니다.
# e4fsck -fDC0 /dev/sdb1
e4fsck 1.41.12 (17-May-2010)
One or more block group descriptor checksums are invalid. Fix<y>? yes

Group descriptor 0 checksum is invalid. FIXED.
Group descriptor 1 checksum is invalid. FIXED.
Group descriptor 2 checksum is invalid. FIXED.
Group descriptor 3 checksum is invalid. FIXED.
Group descriptor 4 checksum is invalid. FIXED.
Group descriptor 5 checksum is invalid. FIXED.
…………
…………

Pass 1: Checking inodes, blocks, and sizes
STORAGE_DISK : |== – 5.1%

Error reading block 13762897 (Attempt to read block from filesystem resulted in short read) while getting next inode from scan. Ignore error<y>? yes

Force rewrite<y>? yes

Error reading block 19726652 (Attempt to read block from filesystem resulted in short read) while getting next inode from scan. Ignore error<y>? yes

Force rewrite<y>? yes

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/STORAGE_DISK: ***** FILE SYSTEM WAS MODIFIED *****
/STORAGE_DISK: 26/31260672 files (0.0% non-contiguous), 14444953/31258465 blocks

※ 옵션설명
 – f Force checking even if the file system seems clean.
 – D Optimize directories in filesystem
 – C 파일시스템 검사 모니터링
 – 0 No errors

# vim /etc/fstab 수정
LABEL=/STORAGE_DISK /STORAGE_DISK ext4 defaults,noatime,nodev,nosuid 1 2

# mount -a
※ -a Mount all filesystems (of the given types) mentioned in fstab.

# mount
……………
……………
/dev/sdb1 on /STORAGE_DISK type ext4 (rw,nosuid,nodev,noatime)

백업스토리지에서 측정한 트래픽(BPS) 결과입니다.
파일시스템이 변경되는 시점부터 디스크 Read/Write 향상으로 인해 NIC에서 받혀주는 1Gbps 최고속도값이 나오면서 백업시간이 상당히 단축되었습니다.

fs3

 

 [polldaddy rating=”7739789″]  

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x