우리 회사는 어떤 유형의 SAN을 구입할 것인지 파악하려고합니다. 이것은 특히 IO가 제한되는 데이터베이스 서버를위한 것입니다 (현재 스토리지는 DAS이지만 단일 서버의 한계에 도달했으며 클러스터링도 추가하려고합니다).
우리는 약 3000 IOPS를 장기적으로 생산할 수있는 솔루션이 필요합니다 (현재는 약 1000 IOPS입니다). 데이터베이스 작업의 대부분은 작은 읽기 / 쓰기입니다. RAID 10 구성에서 24 개의 SAS HD를 갖춘 HP P2000은 HP 엔지니어 및 다른 온라인 사용자와의 토론을 기반으로 ~ 20K에 그 속도보다 짧은 속도를 제공합니다. SAN을 구축하기 위해 컨트롤러 및 기타 항목을 추가하면 최대 예산 $ 30K를 얻을 수 있습니다.
그러나 온라인에서 많은 SAS SSD가 80,000 IOPS +의 속도를 제공한다는 것을 알았습니다. 이것이 현실적일까요? 그렇다면 P2000 또는 유사한 엔트리 레벨 SAN을 확보하고 거기에 몇 개의 SSD를 넣는 것이 현실적입니까? 우리의 데이터베이스는 작고 총 2TB에 불과합니다. 이렇게하면 미러링 / 페일 오버를위한 두 번째 SAN을 구매할 돈이 남게됩니다.
답변
당신이 이루고자하는 구체적인 내용에 대해 말씀 드릴 수 있습니다. 솔직히, 나는 당신의 목적을 위해 엔트리 레벨 HP P2000 / MSA2000을 고려하지 않을 것입니다.
이러한 장치에는 많은 제한 사항이 있으며 SAN 기능 세트 관점에서 디스크 상자에 지나지 않습니다. 계층화, 지능형 캐싱, 가상 디스크 그룹 의 최대 16 개의 디스크 , 낮은 IOPS 기능, 낮은 SSD 지원 (특히 선택한 장치에서).
당신은 최대 단계로해야 HP MSA2040 어떤 성능이 향상 또는 볼 공식적인 지원 의 SSD로합니다. 게다가, 당신은 정말로 iSCSI를 사용하고 싶습니까?
로컬 스토리지를 허용 할 수있는 경우 DAS가 최선의 선택 일 수 있습니다. PCIe 플래시 스토리지는 예산에 맞게 제공되지만 용량을 신중하게 계획해야합니다.
실제 서버의 사양을 자세히 설명 할 수 있습니까? 제조사 / 모델 등
클러스터링이 필수 인 경우 다른 옵션은 HP MSA2040 장치를 수행하는 것이지만 iSCSI 대신 SAS 장치를 사용하는 것입니다. 다른 모델보다 비용이 적게 들고 4-8 개의 서버를 연결할 수 있으며 대기 시간이 짧고 처리량이 높으며 SSD를 계속 지원할 수 있습니다. 파이버 또는 iSCSI 모델을 사용하더라도이 장치는 연결 한 것보다 더 많은 유연성을 제공합니다.
답변
디스크 IO에 사용하는 경험 법칙은 다음과 같습니다.
-
SATA의 경우 스핀들 당 75 개의 IOP.
-
FC / SAS의 스핀들 당 150 개의 IOP
-
SSD의 스핀들 당 1500 IOP
어레이 당 IOP뿐만 아니라 테라 바이트 당 IOP도 고려합니다. SATA + RAID6을 수행하는 경우 TB 당 IOP가 매우 나쁜 경우는 드 un니다. 소리가 너무 많이 들리지는 않지만 배열에서 ‘여유 공간’을 발견 한 사람이 종종 사용하게됩니다. 대부분의 엔터프라이즈 시스템에서 실제로 반대되는 경우 사람들이 깃을 구매하고 iops를 무시하는 것이 일반적입니다.
그런 다음 RAID에 대한 쓰기 비용을 추가하십시오.
- RAID1, RAID1 + 0의 경우 2
- RAID5의 경우 4 (또는 4)
- RAID6의 경우 6입니다.
쓰기 패널티는 좋은 큰 쓰기 캐시와 올바른 환경에서 부분적으로 완화 될 수 있습니다. DB 로그와 같은 순차 쓰기 IO가 많은 경우 RAID 5 및 6의 쓰기 페널티를 상당히 크게 줄일 수 있습니다. 전체 스트라이프 (예 : 스핀들 당 하나의 블록)를 작성할 수있는 경우 패리티를 계산하기 위해 읽을 필요가 없습니다.
8 + 2 RAID 6 세트를 가정하십시오. 단일 쓰기 IO의 정상 작동에서 다음을 수행해야합니다.
- ‘업데이트 된’블록을 읽으십시오.
- 첫 번째 패리티 블록 읽기
- 두 번째 패리티 블록 읽기
- 패리티를 다시 계산하십시오.
- 모든 3 (6 IO)을 씁니다.
캐시 된 전체 스트라이프 쓰기 (예 : RAID 스트라이프 크기의 연속 8 개의 ‘청크’)를 사용하면 읽기없이 전체 로트에서 패리티를 계산할 수 있습니다. 따라서 10 개의 쓰기 (각 데이터에 하나씩, 두 개의 패리티) 만 필요합니다.
이렇게하면 쓰기 패널티가 1.2가됩니다.
또한 쓰기 IO는 캐시하기 쉽다는 점을 명심해야합니다. 즉각 디스크에 가져올 필요가 없습니다. 수신 시간이 평균적으로 스핀들 속도를 초과하지 않는 한 ‘캐시 속도’로 실행할 수있는 소프트 타임 제약 조건에서 작동합니다.
반면에 읽기 IO는 어려운 시간 제약이 있습니다. 데이터를 가져올 때까지 읽기를 완료 할 수 없습니다. 그 시점에서 읽기 캐싱 및 캐시 로딩 알고리즘이 중요해집니다. 예측 가능한 읽기 패턴 (예 : 백업에서 얻을 수있는 순차적)은 예측 및 프리 페치 될 수 있지만 임의의 읽기 패턴으로는 불가능합니다.
데이터베이스의 경우 일반적으로 다음을 가정합니다.
-
대부분의 ‘데이터베이스’IO는 임의 읽기입니다. (예 : 임의 접근에 좋지 않음). 오버 헤드를 감당할 수 있으면 RAID1 + 0이 좋습니다. 미러 디스크는 두 가지 읽기 소스를 제공하기 때문입니다.
-
‘log’IO의 대부분은 순차적 쓰기입니다. (예 : 캐싱에 적합하며 많은 DBA가 제안하는 것과는 달리 RAID10 대신 RAID50을 사용하려고합니다).
이 둘의 비율은 말하기 어렵다. DB의 기능에 따라 다릅니다.
임의 읽기 IO는 캐싱의 최악의 경우이므로 SSD가 실제로 자체적으로 제공되는 곳입니다. 어쨌든 거의 동일한 속도이기 때문에 많은 제조업체가 SSD 캐싱을 신경 쓰지 않습니다. 따라서 특히 임시 데이터베이스 및 인덱스와 같은 경우 SSD는 우수한 투자 수익을 제공합니다.
답변
당신의 분석은 매우 정확합니다.
많은 GB에는 몇 개의 HDD를 사용하고 몇 개의 IOps에는 많은 HDD를 사용하십시오.
많은 IOP에는 몇 개의 SSD를 사용하고 몇 GB에는 많은 SSD를 사용하십시오.
어느 것이 더 중요합니까? GB 당 가격이 훨씬 높기 때문에 공간은 SSD 솔루션의 큰 원동력입니다. 200GB 데이터베이스에 4K IOP가 필요한 경우 SSD 한 쌍을 사용하면됩니다. 또는 15K 드라이브의 24 개 디스크 어레이로 인해 대량 스토리지를위한 공간이 많이 남아 있습니다.
실제로 SSD에서 얻을 수있는 IO 수는 스토리지 인프라에 따라 달라 지지만 (백색이 정교 해짐에 따라) 이러한 종류의 속도를 얻는 것이 합리적입니다. 특히 패리티가 계산되지 않는 Raid10의 경우.
답변
최근에 Dell C2100 섀시를 사용하여 12TB 2200 7200rpm Western Digital “SE”엔터프라이즈 SATA 드라이브와 함께 FreeBSD 10.1을 실행하는 고용주 용 스토리지 서버 쌍을 구축했습니다. 드라이브는 2 개의 6 드라이브 RAIDZ-2 가상 장치 (vdev)로 구성된 단일 ZFS 풀에 있습니다. 풀에 연결된 인텔 DC S3500 SSD는 전원 손실로부터 슈퍼 캡을 방지하며 SLOG 및 L2ARC로 사용됩니다. iSCSI를 통해이 서버를로드 테스트 한 결과 7500-8200 IOPS를 기록 할 수있었습니다. 하드 드라이브를 포함한 총 비용은 서버 당 약 2700 달러였습니다.
이러한 BSD 기반 시스템이 실행되는 동안 HP MSA2012i SAN 장치 중 하나에 두 개의 컨트롤러 오류가 발생했으며 다른 MSA2012i 장치가 복구하는 데 12 시간의 다운 타임이 필요한 큰 NTFS 볼륨이 손상되었습니다.
Dell과 HP는 10 %의 하드웨어와 90 %의 지원 약속을 제공하여 결코 사용할 수 없게됩니다.