Mtron 에서 최근 출시된 SSD 32GB 서버군에도 SSD스토리지의 본격 도입이 예상되는 첫 케이스로 보입니다. 현재도 이미 외국에는 Solid Stated Solution 으로 불리우는 SSD NAS, SSD SAN 등의 솔루션이 존재합니다. 또한 종래의 SSD의 결함 (웨어레벨링을 적용하여도 엄청난 write 로 인한 수명단축) 을 회피하기 위해 RAID 구성, 그리고 6개월~1년마다 주기적인 일부 손상디스크의 교체가 이슈였습니다.
그러나 이제품은 최신의 웨어레벨링 기술이 적용되어 내구성이 크게 향상되었습니다. 테스트 환경은 Linux 지만 최대한 범용성을 유지하기 위하여 저사양 시스템으로 구축하였습니다.
1. 제품 외관 및 박스 사진 사진은 클릭하시면 확대해서 볼 수 있습니다.
Mtron SSD Pro 7000 Model
2. 테스트 환경 대상 시스템 환경 : 라우팅 서비스급 서버 CPU : Intel Xeon 5120 1.86Ghz / SIngle Memory : DDR2 SDRAM Fully Buffered-DIMM 8GB M/B : Tyan Tempest I5000V S5372 Chipset : Intel 5000V Chipset 시스템 OS : Linux 64Bit
Kernel : 2.6.18-8
3. 비교 하드디스크 스펙 정리
Model
Hitachi 7K160 series
Seagate ST980811AS
MtronSSD MOBI 3000
MtronSSD Pro7000
Interface
S-ATA 300
S-ATA 150
S-ATA 150
S-ATA 150
디스크크기
8.9 Cm (3.5")
6.35 Cm (2.5")
6.35 Cm
6.35 Cm
디스크용량
160GB
80GB
32GB
32GB
Buffer
16MB
8MB
?
?
RPM
7200
5400
회전매체없음.
회전매체없음.
내부 전송속도
300MB/s
150MB/s
150MB/s
150MB/s
읽기속도
75MB/s
40MB/s
100MB/s
120MB/s
쓰기속도
자료없음
자료없음
80MB/s
90MB/s
평균 탐색속도
8.5ms
12.5ms (평균 8.5ms)
0.1ms
0.1ms
+ 랜덤탐색
자료없음 (통상 10ms)
11ms
0.1ms
0.1ms
+ 랜덤쓰기
자료없음 (통상 11ms)
13ms
0.1ms
0.1ms
+ 최대탐색
자료없음 (통상 12ms)
22ms
0.1ms
0.1ms
소비전력
+구동
2.0A (5v)
5w
2w
2.7w
+운영
자료없음 (통상 10~15W)
2.5w
2w
2.7w
+대기
5.9W
0.2w
0.2w
0.5w
통상운영진동
1.0G (0.025rms)
1.0G (1.25rms)
20G
20G
서버군에서 사용되는 하드 디스크중 최저사양의 디스크로 벤치마크를 하게 되었습니다. 그러나 이 표준편차가 일반적 사양에서 크게 벗어나지 않는다는점을 감안해보아야 할듯합니다.
필자가 서버군에 선정하는 디스크는 매우 까다롭고 엄격한 심사와 선별을 거치게 됩니다. MTBF 가 끝나는 기간 이전에 신뢰할 수 있는것은 역시나 기업의 장인정신과 신뢰도 가 가장 큰 비중을 차지하고 있습니다.
스토리지 제조사의 선정관련 상세보기
대표적으로는 SAS/SCSI 측으로는 시게이트의 비즈니스 라인, Serial ATA 급으로는 시게이트의 NL35 라인과 WD의
랩터정도가 퍼포먼스용도로 사용되며 안정성 용도로는 히다치의 디스크가 가장 많이 사용되고 있으며, 가장 오랫동안 극도의 안정성을
보여주고 있습니다.
한번 불량제품을 소비자 손에 쥐어준 회사는 자사 제품에 대한 자부심이 없기 때문에, 이로 인한 피해를 고스란히 소비자가 보게되기 마련이죠. 대표적으로 국내 모기업이 여기 속합니다.
MTBF 기간내에 손상될 확률이 80%에 달하는 하드디스크로 보자면 무엇을 보고 신뢰할 수 있을까요? 단지 기업의 이름밖에는 없다. 성능이 아무리 좋다고 해도 돈으로 환산할 수 없을 자료들을 거기에 담을 수 밖에 없다면, 안정성과 성능을 양립하는 명품의 선택에 비난할 사람은 없습니다. 남들이 다 테스트를 끝내고 시장출시 5년지난 하드 (지금으로 치자면 60GB급?) 을 쓸수는 없는노릇이아닐까요
4.스펙데이터 재정리
위의 읽기 쓰기는 스펙시트로 충분하지만 SSD에서는 잘 따져보아야 할것들이 몇가지가 있습니다.
이중 핵심되는것이 컨트롤러단에 존재하는 알고리즘들로써 웨어레이블링, 오류보정(Error Collection Code), (종래의)구면보정기능 의 존재입니다.
SLC는1셀당 10만회로 수명이 한정(스펙상)되어있으며 같은 셀에 데이터가 계속 쓰고지워지고 한다면 그 블락은 머지않아 파괴된다. 종래의 MLC기반의 SSD들은 실질적으로 3만회정도이며, 하루 800GB 가량의 Write/Rewrite 가 발생하는 서버급에 쓰인 장비들은 6개월을 머다않고 디스크를 주기적으로 교체해주어야 했죠. 또 이 시스템이 유지될 수 있는것은 레이드였기에 가능한것입니다. 그 전체 솔루션의 가격또한 고급 아파트 두채를 살수있는 가격선입니다.
Mtron SSD는 7bit ECC의 존재와 badblock management 를 제공함과 동시에 웨어레이블링 기술을 통해 혁신적인 생명연장의 꿈을 실현시킨것입니다. 스펙상 1일 50GB Write기준으로 140년을 견딜 수 있다고 써있습니다. 이쯤되면 하드디스크보다 수명이 더 늘어났다고 봐야하는게 맞을것 같습니다. 차세대 미디어로써의 대안이 되어가고 있는것일까요?
일반(자기) 하드 디스크 또한 자기매체이므로 수명이 있으며, 정지시킬 경우 일부 블록의 데이터가 날라갈 수 있습니다. 또한 5년이상을 버티는 디스크는 그다지 많지 않습니다. 서버라인에서 쓰이는 디스크도 5년을 버티면 용하다고 할수있겠죠. 통상적으로 라이프 싸이클은 빠르면 1년 적정을 2년주기로 보고있습니다. 시스템 관리자는 2년이 지나면 무조건 디스크를 새것으로 교체합니다. 문제가 없더라도 해당디스크는 교환을 받거나 폐기처리하는것을 원칙으로 합니다. 서버에 쓰이는 디스크들은 1년을 지나면 리스크 요소가 90%이상 증가하므로 언제 망가져도 이상하지 않다는것이 정론입니다.
5.성능측정
부팅후 HOT-SWAP 기능을 통해 하드를 삽입해 보았습니다. 일부러 했습니다.. 이 제품이 레이드를 지원하지 않는다는 속설이 많아서 그냥 끼워넣어보았습니다. 그러나 핫스왑은 정상적으로 동작하며 디바이스를 잘 잡는것을 확인하였습니다. 그리고 바로 간략한 속도 테스트를 진행해보았습니다.
이 줄을 그은것들이 하드를 Hot-Swap으로 인식하는 과정이며, MTRON MSD-SATA30 으로 모델이 인식, 32003MB 의 용량이 확인되었으며 바로 속도테스트를 하자 99.44MB/sec 이 찍혔습니다. 이것은 단순한 읽기 테스트란점을 감안해서 보세요
참고하자면 7200RPM 의 히다치 하드의 읽기 속도는 Timing buffered disk reads: 224 MB in 3.02 seconds = 74.28 MB/sec 5400RPM 시게이트 하드의 읽기 속도는 Timing buffered disk reads: 124 MB in 3.04 seconds = 40.73 MB/sec
Mtron SSD Pro type 의 결과는 다음과 같습니다. Timing buffered disk reads: 420 MB in 3.01 seconds = 139.77 MB/sec 최대 burst로 140MB/s 로 매우 우수한 성능을 나타내고 있습니다.
일단 노트북 기준으로 본다면 일반 노트북 하드의 2배의 성능이 나고 있습니다. 일반적인 사용 환경에서는 Sequantial Read(순차읽기)속도보다는 Random Read (무작위읽기)가 가장 많이 쓰이기 때문에 사실 이 수치는 그다지 의미가 없습니다. 윈도우를 쓰는 사용자도 마찬가지고, 윈도우의 경우 더 심한 Random Read 성능을 장치에 요구하게 됩니다.
안내 : 본 테스트는 64비트 시스템과 64비트 리눅스상에서 이루어져 더 높은 I/O 성능이 나옵니다. 통상적으로 서버급 시스템이 아니더라도 64비트 시스템은 높은 I/O 성능을 제공해주며, 리눅스는 윈도우보다 더 높은 시스템 성능을 제공하고 있습니다. 이 테스트의 결과를 본인의 기준에 받아들인다면(통상적) 윈도우의 손실대비로는 70%정도 보시면됩니다.
또한 특정 테스트 (파일시스템 기준) 에서는 그 차이를 형용할 수 없을 정도의 수차가 발생할 수 있습니다. 이것은 NTFS 와 리눅스의 Ext3/XFS를 통한 성능측정이므로 원천적으로 설계상 높은 성능차이가 있습니다.
1) Bonnie++ 측정 Filesystem (EXT3) 상태에서의 측정치입니다. 이 결과는 CPU 성능에 의해 결과가 변경될 수 있습니다. 버퍼를 사용하지 않는 Direct I/O 를 측정하였습니다.
통상적 시퀀셜 I/O 측의 읽기/쓰기/다시쓰기 테스트입니다. (밑의 그래프 일부에 다시읽기로 나온것은 오타입니다)
fs benchmark 측정 (higher is performance) 높을수록 좋은 성능
그다음은 랜덤탐색을 통한 IOPS 측정입니다. 일반적 하드의 100배 가량의 성능을 나타내고 있습니다.
I/O per seconds seek 측정 (higher is performance) 높을수록 좋은 성능
음 이 높은 IOPS를 보고있자니 몇번 화두가 되었던 휘발성 메모리 (DDR RAM)을 기반으로 한 memory drive 의 성능을 같이 붙여보고 싶어지는군요!
현재 구동중인 DB System Solution 과의 비교그래프를 삽입해보겠습니다. 도전자들의 CPU는 지온쿼드 3.2기가급 이상입니다. 다소 FS상의 성능상 수치차이는 있겠습니다.
fs benchmark 측정 (higher is performance) 높을수록 좋은 성능
보고보니 역시 괴물들은 어쩔수가 없군요 -_-;; SAS Storage 는 현재 서비스 중인녀석이라 성능이 많이 떨어져서 나왔네요. 쓰기는 데이터베이스 서버라 다른 프로세스가 파일을 쓰고있어서 일반 가동보다 더 낮게 나왔습니다. 참고로 저 SAS스토리지의 IOPS가 866정도였습니다. 메모리기반 드라이브는 IOPS가 나오지 않습니다..
참고할점은 bonnie 는 direct i/o 테스트이긴 하지만 file i/o를 사용합니다. mmap이 활성화된 상태의 iozone benchmark 와 유사한 겨로가를 제공하지만, 어쨋든 fs가 물린상태에서 동작하므로 cpu 사용량이 포함됩니다. 또한 fs의 특성에 따라 결과값이 변화하므로 실제 하드웨어 성능과는 다소 상이할 수 있습니다.
2) Mysql Benchmark process
통상적으로 서버급에서 디스크의 이슈라면 Database가 가장 많은 빈도를 차지할것으로 보입니다.
리눅스 부트업과 관련한 이야기
리눅스 클라이언트라고 하더라도 부트업등의 시간은 서비스 제어로 가능하며, Delayed start service등으로 bootup 속도는 매우 빠르게 올릴 수 있습니다.
현재 일반 하드디스크로도 빠른 부트업은 약 1.5초 (커널만로딩) 가량이며, 드라이버가 최적화된 리눅스의 부트업은 1초가 채되지 않습니다.
윈도우와 마찬가지로 Xwindow가 로딩되며 다른서비스를 띄우는 형식을 쓰는경우입니다.
일반적으로 리눅스는 20초정도의 부트업시간이 소요됩니다. (Xwindow가 뜨기전 서비스를 모두 가동시키는경우)
그러나 부팅속도는 이슈사항에 해당하지 않습니다. 개인PC/노트북도 마찬가지로.. 부팅을 할일이 별로 없습니다.
하이버네이션시 재가동 시간은 약 2초 (노트북 하드디스크 기준) 정도로 윈도우보다 많이 빠르므로 이것조차 이슈사항이 되지 않았습니다.
바로 Mysql 의 내장된 Benchmark Suite 를 이용하여 성능을 측정해봅니다. 이 측정은 더블체크로 각자 2회씩 구동후 값을 점검하게됩니다.
1차와 2차 테스트에서 Mtron의 SSD는 오히려 더 나쁜 결과를 제공하였습니다.
1차 insert test insert: Total time: 545 wallclock secs (187.30 usr 20.10 sys + 0.00 cusr 0.00 csys = 207.40 CPU) 2차 insert test insert: Total time: 550 wallclock secs (187.10 usr 19.84 sys + 0.00 cusr 0.00 csys = 206.94 CPU)
결과를 보면 2차는 시스템의 리소스 사용량이 더 줄었음에도 불구하고 wallclock (실제 러닝시간)은 5초가량 더 증가했습니다. 이것은 디스크의 물리적인 성능쪽에 문제가 발생하고 있다는 가능성을 시사하고 있습니다.
이 벤치 이전에 사실 빠진것이 있는데 iozone을 이용한 벤치마크가 있었으며, 이를 통한 성능의 전체적 점검을 하게되었습니다. 설마 이 벤치마크로 인해 SSD의 수명에 문제가 생겼던것일까요?
제2차 구동시에는 오히려 Select타임도 더 늘어나 일반 SATA하드의 속도보다 더 나쁜 결과가 나오게 되었습니다. 이부분은 명백히 문제가 있는 디바이스라고 밖에는 다른설명이 안갑니다만 상세한 Result 를 각자 비교해가며 어느쪽에서 시간이 지체되었는지를 분석해봅니다.
전체 벤치마크 수행시간 (Wallclock Seconds)
일단 위의것은 수행시간으로 "그래프가 낮을 수록 좋은 성능" 을 나타냅니다. 그러나 상기 디스크 성능검사에서도 나왔듯이 전반적인 면에서 높은 점수를 냈던 디스크가 여기서 일반 하드보다 나쁜 점수가 나온다는것은 조금 그렇군요. 이 테스트의 그래프는 Mtron SSD MOBI 로 진행되었습니다. 여러차례의 테스트를 해보았으며, Mtron SSD Pro 타입도 동일한 결과를 출력하였습니다.
그러나 일단 Select (읽기에 속합니다) 는 262초 로 Hitachi가 이겼습니다. 또한 Create(생성) 측과 Alter Table (테이블 변경/재설정) Hitachi의 하드가 더 높은 성능을 보였습니다.
각 세부항의 차이점을 집어보겠습니다.
전반적으로 일부 자료는 삭제했습니다. (동일한 값들과 불필요하게 적은 수치들) 역시 그래프는 낮은것이 높은 성능을 의미합니다. 그런데 잘 보면.. 빨간색이 낮은것들이 꽤있네요 ^^ 이 그래프는 Log적용으로 인해 수차가 크게 차이가 안나보이긴 합니다만.. 대표적으로 delete_big~~ 키들 삭제는 SSD가 압도적으로 빠른것을 확인할 수 있습니다. 일반하드는 70초가 걸린것을 SSD는 23초만에 삭제를 했으니까요. 메모리다보니 액세스타임이 짧아서 나타나는 당연한 현상이라고 할수있지요. 이 차이는 정말 엄청난 차이입니다. 벤치마크에서는 동일 시스템상에서 1초만 차이나도 매우 큰 차이라고 칭합니다. 원천적으로 이 벤치마크는 최적화된 스토릿지와 최적화된 FileSystem을 찾아내기 위해 돌리는 기능입니다. 따라서 돌리면 돌릴수록 더 좋은 결과가 나오는 경향이 있는데 SSD는 이에 반하는 케이스로 보입니다.
이제 주의깊게 보아야할것들은 SSD가 오히려 느린것들 (빨간색이 일반하드입니다). 바로 위에 보시면 Create+Drop (생성과 삭제) 대량 생성, 이런데에서 몇초씩 차이가 나고 있습니다. 3초라는 수치는 실질적으로 매우 큰 수치입니다. 업데이트와 셀렉트 심플캐시, alter table add, select distinct등의 비교점을 보면 SSD는 Internal buffer를 사용하는 디스크 컨트롤러단의 버퍼메모리? 내지는 웨어레이블링 알고리즘(칩)의 속도 문제가 있다고 보입니다. 그리고 Random Write와 Read가 복합적으로 발생하는 경우 컨트롤러의 처리능력이 떨어진다는것이 아닐지를 생각해 볼 수 있습니다.
이 이야기는 실제로 서비스를 올렸을때, 과연 SSD가 하드디스크보다 빠른가? 정도까지 대두될 수 있는 문제가 됩니다. SAS 디스크들은 멀티Write,Read를 처리하기 위해 버퍼를 두고 또 특화된 NCQ등을 지원하고 있습니다. 이러한 디스크의 성능은 일반 HDD보다 높은 처리성능을 보이고 있습니다.
결국 가장 많은 이슈가 터지는것과 I/O단의 병목의 원인이 되는것이 Random W/R, Multiple W/R 이되겠지요. 그렇다면 최저가의 하드보다 일부 성능이 느린점이 존재하는 Mtron SSD는 복합적 환경에서 얼마나 성능을 더 낼 수 있을까요? RAID 등으로 Stripe 된 환경에 과연 Mtron SSD 는 처리속도향상이 가능할까요? 오히려 떨어질까요? 예상하기로는 액세스타임이 같은 상황에서는 더 많은 처리로 인해 일부 성능은 하락할 수 있다고 보입니다.
통상적으로 SSD Raid 는 SSD 에 특화된 writeback의 grouping 를 단순화한채 Direct io를 발생하는 형식으로 저장되는것을 특징으로 하는것으로 알고있다. 의미가 없는 행동이기 때문이다. 러프하고 가장 빠른 로직이 SSD에 맞는다. (나중에 기회가 된다면 새로운 시스템 구축에 Experimental 하지만 SSD Raid의 도입을 기안으로, BMT 요청을 해볼까도 생각하고 있습니다.)
엄밀히 말해 Database는 Select 와 Insert, 다른말로 Read와 Write 를 보았을때 통상적으로 Read가 80%/ Write가 20%정도의 비율을 가지게 됩니다. 그러나 벌써 Read의 부분에 있어 일반 하드보다 3초라는 시간이 쳐지는 현상이 발생했다면 Raid 로 묶어서 더 손실이 나지는 않을까요? 분명 Sequantial Test에서는 100MB/s 가 나왔던 디스크입니다. (Burst / Buffered된 상태에서 140MB/s의 속도까지 확인)
3) Awstats Log Analyzer Awstats를 통한 로그 분석에 걸리는 시간을 실측해 보았습니다. Awstats는 웹사이트등의 접속 로그를 분석하는 프로그램으로써 1일치를 구동하는데에도 매우 느린 작업중에 하나 입니다.
이 테스트는 CPU에 영향을 많이 받습니다. (최고압축률이므로) 그러나 동일한 스펙상에서는 CPU 보다 디스크의 영향을 받으므로 테스트에 추가하였습니다. 아래는 실제 러닝타입과 user측 러닝타임과 시스템의 시간입니다. 5m16s 은 5분16초를 의미합니다. 물론 시간이 빠를수록 높은 성능을 의미합니다.
Hitachi 7K160 real 5m16.981s / user 4m56.596s / sys 0m15.479s
2 - Awstats 속도측정 로그크기 : 1.8G 측정방식 : time + exec
Mtron SSD PRO 7000 real 20m9.590s / user 27m0.506s / sys 0m8.459s Hitachi 7K160 real 20m5.695s / user 26m57.781s / sys 0m8.426s
일반 디스크가 다소 더 높은 성능을 내었습니다. 이제 이쯤되면 FS를 이 특성에 맞도록 변경해야 하는것이 아닌가? 에 대해 궁금증이 생겼습니다. 이전 EXT3 fs 의 저널링 튜닝에 대한 글을 쓴적이 있지요. 이와 마찬가지로 여러가지 Filesystem 을 통해 이녀석이 최적화 할 수 있는 형식이 있는가를 검토해보았습니다. 메타저널링 형식으로는 XFS를 손을 꼽을수 있을듯합니다. 분명 성능향상은 크게 있겠지만 동반되는 리스크의 문제가 있다보니 제외하기로 합니다.
저널링형식에 따른 벤치마킹 (Mtron SSD Pro)
역시 Journal type은 극과극을 보여줍니다. -_- 빠르긴합니다만 대충 저속도가 XFS가 낼수있는 상향선정도로 보입니다. 그러나 double write 로 인해 write 속도가 많이 줄어드네요.
그렇다고 어플리케이션 레벨을 튜닝한다. 지금상태로 보아서는 로그 아키텍쳐를 가지고 데이터를 저장하는 PrimeBase XT등의 부가적 Mysql 저장형태를 이용하는 정도밖에는 그다지 효용도를 모르겠습니다. 로그형태의 기록방식을 이용하면 write 와 rand-write 의 횟수를 줄일수있어 성능향상에는 도움이될듯합니다.
이 테스트를 해보며 스스로도 의아했습니다. 액세스타임이 높고, 4k iops 도 높은데 도대체 뭐가 문제로 일반하드보다 느린것인가? 에 대해 엄청나게 생각했습니다. 또 테스트방식이 잘못된것인가가 아닌가도 여러번 검증해보았습니다. 그러나 Read기반의 complicated write가 발생하는 Action에서는 이상하게도 속도가 일반디스크 수준으로 떨어졌습니다.
iozone 과 xdd등의 여러가지 벤치툴을 돌려보았는데 역시 벤치와 실제 어플리케이션뷰의 차이가 이렇게 큰지는 생각하기가 힘듭니다. 그 결과를 올리고 싶긴하지만, 그래프를 떡 올려놓고서는 설명할 자신이 없습니다 -_-;; 너무 복잡합니다..
6.SSD의 장점과 평가
SSD 는 분명 종래의 저장매체와는 전혀 다른 기록구조를 가지고 태어났습니다. SSD의 장점에 앞서 종래 디스크의 단점들이 어떻게 보안되었는가로 1차적 가치평가를 해볼까 합니다.
자기디스크들의 단점 등급별 5 - 모터구동형으로 충격 및 진동에 민감 4 - 과도한 이용시 직접적인 수명이 크게 단축 (MTBF의 20%도 채 사용못함) 3 - 모터구동형이므로 높은 전력을 소비함
5등급부터 하나씩 풀어보자면 5 - 모터구동형으로 충격 및 진동에 민감 모터구동형 디스크는 충격 및 진동에 민감합니다. 특히 구동중인 디스크에 대하여 특정수치 이상의 가속도G(일명 횡G)가 발생할 경우 (디스크면에 대하여) 정말 간단하게도 불량섹터가 발생하거나 스크래치로 인해 디스크가 너무 쉽게 파괴되는 경향이 있습니다.
이것이 현시대의 노트북들의 단점이었지요. 들고다니며 이동하면서 쓸수는 없는 노트북. 모빌리티를 추구하는 노트북이면서도 이를 극복하지 못해 한자리에 놓고 쓰는것을 권장하였죠. 노트북에 MP3를 가동시켜놓고 매일매일 조깅을 하러 나간다면 그 노트북은 몇달이 채 되기도 전에 디스크가 손상을 입게될것입니다.
이러한 치명적 문제에 대한 대안으로 노트북용 디스크들의 운용G를 늘리는 연구들이 계속됨과 동시에 노트북 제조사들은 (후지쯔등) Anti G-Shock 프로그램을 내장하여 내장 수평계의 움직임에 반응하여 스핀들을 잠구는 안전장치들을 탑재하고 있습니다.
이부분은 지속적이면서도 일시적으로 수명에 큰 영향을 미칩니다. 간단히 구동중인 디스크를 야구선수가 배트를 휘두르듯이 휘두른다면 디스크는 즉시 손상을 입을 확률이 40%이상입니다.
SSD 는 20G의 운용환경이 보장되므로 전투기등의 높은 G에도 견딜 수 있는 구동성능이 발생하여 우주산업이나 전투기, 기타 가혹한 환경에서의 운용이 보장된다고 할 수 있습니다.
4 - 과도한 이용시 직접적인 수명이 크게 단축 (MTBF의 20%도 채 사용못함) 실제로 액세스가 심각하게 발생하는 서버의 경우 디스크의 수명은 평균 8개월가량입니다. 웹서버군들은 평균 5년정도를 버티기도 합니다만. 파일서버들의 디스크 권장 수명은 6~8개월 가량으로 매우 짧은 편입니다.
SSD는 어떨까요? SSD는 스핀들, 자기장, 모터방식의 구조가 아니므로 소모되는 성능이라는 부분은 없습니다. 단지, 쓰기부분에 횟수가 정해져있으며 이것을 어떤 알고리즘으로 분산하는가가 수명과 직결되는 부분입니다. 그러나 SSD는 계산상 동일 상황에서는 3년은 갈것으로 보입니다. 이부분이 TCO 로 직결되는게 아닐까 싶군요.
추가로 일반 자기 디스크는 구동온도를 넘어서는 경우 (평균 55도이상) 쉽게 파손됩니다. 각 디스크별로 운영온도가 정해져있으나, 일반 PC에서 가장 크게 파손/고장나는 경우가 헤드의 과열도 원인중에 하나입니다. 하드디스크는 쿨러가 필요없다 라고 생각하지만, 서버의 경우 좋은 샤시는 디스크의 열을 잘 배출하는것을 스토리지 샤시의 기준으로 삼기까지 합니다. 디스크의 열을 빨아들이지 못하면 상층으로 겹겹이 쌓인 디스크들이 점점 위로갈수록 과열이되 디스크가 오동작하거나 고장이 나는 경우가 많습니다. 이를 위해 3U사이즈의 대형팬들이 굉음을 내며 뒤에서 공기를 흡입하고 있지요.
SSD는 이점에서 장점인면이 있습니다.
3 - 모터구동형이므로 높은 전력을 소비함 최근출시된 SAS 디스크는 1개당 40W가량의 전력을 사용하게 됩니다. 이런것을 16개를 꽃고 서버에서 돌리자면 바로 파워의 문제에 직면하게 됩니다. 벌써 이것만해도 640W의 전력이 소비됩니다. FBDimm 메모리 여러장과 CPU들이 잡아먹는 전력또한 600W는 홀딱 넘어갑니다. 서버용 파워.. 비쌉니다.. 요 밑에 게시물을 보시면 아시겠지만. 최근 제작한 SAS 16채널의 스토리지 서버는 1차 조립후 파워용량 부족으로 인하여 서버용 파워를 제조사로부터 새로 주문제작을 하여 약 1개월 반의 시간이 걸렸습니다. 가격도 상당합니다. 이부분이 SSD로 대체되었다면 32W로 해결되는 부분입니다.
기타 자잘한 단점들은 제외시켰습니다.
그렇다면 SSD의 장점들이 크게 몇가지가 나왔네요.
1. 최대 20G 의 중력에서도 사용이 가능하다 - 가장 효율적인 이용은 전투기나 충격에 민감한 노트북등입니다. 추가적으로 Wearable PC 등에 있어 이 저장매체는 큰 진보를 이루게 되는 하나의 방법이 되리라 보입니다.
2. 더 길어진 수명 - 궁극적으로 소모적인 모터와 자기부품들에서 메모리 기반 부품으로 넘어감으로 인해 수명이 더 연장되었습니다.
3. 저전력 - 서버라인과 일반 노트북 사용자들에게 본다면 더욱 더 적은 전력을 사용하므로 에너지 절약에 일조하는군요! 그러나 시게이트의 노트북용 디스크와 비교해보았을때 전략소비량은 큰 차이가 나지 않았던점이, 시게이트가 디스크를 잘만들은것인지 MTRON이 디스크를 잘못만든것인지 고민하게 되는 부분인것 같습니다.
전반적인 필수요소라면 바로 저장매체의 속도가 될것입니다. 그렇다면 SSD의 전반적 속도 평가는 위의 벤치에도 나왔듯이 일반 디스크보다는 빠르다 가 결론입니다. 그렇다면 SSD는 이미 일반사용자에게도 쉽게 접근이 가능한 매체로 다가왔다는 이야기가 아닐까요?
7. 결론
SSD는 일반 디스크보다 어떤 환경에서는 매우 빠르며, 어떤환경에서는 유사한 속도를 보입니다. 일단 기초기반이 메모리이므로 액세스 타임은 종래의 디스크와 비할 수 없을정도로 높습니다.
그러나 이부분을 가장 잘 활용하는 파츠는 아무래도 윈도우의 승리가 아닐까 싶습니다. 리눅스는 구동과 이용 전부 그렇게 빠른 액세스 타임을 요구하지 않습니다. 또한 전체적으로 FS자체가 깔끔하게 정렬되어 있으며 메모리 활용빈도가 아주 좋은 편입니다.
그리고 위의 테스트 결과에서 보다시피, SSD 의 속도에 비해 일반 디스크와의 가격차이는 너무 큽니다. 적용분야와 활용가 틀린곳에서는 (다른말로 속도만이 비교의 이슈가 되는 환경) 가격대비 성능이라는것이 여기에 다시 대두되는 부분인데, 노트북등의 특수환경이 아닌 안정적인 시스템을 구축하는 서버환경에 있어서는 결국 가격대비 성능이 무시못할 가치기준이 될수밖에 없습니다.
서버용 SSD 1개의 가격은 디스크 30개의 가격입니다. 그러나 이만한 성능은 일체 나오지 않습니다. SSD 1개의 가격은 8채널 레이드 컨트롤러에 80기가 디스크 8개를 풀로 구축하는것과 유사한 가격으로, 성능은 이에 미치지 못합니다.
그렇다고 SSD가 이 80기가 12개로 만들어진 스토리지보다 성능이 좋을까요? 아닙니다. 위의 벤치마크 결과상 절반도 안되는 성능을 나타내고 있습니다. 물론 특정한 NFS 환경에 있어서는 SSD 1개가 12개의 스토리지보다 우수할수는 있습니다. (빠른 탐색시간을 요하는 경우) 그렇다면 서버구축용도로써의 구매 가치는 당연히 없는것입니다.
물론 높은 액세스타임을 필요로하는 네트워크 파일서버의 경우 필요에 의해 이것을 쓸수밖에 없는 니즈는 당연히 있습니다. 솔루션도 이미 나와있구요. 그러나 그러한 환경자체를 한국은 피해나가는 위주다보니 어쩔수 없는것 같습니다. 또 아파트 몇채 살수있는 솔루션을 살 이유는 없기 때문입니다.
벤치에도 나왔다시피 순수 메모리 (DRAM) 으로 동작하는 디스크의 성능에는 미치지 못합니다. 그러나 DRAM의 경우 리부팅할때 날라간다는 단점이 있어 이를 보안하기 위한 솔루션으로 gigabyte 에서 나오는 I-Ram등의 솔루션이 있습니다. 그러나 Iram 은 서버쪽 입장에서 봤을때 일반사용자를 다독이는 정도의 실패작일뿐으로 밖에 보이지 않습니다. PCI타입이면서도 버스속도가 제대로 확보되지 않았기때문에 순수 메모리의 압도적인 속도를 낼수가 없기때문입니다. (흔히 PCI-e 로 동작하는 RAID Controller는 이보다 더 빠른 속도를 냅니다.)
Mtron 이 이를 극복할 수 있는 효율적이고 경제적인 레이드 솔루션을 내놓는다면 전세계의 서버시장의 흐름도 바뀔 수 있지 않을까 생각해봅니다.
이 SSD를 서버에서 쓰는것은 결론적으로 보면 시기상조가 아닌가 생각합니다만, 윈도우 환경에서는 지저분하게 많은 파일들과 쓰면 쓸수록 느려지는것에 대한 보안점이 되는 디스크가 아닌가 생각이 듭니다.
일반적으로 리눅스는 Filesystem이 강합니다. 일반디스크에서도 최고의 성능을 낼 수있게 이미 어느정도 이상의 개발이되어있는 상태이므로 윈도우처럼 버벅거리는 액션이 일반디스크로도 거의 없습니다.
발생할만한 Dirty Operating 으로 해봐야 Database, Web-server의 random access 정도밖에 되지 않습니다만 웹서버의 경우 ab등의 테스트로직의 random측 문제가 있어 로지컬한 검증대상이 될수없다는것에 이번 테스트에서는 제외하였습니다.
시간이된다면 어떤 operating 이 디스크보다 더 느리게 동작하는지를 짚어보고 싶었지만;; 요즘 일이 많아서 힘들것 같네요
SSD는 윈도우에 있어 솔루션이 될것같지만 전반적인 서버쪽 시장에서는 현시점에서는 큰메리트가 없을수 있다 라는 정도가 결론이 아닐까 생각해봅니다.