티스토리 뷰
glusterfs (SSD 최적화)
이미지 출처 및 원문
SSD 환경 아래에서 GlusterFS 성능 최적화 2016년 (논문) http://www.dbpia.co.kr/Journal/ArticleDetail/NODE06599145 김덕상, 엄현상, 엄현영
|
이슈
HARD DISK 기반으로 설계, SSD 성능 100% 활용 여부 SSD : I/O-cache, Read-ahead, Write-behind Translator |
방법론?
hot data : ssd 에 저장 cold data : harddisk 저장 |
glusterfs
메타 서버 없음 (메타 데이터 요청시 병목현상 발생하지 않음), DHT (Distributed Hash Table) 이용 brick 저장소의 기본 단위
|
* 일반적으로 FUSE (Filesystem in Userspace) 를 이용하여 마운트
하드디스크를 위한 기능
I/O cache 캐시의 페이지 크기만큼 블록을 읽어오며, glusterfs 의 기본 페이지 사이즈는 128KB 4KB, 64KB 등의 작은 블록 사이즈로 I/O 를 하여도 128KB씩 데이터를 읽음 순차 I/O 에서는 큰 문제가 없지만 랜덤 I/O 의 경우 불필요한 데이터를 읽어오기 때문에 성능 저하의 원인 데이터 크기가 작으면 작을수록 불필요한 데이터를 더 많이 가져와 성능 하락의 영향 Read-ahead I/O 시 여러페이지를 미리 읽어오는 기능 Write-behind 128KB 단위로 배치하고 쓰기를 처리 하는 기능
|
하드디스크
순차적으로 읽을때 유리 (물리적인 seek time 이 있으므로 랜덤 I/O 보다 순차 I/O 에서 월등한 성능 보여줌) SSD : 랜덤 I/O 성능과 순차적인 I/O 성능이 하드디스크에 비해 차이남
|
glusterfs 클라이언트의 I/O 요청은 epoll 이라는 폴링하는 쓰레드의 해서 처리
1. I/O 정보 가져옴 2. RPC (remote Procedure Call) 를 통해 동기적으로 서버에 I/O 작업
|
* 클라이언트가 낼수 있는 최대 성능은 이 쓰레드에 의해 결정
FUSE를 통해 glusterfs 마운트시 epoll 쓰레드는 1개 생성 여러개의 클라이언트가 I/O 요청을 보내야 SSD 여러 채널들에 I/O 전송이 됨
|
SSD 환경에서 glusterfs 최적화
I/O-cache, Read-ahead, Write-behind 기능 제거 -> I/O 를 처리하기 위한 Translator 과정이 단순화
-> 4KB, 64KB 등의 작은 랜덤 I/O 에서 성능 향상
* 멀티 쓰레드 epoll (3.7 부터 추가)
'Filesystem' 카테고리의 다른 글
pNFS(Parallel Network File System) (0) | 2018.09.04 |
---|---|
분산파일 시스템 종류 및 특징 (0) | 2018.09.04 |
순차 및 랜덤 엑세스 (0) | 2018.08.30 |
cifs mount glusterfs (0) | 2018.08.28 |
nfs mount glusterfs (0) | 2018.08.27 |
- Total
- Today
- Yesterday
- GeoIP
- iptables
- glusterfs
- HAProxy
- 리눅스
- NGINX
- ntp
- mariadb
- virtualbox
- OpenVPN
- kvm
- pptp
- Apache
- 인증서
- cURL
- mod_security
- IPSEC
- WAF
- ssh
- galera
- MySQL
- L2TP
- centos8
- SSL
- php
- yum
- centOS7
- softether
- 베이어다이나믹
- gitlab
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |