개발자 및 다른 사용자에게 스토리지 문제를 설명하는 가장 좋은 방법은 무엇입니까


40

서버 저장 공간이 부족 해지면 개발자가 모두 신음하기 시작합니다. "월마트에서 1TB 드라이브를 100 달러에 구입할 수 있습니다. 문제는 무엇입니까?"

Walmart의 1TB 드라이브가 작동하지 않는 이유를 이해할 수 있도록 개발자에게 스토리지의 복잡성을 어떻게 설명 할 수 있습니까?

추신 : 나는 개발자이고 알고 싶어 :)


5
또는 "Amazon S3에서 기가 바이트 당 $ 0.15의 스토리지를 얻을 수 있습니다. 무슨 문제입니까?"
Chris Upchurch

@Chris Upchurch : 그러나 문제는 Amazon S3, Google App Engine 또는 ... Gosh를 선택할지 여부에 대한 보고서를 작성해야 할 수도 있다는 것입니다. ;)
dance2die

6
나는 당신에게 그것을 돌릴 수 있습니다. 저의 업무는 수익을 창출하고 있으며, 업무를 효과적으로 수행하기 위해 약간의 스토리지가 더 필요합니다. 탄탄한 투자이므로 더 많은 스토리지를 구입할 수없는 이유는 무엇입니까?

1
@Chris : 물론 그것은 항상 당면한 상황에 달려 있지만, 기본 스토리지에 Amazon S3를 사용하는 것이 비용 효율적이 아니라는 (비용이 많이 드는) 경험을 통해 알았습니다. S3는 트래픽 피크를 처리하는 데 훨씬 잘 사용되므로 최악의 시나리오를 처리 할 수있는 시스템에 투자 할 필요가 없습니다. 그러나 일상적인 작업에 사용하기 시작하면 훨씬 나아질 수 있습니다. 지불 자본 비용 ...
미하이 Limbăşan

답변:


53

스토리지에 대한 몇 가지 진실, 또는 엔터프라이즈 스토리지가 왜 그렇게 비싸습니까?

소비자 하드 드라이브는 대용량의 공간을 제공하므로 기침 * 스트리밍 미디어 * 기침 *의 가장 안목있는 사용자조차도 몇 테라 바이트의 모음을 저장하기에 충분히 구입할 수 있습니다. 실제로, 디스크 용량은 현재 수십 년 동안 실리콘의 트랜지스터 수보다 빠르게 증가하고 있습니다.

'엔터프라이즈'스토리지는 데이터에 성능과 무결성 요구 사항이 있기 때문에 다소 복잡한 문제가 발생하기 때문에 다소 복잡한 문제입니다. 데이터는 하드웨어 장애 발생시 가용성을 보장해야하며 많은 수의 사용자와 공유해야 할 수 있으며 이는 단일 사용자보다 더 많은 읽기 / 쓰기 요청을 생성합니다.

이 문제에 대한 기술 솔루션은 소비자 스토리지 솔루션보다 기가 바이트 당 여러 배나 더 비쌉니다. 또한 물리적 유지 보수가 필요합니다. 화재로 인해 데이터가 손상되지 않도록 백업을 수행하고 종종 외부에 저장해야합니다. 이 프로세스는 지속적인 비용을 추가합니다.

공연

1TB 소비자 또는 기업용 니어 라인 드라이브에는 단 하나의 헤드 만 있습니다. 디스크는 7200RPM 또는 초당 120 회전으로 회전합니다. 이는 이론상으로 초당 최대 120 개의 랜덤 액세스 I / O 작업을 얻을 수 있으며 실제로는 다소 적게 수행 할 수 있음을 의미합니다. 따라서 단일 1TB 볼륨에서 큰 파일을 복사하는 것이 상대적으로 느립니다.

14x 72GB 디스크가있는 디스크 어레이에는 15,000RPM 또는 초당 약 250 회 회전하는 디스크에 14 개의 헤드가 있습니다. 이는 초당 최대 3,500 개의 임의 I / O 작업을 이론적으로 제공합니다 (실제로는 다소 적음). 파일 복사와 같은 다른 모든 것들은 여러 배 더 빠를 것입니다.

*읽기의 구조로 인해 드라이브가 헤드를 이동하고 디스크의 한 회전 내에서 사용 가능한 섹터를 읽을 수있는 경우 디스크 회 전당 하나 이상의 임의 액세스를 얻을 수 있습니다. 디스크 액세스가 널리 분산 된 경우 평균이 1보다 작을 수 있습니다. 스트라이프 (아래 참조) 레이아웃으로 포맷 된 디스크 어레이의 경우 대부분의 상황에서 디스크의 회 전당 최대 하나의 스트라이프 읽기를 얻을 수 있으며 (RAID 컨트롤러에 따라) 평균적으로 1보다 작을 수 있습니다.

