
다음과 같이 PC 한 대를 구성했습니다.
- Intel i5-8500 cpu
- 16GB RAM
- WD Black 2.5" 1TB HDD 2EA RAID 1 (Intel RST)
- Samsung 970 EVO SSD (500GB)
(원래 SSD RAID 1으로 PC를 구성하려고 했습니다만, Trim이 되지 않는 문제로 지속적 이용시 속도 저하가 심각합니다.)
(데이터 가용성을 위해 RAID 1은 필수 구성입니다.)
이 PC는 어떤 회사의 게이트웨이 라우터 역할을 할 것입니다. (pfSense)
100여대 PC 및 서버의 라우터이고, 무엇보다도 VPN Server 역할도 해야 해서, 좋은 사양이 필요했습니다.
(pfSense를 native로 설치하는 데 실패해서, Windows 10의 Hyper-V 를 이용해서 pfSense를 동작시킬 예정입니다.)
(이 PC에 VM을 추가할 가능성은 거의 없습니다. pfSense 전용으로 동작할 겁니다.)
1TB HDD에 운영체제 및 pfSense VM을 구동합니다.
사실, pfSense의 대부분의 동작은 메모리에서 이루어질 것이므로, HDD이든 SSD이든 큰 영향은 없을 것이라고 생각했습니다.
그런데, 관리를 위해 윈도우를 업데이트하고, 가상머신을 다루는 데 있어서, SSD에 이미 익숙해져 있었기에 매우 답답했습니다. 그러던 와중에 PrimoCache를 알게 되었고, 아주 마음에 듭니다.
정확한 답변을 위해, 배경 설명이 좀 길었습니다.
우선, 지금 이 PC의 PrimoCache 설정을 보여드리겠습니다.
(SSD 용량은 500GB이지만, OverProvisioning을 위해서 250GB만 설정했습니다.)
다음은 나의 요구사항입니다.
1. 빠른 성능을 원하지만, 안정성이 훨씬 더 중요합니다. 그래서 Defer-Write는 고려하지 않습니다.
2. 가능하다면 HDD 읽기/쓰기 가속을 했으면 좋겠습니다.
질문:
1. 요구사항에 비추어 볼 때, 위 설정은 적절합니까? 적절하지 않다면, 어떤 것을 어떻게 바꾸면 좋겠습니까?
2. PrimoCache를 이용하면, 읽기 성능은 충분해 보입니다. 그러나 쓰기 성능은 그리 좋아진 것을 체감하지 못하겠습니다. Defer-Write를 사용하지 않는다면, 쓰기 성능 향상은 크지 않습니까?
3. (가장 중요한 질문) 쓰기 캐시를 사용하지만 Defer-Write를 사용하지 않는다면, 예상치 못한 시스템 종료시에도 충분히 안정적이라고 볼 수 있습니까?
(PrimoCache를 사용하지 않았을 때에도 발생할 문제는 논외로 합니다. PrimoCache를 사용함으로 해서 발생하는 문제만 검토하면 되겠습니다.)
4. 위와 같은 요구사항이라면, 'Individual Read/Write Cache Space' 옵션은 끄는 것이 맞습니까? 아니면 켜는 것이 맞습니까? (혹시 켜야 한다면, Write 비율을 어느 정도로 주는 것이 좋겠습니까?)
고맙습니다~
만일 끈다는 의미라면 적절한 값을 설정해주세요 (케쉬의 계층 구조랑 하드웨어 성능차 고려시 아무리 SSD라도 RAM에 비하면 기어다님)
2. 쓰기라고 애기하셔도 연속을 애기하시는건지 아니면 랜덤을 애기하시는지에 따라 애기가 달라집니다
3. RAM이랑 달리 비휘발성인 SSD인지라 그부분은 소프트가 처리할 수 있다면 딱히 날아갈일자체가 없습니다 (애초에 그런 대수를 처리해야할 중요한 서버에 UPS도 없는건 넌센스이므로 고려할 가치조차 있는지 불명)
추신 : 일부 C계열/X299이상 보드는 RAID1조차 TRIM된다는 애기 있습니다 (제경우 쓰기가 심하지 않은 서버는 GC만 믿고 1으로 묶어버렸지만, 성능 저하 없이 버티긴합니다)
1. L1 0이란 건 끈다는 의미입니다. 메모리가 16G에 불과하여 L1까지는 쓰지 않아도 됩니다. 현재 L2만 사용하고 있는데, 아주 쾌적합니다.
2. 구지 따지자면, 랜덤을 말하는 것이겠죠. 연속 쓰기라면 HDD도 속도 충분히 나옵니다. (제 용도에서는)
3. UPS 당연히 있습니다. 하지만 갑작스런 셧다운은 전기적 문제보다 소프트웨어적인 문제가 더 잦다고 느낍니다, 저는.
큰 건물이고 새 건물이어서 그런지, 갑작스런 정전 같은 문제는 지난 3년간 전혀 없었습니다.
C계열/X299 이상 보드가 RAID1도 Trim이 된다니, 좋은 소식이네요.
저도 한 번 알아봐야겠습니다.
2. SSD NVMe조차 랜덤은 자체 DRAM케쉬를 벗어나는 순간 1/10도 안 되는 성능이 나오므로 쓰기 성능 향상을 위해서는 L1은 켜보세요
3. 소프트적 크레쉬가 문제라면 대책이 없어요 (하드웨어나 케쉬등에서 뭔짓해도 그걸 해결 못하는한 크레쉬해서 날아갈테니까요)
RAID1/5 TRIM 무조건적이 아닌듯하니 (RAID0은 70이상은 됨) 이부분은 반드시 확인후 구매하셔야 합니다
조언 고맙습니다~
일단 데이터영역을 사용하는것을 권장합니다. 요즘 대부분 OS영역은 SSD를 사용하기 때문에...
데이터영역 디스크를 캐쉬설정하기 바랍니다. L1은 메모리를 캐쉬사용하는거고 L2는 NVME/SSD 를 캐쉬 사용하는겁니다. 쓰기설정 사용하고 싶으면 읽기쓰기 비율 수동으로 지정하고 Defer-Write 체크해주기 바랍니다. 3초정도만 설정하세요 너무 길면 캐쉬 메모리에 오래 보관하다 종료되면 데이터 크래쉬 납니다. 일반적인 화일이야 그냥 다시 넣으면 그만이지만 DB파일이나 VHD 같은 가상디스크는 깨집니다.
뭐 이정도입니다.
구조는 ZFS랑 거이 동일하다고 보면됩니다. 그걸 윈도우 버젼에서 사용한다고 보면 되요.
술이 님께서 프리모캐시 극찬을 하셔서, 에라 모르겠다 하고 설치해 봤는데, 정말 쾌적하더군요.
고맙습니다.
운영체제가 설치된 드라이브는 왠간하면 설정 안하는게 좋습니다 --> 이게 쓰기 캐시 말씀하시는 거죠?
그리고 후기록 캐시는 고려하고 있지 않습니다.
제 정확한 질문은.. 이론적으로 프리모캐시에서 쓰기캐시를 사용하되, Defer-Write를 사용하지 않는다면.. 갑작스런 정전 상황에서 프리모캐시를 사용하는 것과 사용하지 않는 것의 데이터 corruption이 발생할 확률이 차이가 나냐는 것입니다.
10000rpm 의 벨로시렙터 입니다.
Western Digital VelociRaptor WD1000DHTZ
https://xpcblog.tistory.com/12
최대 전송 속도가 120MB/s, 평균 탐색 시간이 리드4.2ms / 라이트4.7ms
(일반하드에 비하여 3배~4배 정도 빠른 Seek Time을 가지고 있습니다.)
버퍼 용량은 기존과 같은 16MB이고, 플래터 매수에 대해서는 150GB플래터×2장
요즘 시게이트 하드들이 200메가를 넘어요. 시게이트 SAS는 250메가도 넘기 때문에 시대가 하드디스크 기술이 많이 바뀌었습니다. RPM만 높다고 빠르던 옛날과는 많이 달라졌습니다.
뭐 하드 아무리 빠른거 레이드로 묶어봐야 결국은 SSD 한개 속도만도 안나오기에 SSD같은 캐쉬로 4K속도의 병목현상을 해결해주고 있습니다.
어차피 SAS 15kRPM HDD조차 SSD에 비하면 거북이에요
4K속도는 역시 SSD라고 생각합니다. ^^
윈도우 OS라면 저장소풀을 이용하거나 디스크관리자에서 동적디스크 미러레이드를 구성하면 위 문제가 해결될겁니다.
AHCI 방식으로 사용해야될거 같네요.
술이님 말씀대로라면, OS가 설치된 디스크가 문제입니다.
SSD RAID의 경우 성능저하 경험이 있는데.. 그렇다면 HDD RAID를 사용하거나, RAID를 사용하지 않고 단일 디스크로 사용해야 합니다.
저는 단일 디스크를 사용하고 싶지 않은 겁니다.
한 번 설정해 놓으면, 적어도 디스크 장애는 극복하고 싶은 것이죠.
그래서 HDD RAID 1을 사용하고, 단일 SSD는 캐시로만 사용하는 구성을 한 것입니다.
캐시를 읽기전용으로만 설정해 놓는다면, SSD 장애시 SSD만 교체하면 되더군요. (프리모캐시의 경우)
그런데 혹시 몰라서 조금 욕심을 부려보는 것입니다.
쓰기캐시를 사용할 때.. Defer-Write를 사용하지 않는다면..
SSD 캐시 이므로, 비휘발성이고..
그래서 별 문제가 없지 않겠나.. 하는 생각입니다.
쓰기캐쉬는 Defer-Write를 사용하지 않으면 동작하지 않습니다. 전부 읽기전용입니다.