ZFS(Intel Optane 900P), RAID6(DELL H830, 2G Cache) 속도 비교 질문입니다.

dogbull   
   조회 4024   추천 0    

스토리지 속도 비교 질문 드립니다.

proxmox(debian)를 설치하였습니다.
ZFS: 1TB HDD x 8ea를 raidz로 구성하고, Intel Optane 900P 280G를 LOG로 설정하였습니다.
RAID6: DELL H830 레이드카드에 2G Cache가 달려있고, 10TB HDD x 8ea로 구성되어 있습니다.
공통사양: 2690v4 x 2ea, 512GB RAM

Optane 를 LOG로 사용하므로 ZFS가 월등할 것 같았는데, 유사하거나 H830이 더 나았습니다.(특히 sequential write)
hdparm, iozone, dd, fio(이것은 ZFS로 인해 -I 옵션은 제거) 등으로 테스트 해보았습니다.
해당 스토리지위에 KVM을 설치하여서도 테스트 해 보았으나 역시 유사하거나 H830이 더 나았습니다.(특히 sequential write)

측정 결과를 제시하여 드려야할까요?(또는 확인 위한 어떤 추가 정보가 필요한지, 잘 모르겠네요)

감사합니다~

짧은글 일수록 신중하게.
maronet 2019-07
메모리 용량이 부럽습니다!
     
dogbull 2019-07
제건아닙니닿ㅎ
박문형 2019-07
꼭 SSD기기가 더 빠르다는 법은 없습니다..

개인적으로 SSD쪽은 아직까지도 HDD보다는 레이드 카드 호환성이 부족하다고 생각합니다..
     
dogbull 2019-07
그렇군요. hwraid 쪽 디스크가 dell 정품 nlsas 12g 라고되어있던것 같던데. optane는 그냥 일반용 이고요. 호환성 문제가 있겠군요
송주환 2019-07
ZoL은 개인적으로 아직 신뢰하지 않습니다..
Solaris에 물려서 한번 시험해 보십시오.
     
dogbull 2019-07
솔라리스. 유닉스이고 그런게 있구나 정도만 알지 만져본적이 없네요. 시험해 봐야겠습니다. 감사합니다.
술이 2019-07
ZFS는 HBA 카드에서 써야됩니다. 캐쉬있는 카드에서 사용하면 정전시 데이터 다 깨져요.
LOG는 쓰기 캐쉬가 아닙니다. 데이터 안전성을 보장하기 위한 일종의 트랜잭션 역할 디스크이며 쓰기속도 향상에 전혀 도움을 주지 않습니다. 4G이상 데이터 쌓이지도 않을겁니다.
ZFS 파일시스템은 데이타베이스 구조라고 생각하는게 이해가 빠를겁니다. 초기 읽기 속도는 정말 극악의 속도이지만 이게 ARC/L2ARC에 캐쉬가 올라가면 최고의 읽기속도를 보장합니다. DB서버도 처음에 로딩할때 지연율이 높은데 몇년 써보니 이거 DB서버를 사용한다는 기분이 느껴지더군요. 그래서 오라클 솔라리스 메뉴얼 페이지에 보면 DB서버에 대한 설명들이 많았던거 같습니다.
     
dogbull 2019-07
앗 중요 정보를 누락했네요.(이게 중요하다는 것도 이제 알았지만) zfs 로 구성된 1tb hdd들은 h730 에 hba mode로 연결돠어 있습니다. 그런데 zfs pool 에 LOG 를 추가했을 때와 제거 했을 때의 쓰기 속도 차이가 5배 이상 나는것 같던데요.
          
술이 2019-07
비동기 설정을 한게 아닌지 잘 찾아보기 바랍니다. LOG 넣었다고 속도 그렇게 빠를수가 없는게 LOG 디바이스와 디스크와 동기방식으로 가면 속도가 잘 나올수가 없습니다. 결론은 디스크 쓰기속도에 맞춰지게 되어 있습니다. 만약 동기방식인데 쓰기속도가 빠르다?라고 한다면 콘트롤러 캐쉬 타는게 아닐까 싶습니다. 그렇게 되면 또 위험해지는거죠.
               
송주환 2019-07
zlog가 비휘발성이니 write-back으로 설정해도 괜찮지 않나요?
               
dogbull 2019-07
감사합니다. ZFS 의 sync/async 에 대해서는 몰랐네요. 공부해 보겠습니다.
말씀해주신 sync/async 때문에 생각나서, 아래의 명령을 수행 해 보았습니다.

dd if=/dev/zero of=????? bs=1M count=1000
dd if=/dev/zero of=????? bs=1M count=1000 oflag=dsync

oflag=dsync 옵션 포함 시,
ZFS: 922 MB/s
RAID6: 1.1GB/s

oflag=dsync 옵션 제거 시,
ZFS: 2.4 GB/s
RAID6: 1.2 GB/s

dsync 옵셥을 제거하니 ZFS가 더 좋게 나옵니다.
dsync의 옵션 차이는 잘모르지만 그냥 포함하는게 나은 걸로 알고 있어요.
RAID6의 경우 레이드캐시 2GB가 있어서 빠르나...해서 총 쓰기양을 10GB로 늘려도 별 차이 없네요.
epowergate 2019-07
ZFS용 HDD가 MB에 어떻게 연결이 되어 있는지 부터 확인해야 합니다.
일반 MB에 있는 SATA Port에 연결했으면 모든 데이터가 SATA Controller를 통해야 하기 때문에 딱 그정도 성능 나올겁니다.
ZLOG는 잘하셨습니다.  만약 ZLOG Device가 별도로 분리되지 않으면 DATA DISK를 사용하기 때문에 꼭 분리하셔야 합니다. 