7200 RPM 1TB 드라이브는 순차적 I / O에서 상당히 빠를 것입니다. 스트라이프 구성표 (RAID-0, RAID-5, RAID-10 등)로 포맷 된 디스크 어레이는 일반적으로 디스크 회 전당 최대 하나의 스트라이프를 읽을 수 있습니다. 64K 스트라이프를 사용하면 15,000RPM 디스크에서 초당 64Kx250 = 16MB 정도의 데이터를 읽을 수 있습니다. 이것은 14 개의 디스크 어레이에서 초당 약 220MB의 순차 처리량을 제공하며, 이는 150MB / sec보다 종이에서 그리 빠르지 않으므로 최신 1TB SATA 디스크에 대해 인용됩니다.

비디오 스트리밍 (예 :)의 경우, 스트라이프 크기가 ​​큰 RAID-0에 4 개의 SATA 디스크 배열이 있습니다 (일부 RAID 컨트롤러는 최대 1MB의 스트라이프 크기를 지원할 것임). 이 예제는 이론적으로 약 480MB / 초의 스트리밍이 가능하며, 이는 실시간 비 압축 HD 비디오 편집을 수행하기에 충분합니다. 따라서 Mac Pro 및 유사 하드웨어의 소유자는 몇 년 전에 직접 연결 파이버 어레이가있는 시스템이 필요한 HD 비디오 합성 작업을 수행 할 수 있습니다.

디스크 어레이의 실제 이점은 많은 수의 작은 분산 I / O 요청이 특징 인 데이터베이스 작업에 있습니다. 이러한 유형의 워크로드 성능은 디스크에서 빙글 빙글 이동하는 금속 비트의 물리적 대기 시간으로 인해 제한됩니다. 이 메트릭을 IOPS (초당 I / O 작업)라고합니다. 용량에 관계없이 물리적 디스크가 많을수록 이론적으로 더 많은 IOPS가 가능합니다. 더 많은 IOPS는 초당 더 많은 트랜잭션을 의미합니다.

데이터 무결성

또한 대부분의 RAID 구성은 데이터 중복성을 제공합니다. 정의에 따라 둘 이상의 물리적 디스크가 필요합니다. 스토리지 구성표와 이러한 중복성 및 더 많은 수의 드라이브를 결합하면 시스템에 대규모 트랜잭션 워크로드를 안정적으로 제공 할 수 있습니다.

디스크 어레이 (및보다 극단적 인 경우 SAN)의 인프라는 정확히 대량 시장 품목이 아닙니다. 또한 실제로 실패 할 수없는 비트 중 하나입니다 . 구축 표준과 소규모 시장 규모의 이러한 조합은 저렴하지 않습니다.

백업을 포함한 총 스토리지 비용

실제로 1TB의 데이터를 유지하는 데 가장 많은 비용이 백업 및 복구가 될 수 있습니다. 전체 할아버지 백업 및 복구주기를위한 테이프 드라이브와 34 세트의 SDLT 또는 ultrium 테이프는 아마도 1TB 디스크 어레이보다 비쌉니다. 오프 사이트 스토리지 비용과 단일 테이프 원숭이의 월급을 추가하면 갑자기 1TB의 데이터가 그리 저렴하지 않습니다.

디스크 비용은 종종 주요 스토리지 비용의 계층 구조를 낮추는 공정한 방법입니다. 한 은행에서 SAN 스토리지 작업 시간은 개발 시스템의 경우 £ 900 / GB, 프로덕션 서버의 디스크의 경우 £ 5,000 / GB였습니다. 엔터프라이즈 공급 업체 가격에서도 디스크의 물리적 비용은 그 일부에 불과합니다. 내가 아는 또 다른 예는 (상대적으로) 적당히 구성된 IBM Shark SAN을 사용하여 백만 파운드가 넘는 비용이 듭니다. 여기에있는 실제 스토리지는 1GB 소비자 HDD에 해당하는 공간으로 약 £ 9 / 기가 바이트 또는 약 £ 9,000로 청구됩니다.


40

"그렇습니다. 시간당 $ 5에 Java 프로그래머를 해외로 구할 수 있습니다."


8
지금은 좋다!
John Dyer

3
이것은 재치있는 말이지 만 실제로 질문에 대한 답변이 아니기 때문에 찬성 할 수 없습니다.
dance2die

1
@ dance2die 나는 그것이 질문에 아주 명확하게 대답한다고 생각합니다.
Joe Phillips

11
나는 그것이 올바른 반응이라고 생각합니다. 요점은, 우리는 각자 고유의 전문 분야를 가지고 있으며 팀원들은 서로를 신뢰해야한다는 것입니다. 이런 식으로 개발자에게 질문을 뒤집 으면 서로를 추측하는 것이 무의미하다는 것을 깨닫는 데 도움이됩니다.
Portman

