10G랜 환경에서 Nvme 스토리지풀에 쓰기속도가 안나오는 문제..
10G망에서 읽기는 거의 10G망스피드 거의 전체를 사용하는데 비해서
쓰기속도가 처음 4~5기가정도의 램캐시 구간은 900MB/s가까이 나오다가
그 이후로 가면 속도가 점차 떨어져서 300MB/s정도가 실제 쓰기속도의 한계인거 같더군요
DSM7이후로는 nvme로 읽기/쓰기 캐시를 적용해도
1메가 미만의 파일만 캐시가 적용되어서 네트웍 속도를 제대로 쓰기가 어려웠는데
요아래 글의 시퀀셜 I/O 적용하는 스크립트를 적용해서 Nvme로 읽기/쓰기 캐시를 사용해서
큰 파일을 저장할때 10Gbps에 가까운 속도가 나는지 테스트 해봤습니다.
문제는 캐시가 없을때보다 약간 빨라지긴 했는데 잘해야 550~600MB/s부근인데다가
대용량파일 (50GB정도)을 저장할떄 쓰기 속도가 물결을 치면서 빨라졌다 느려졌다를 반복하더군요
--------
그래서 스크립트를 뒤져보다가 NVME로 스토리지 풀을 생성하는 스크립트를 알아봤는데
간단하더군요
nvme가 /dev/nvme0n1로 인식했을때 ssh로 들어가서 이렇게 해주면
캐시밖에 쓰지 못하던 nvme로 nvme스토리지풀이 생성됩니다.
sudo synostgpool --create -l basic -c /dev/nvme0n1
이번 문제는 raid1로 미러링된 nvme에서 쓰기속도가 안나오던 문제라서
raid1로 미러링으로 스토리지 풀을 만들어봤는데
sudo synostgpool --create -l raid1 -c /dev/nvme0n1 /dev/nvme1n1
스토리지 풀도 볼륨도 잘 생성되었습니다.
(지금은 다른 환경을 바꿔버린지라 스샷이 없네요..)
문제는 이렇게 만들어진 nvme스토리지풀에 직접 파일 복사 테스트를 해 봤는데
이렇게 해도 nvme쓰기속도가 550~600MB/s부근에서 왔다갔다 하더군요
raid1 미러링이 문제인가 해서 nvme 하나로 단일 스토리지 풀을 만들어봐도
속도가 왔다갔다하는건 동일하고요..
이게 헤놀이 아닌 PC윈도우 환경에서는 딱 1GB/s의 풀스피드가 나오는데
헤놀에서 nvme 스토리지에 저장속도가 떨어지는 이유는 대체 뭘까요..
혹시 헤놀 DSM7.2에서 nvme스토리지풀을 만들어서 10G환경에서 쓰기 속도 테스트 해보신분 계신가요?
스크립트로 생성할 수 있는 정보를 알려주셔서 감사합니다.
헤놀 NVME 1Tb x 2 RAID 1
lan 10G x2 LACP mode
윈도우11 NVME 2Tb
lan 10G x 1
단순 SMB 복사 스샷
헤놀에서 윈도우
윈도우에서 헤놀
헤놀 nvme 인식 되게만 설정 하고 다른 스크립트는 적용 한게 없습니다
NVME풀도 중요하지만 파일을 읽어오는 원본소스도 속도가 받쳐줘야되거든요.
소스는 PC NVMe SSD라서 원본 속도는 문제 없는 환경입니다.
일단 10G카드로 인텔 X520-DA2를 쓰고 있었는데
카드쪽 문제가 아닌가 싶어서 이걸 빼고 멜라녹스 ConnectX-3 Pro로 바꿔줬더니
엄청나게 안정적으로 바뀌었네요....
인텔 X520-DA2
멜라녹스 ConnectX-3 Pro
그런데 이게 10G 랜카드 불량은 아닌것이
같은 X520-DA2 카드에 윈도우를 설치한 환경에서도 문제없었고
다른 QNAP NAS에서도 정상적으로 10G속도를 제대로 받쳐주기 떄문에 X520-DA2 카드 자체의 문제는 아닌걸로 보입니다.
시놀로지의 ixgbe드라이버가 이상한건지 모르겠는데 시놀로지와 X520-DA2의 조합에서만
엄청 불안정하게 속도가 왔다갔다 하네요...
증상이 너무 이상해서 헤놀이 아닌 시놀로지 DS1821+에서도 X520-DA2에 Nvme를 스토리지로 설정한뒤에 테스트 해봤는데 헤놀하고 동일한 문제가 발생합니다...
일단 이유는 모르겠지만 원인을 알았으니 sfp+ 카드를 멜라녹스 MCX312B로 죄다 바꿔야겠네요..
cmt alert