본문은 특정 파일시스템을 권장하려는 목적보다는 시스템 목적에 맞는 설정으로 인해 시스템 성능변화를 알려드리고자 합니다. 여기서는 파일시스템 변화에 따른 디스크 속도변화를 예로 들었습니다.
※ 파일시스템에 따른 성능향상 관련자료
http://en.community.dell.com/techcenter/high-performance-computing/w/wiki/2290
ext4 파일시스템이 ext3 파일시스템과 비교해 읽기와 쓰기 속도 모두 개선
파일시스템은 서버 특성에 맞게 결정하셔야 하며 최근에 나온것이 좋다고 볼수만은 없습니다.
여기서는 약 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 최고속도값이 나오면서 백업시간이 상당히 단축되었습니다.
[polldaddy rating=”7739789″]