2
또 다른 유효한 반응은 Geek Squad의 직원이 아마도 어떻게해야하는지 알아 내고 더 저렴하게 할 수 있고 더 좋은 태도를 취할 수 있다는 것입니다. 진지하게, 이것이 왜이 질문에 대한 최고 투표 답변입니까? 나는 그것을 읽는 동안 멋지게 움직였다. 그러나 이것이 사이트 멤버들이 순진한 질문에 어떻게 반응 할 것인지에 대해서는 Google과 Experts Exchange를 고수 할 것이다.
dfjacobs

14

월마트 드라이브에 대해 몇 가지 질문을 해보십시오.

  • 평균 고장 시간은 얼마입니까?
  • 격변 적으로 실패하면 어떻게됩니까?
  • 얼마나 자주 백업됩니까?
  • 12 개월의 백업에 필요한 스토리지 용량은 얼마입니까?
  • 사이트에서 어떻게 백업 할 수 있습니까?
  • 어떻게 복원 할 수 있습니까? (전체? 단일 파일? 몇 개의 디렉토리?)
  • 백업 저장 비용은 얼마입니까?
  • 백업을 안전하게 유지하려면 어떻게해야합니까? 안전한?
  • 중요한 데이터 손실에 대해 어떤 보험에 가입해야합니까?

... 잘 관리 된 데이터 센터에서 RAID 5 어레이의 일부로 실행중인 드라이브와 이러한 답변을 비교하십시오.

(공개 : 저는 개발자이기도합니다. 그냥 추측하고 있습니다!)


1
질문의 "이유"에 대한 포괄적이고 종합적인 접근 방식을 위해 +1.
에이버리 페인

4

차별화 된 스토리지를 고려해야 할 수도 있습니다.

개발자는 더 많은 공간이 필요할지 모르지만 아마도 "엔터프라이즈 클래스"드라이브 공간이 아닐 수도 있습니다. 어쩌면 그는 .vhd와 ISO를 저장하는 장소가 필요할 수도 있습니다.이 경우 ISO에서 디스크 충돌의 경우 MSDN에서 다시 다운로드 할 수 있습니다. 테스트 실행에는 테스트 실행 기간 동안 필요한 임시 공간이 많이 필요할 수 있습니다. 이 모든 것들에 대해 $ 50 Wallmart 드라이브는 유효한 솔루션이 될 수 있습니다.


3

스토리지에 대해 사람들이 알아야 할 가장 중요한 것은 용량과 IOPS간에 큰 차이가 있다는 것입니다. 내구성과 같은 것들은 대개 무가치하며 거의 항상 IOPS와 용량에 이릅니다.


4
IOPS : 초당 입 / 출력 작업
Sam Hasler

2

어떤 종류의 서버를 요구 하느냐에 달려 있습니다. 기본 개발 또는 테스트 서버의 경우 Wallmart의 1TB 드라이브로 충분할 것입니다. 선반 구성 요소를 사용하지 않는 고급 서버를 다루는 경우 경주 용 차량을 만들 것인지 물어보고 자동차 부품 상점에서 타이어를 구입하여 몇 달러를 절약하십시오.


1
그래도 관리자에게는이 기술을 사용하지 않는 것이 좋습니다. 대답은 "예"일 수 있습니다.
Jason Baker

1

내가 설명하는 방법은 이것입니다. 상사가 구매에서 사인 오프 할 경우. 나는 월마트 드라이브에 표시를 할 것입니다 ..

"Sys Ad는 이것을 그의 의지와 내장에 대항하도록 지시 받았다." 그리고 드라이브가 죽으면 드라이브를 건네고 개발자에게 메모하고 이번에는 어떻게해야하는지 물어볼 것입니다.

Portman에 동의합니다 ... 팀을 신뢰하거나 떠나십시오.


0

간단한 한 줄 답변 : 1TB 드라이브는 일반적으로 SATA이지만 서버는 SCSI입니다. (서버가 SCSI가 아니더라도 지금은 문의 라인을 중지시킬 수 있습니다.)

300GB SCSI 드라이브는 일반적으로 가격의 4 배이며, 기존 데이터를 백업하고, 가동 중지 시간을 구성하고, 설치를 수행하거나, 문제가 발생하거나, 초과 근무 등을 수행 할 수 있습니다. 전체적으로 간단한 스토리지 업그레이드로 인해 일종의 고통-개발자가 직접 책임을지지 않습니다. 현재의 요구를 충족시키는 상용 드라이브를 구입할 수 있다고 말하는 것은 절망적으로 단순합니다.

그러나 서버를 구입할 때 더 큰 드라이브를 설치해야한다는 사실을 알고 있으며 지금 당장 쫓아 가고 있습니다! 그러나 서버를 설치하고 선결제 비용을 추가했을 경우 추가 승인을 받아야 할 수도 있습니다 ... sysadmin의 고통의 세계에 오신 것을 환영합니다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.