ZFS는 아직까지는 일반적인 파일 시스템이라기 보다는 전문적인 파일 시스템으로 보입니다.  관리하기가 아직 너무 어렵습니다.
동시에 ZFS는 꼭 사용하시려면 그 이유가 명백해야 효과를 보실 수 있습니다.
사실 Snapshot과 DR을 빼면 XFS나 EXT4 보다 더 좋을께 별로 없습니다.  COW는 너무 좋지만 대부분 사람들이 이유를 모르니 패스하고 ZFS를 DB용으로 사용하는건 절대 아닙니다.

ZFS의 성능을 꼭 보시려면 MB에 HBA 4개 설치하고 각 HBA에 HDD 2개씩 연결후에 8개의 HDD를 RAIDz로 설정하면 성능 좋게나옵니다.
가능하면 ZLOG는 SSD 2개를 Mirror 잡고 사용하셔야 합니다.  ZFS의 문제는 대부분 ZLOG 때문에 발생합니다.  사실 ZLOG는 문제 발생했을때 사용하라고 있는건데 이넘이 문제의 원인인 경우가 대부분입니다.

저도 ZFS를 간혹 사용하는데 RAIDz는 사용하지 않습니다.  아직 믿지 않습니다.
HDD는 항상 RAID Controller로 구성하고 ZFS는 1개의 DISKDevice로 설정합니다.
     
dogbull 2019-07
안녕하세요. 매번 감사드립니다.
ZFS는 1TB SATA(ST91000640NS) 8개가 H730 레이드카드에 HBA 모드로 연결되어 있습니다.
ZLOG는 PCI 슬롯에 Intel Optane 900P 280G 가 연결되어 있습니다.
RAID6는 10TB NLSAS x 1ea가 H830(2GB Cache)을 통해 MD1400이라는 장비에 연결되어 있습니다.

ZFS의 쓰기 성능이 낮아 보이지는 않습니다. 단순히 dd 명령으로(dd if=/dev/zero of=/zfs1/dd bs=1M count=1000 oflag=dsync)
ZLOG 있을 시, 700MB/s
ZLOG 없을 시, 50MB/s
나옵니다. 하지만 빠른 ZFS 보다 HW-RAID가 더 빠릅니다.
RAID6는 1GB/s 가 나오네요.(으응..? 뭔가 잘못된 느낌...)

말씀해 주신 내용으로 더 알아보겠습니다. 감사합니다~
제온프로 2019-07
60G SSD를 하나 구해서..
RaidZ Cache로 하나 잡아 주세요..
놀라워집니다...
NGC 2019-07
SSD캐시없는 zfs는 일반 hw raid보다 퍼포먼스가 더 안나옵니다
술이 2019-07
zpool iostat -v 3
이걸로 돌려보고 속도측정 해보세요 실제 SLOG를 사용하는지를요.
SLOG가 write back 캐쉬로 알고 있는데 전혀 아닙니다. 데이터 오염을 방지하는 트랜잭션 역할을 하는 안전장치입니다.
그리고 SLOG와 디스크와 sync 방식으로 데이터를 넘겨야 하기 때문에 쓰기 속도가 저리 나올수가 없어요.
오히려 LOG 디바이스 사용을 하면 50MB 속도로 나오게 됩니다. write back 을 사용하면 LOG 디바이스를 사용안하게 됩니다. 그럼 쓰기속도는 더 빠르게 됩니다. 그런데 이것도 약 1G정도는 메모리에 쓰기캐쉬 데이터가 들어가서 데이터 리스크를 갖고 있다는 구조입니다.
SSD 캐쉬는 L2ARC에 들어가는데 이것도 메모리에 저장될 캐쉬영역이 부족할때 SSD에 들어가게 됩니다.
ZFS 는 캐쉬있는 콘트롤러는 절대 쓰지 말라고 주의경고를 합니다. 하드웨어 레이드 기능과 캐쉬메모리가 없는 순수한 HBA 기능만으로 POOL을 만들어서 써야 데이터 크래쉬를 방지합니다.
ZFS는 미러방식이 아니면 쓰기속도 절대 빨라질수가 없습니다. 그런데 쓰기속도 빠르게 한답시고 비동기 방식으로 설정을 하게되는데 그러면 쓰기속도가 대역폭 끝까지 올라갑니다만 정전시 데이터 크래쉬를 감당해야됩니다.
     
dogbull 2019-07
감사합니다! 말씀해 주신 내용으로 확인해 볼게요~


QnA
제목Page 4591/5718
2015-12   1739681   백메가
2014-05   5207866   정은준1
2019-05   3323   서울사람
2016-02   5684   죠슈아
2023-09   2414   네이쳐
2010-07   9164   권용1
2017-01   4672   김민석salsal
2023-09   4086   gusoong
2014-12   4057   장동건2014
2022-02   3160   뿌꾸스토커
2013-07   7726   인생여전
2014-12   4578   장동건2014
2020-09   3427   맛의비결
2023-10   2123   Nomaker
2010-08   8367   김건우
2020-09   3503   뽀뽀중
2010-08   8869   김정중
2013-07   6979   김건우
2014-12   5814   노휘래
2022-03   3254   이영규
2010-09   11765   아름다운노을
2014-12   6989   조효근