수백 개의 VM 웹 서버를위한 SAN 기술 선택


15

문제

기존 플랫폼의 성능에 문제가 있으므로 이에 대해 두 번째 의견을 제시하고자합니다. 지금까지 성능 문제는 처리량이 아니라 IOPS와 관련이 있습니다.

시나리오

각각 64GB의 RAM이있는 16 개의 호스트로 구성된 블레이드 센터. (M610s가 장착 된 Dell M1000e이지만 관련이 없을 수도 있음) 500 대의 VM, 모든 웹 서버 (또는 MySQL,로드 밸런서 등의 관련 웹 기술)는 약 90 %가 Linux 및 나머지 Windows입니다. 하이퍼 바이저는 VMWare vSphere입니다. 호스트 HA를 제공해야하므로 로컬 스토리지가 부족합니다. 따라서 호스트에는 부팅 할 SD 카드 만 있습니다.

약간의 배경 사고

현재 최대 6 개의 호스트가 있으며 (현재 성장에 따라 블레이드 센터의 용량은 몇 년 내에 전체 용량으로 유지됨) 확장을 위해 Dell MD3220i w / MD1220에 iSCSI를 실행하고 있습니다.

우리가 고려한 가능한 옵션과 함께 즉각적인 생각 :

  • NFS 데이터 저장소에 VM을 확산시키고 지정된 수의 VM에 대한 성능 요구 사항을 충족하는 NFS 저장소를 실행합니다. NFS는 확장이 저렴할뿐만 아니라 블록 수준 스토리지보다 조금 더 추상화되어 필요에 따라 이동할 수 있습니다.
  • 더 많은 MD3220i 컨트롤러 / 대상 추가 VMWare가 많은 대상을 처리하는 방식에이 방법을 사용하면 부정적인 영향을 줄 수 있습니다.
  • Nearline SAS에서 SSD로 모든 디스크 교환. 이는 IOPS 문제를 완전히 해결해야하지만 스토리지 용량을 삭감하는 명백한 부작용이 있습니다. 또한 여전히 매우 비쌉니다.
  • vSphere 5에는 스토리지 어플라이언스가 있습니다. 우리는 이것을 많이 연구하지는 않았지만 잘 작동해야합니까?

질문

이 모든 것 아래에서 어떤 종류의 스토리지를 실행 하시겠습니까? 다른 블레이드 센터로 확장 할 필요가 없으며 모든 VM에 대해 비교적 우수한 성능을 제공하기 만하면됩니다.

"SAN x가 최고이기 때문에 구입"답변을 찾고 있지 않습니다. 다양한 SAN 기술 (iSCSI, FC, FCoE, InfiniBand, NFS 등), 다양한 유형의 스토리지 (SATA, SAS, SSD) 및 100 대 VM (스토리지, 분리)에 대한 스토리지 처리 방법론에 대한 생각을 찾고 있습니다. , 샤딩 등).

절대적으로 모든 생각, 링크, 가이드, 포인터 등이 이에 환영합니다. 또한 우리가 이미 고려한 위의 옵션에 대한 생각을 듣고 싶습니다.

모든 의견에 미리 감사드립니다!

'12 년 3 월 5 일 업데이트

지금까지 환상적인 반응을 보여 주셔서 대단히 감사합니다!

지금까지이 질문에 대한 답변을 살펴보면 다음 경로가 방법이라고 생각하기 시작했습니다.

  • 사용 가능한 스토리지를 VMWare 클러스터에 계층화하고 워크로드에 적합한 스토리지에 VM 디스크를 배치하십시오.
  • 적절한 스토리지에 대한 데이터 배치를 자동으로 관리 할 수있는 SAN을 잠재적으로 활용하십시오.
  • Infiniband는 전체 용량으로 호스트에 필요한 대역폭을 확보하는 데 가장 비용 효율적인 것으로 보입니다.

주요 SAN 공급 업체의 사전 판매 서비스를 사용하여 시나리오를 수행 할 가치가있는 것처럼 보입니다.

나는이 문제를 잠시 동안 계속 고려할 것입니다. 그 사이에 더 이상 조언을 부탁드립니다!


또한 Mellanox는 40gbe 스위치 / 닉 거래를 가지고 있으며, $ / 성능 측면에서 인피니 밴드에 매우 가깝습니다. 그 시점에서 나는 40gbe 카드 몇 장을 nexenta로 사용하는 것이 좋습니다.
tony roth

답변:


13

좋은 VMWare 스토리지 플랫폼의 핵심은 VMWare가 어떤 종류의로드를 생성하는지 이해하는 것입니다.

  • 첫째, 많은 서버를 호스팅하기 때문에 작업량은 일반적으로 임의적입니다. 동시에 진행중인 IO 스트림이 많으므로 성공적으로 사전 캐시 할 수있는 스트림이 많지 않습니다.
  • 둘째, 변수입니다. 정상 작업 중에는 70 %의 임의 읽기가 표시 될 수 있지만 VM을 새로운 데이터 스토어 또는 다른 것으로 이동하기로 결정한 순간 60GB의 대규모 쓰기가 표시됩니다. 아키텍처에주의하지 않으면 스토리지의 정상적인 IO 처리 능력이 손상 될 수 있습니다.
  • 셋째, 환경의 작은 부분은 일반적으로 많은 양의 스토리지 워크로드를 생성합니다.

VMWare 플랫폼 용 스토리지 구축에 접근하는 가장 좋은 방법은 기본부터 시작하는 것입니다.

  • 대용량 랜덤 읽기 워크로드를 처리 할 수있는 기능이 필요합니다. 이는 SSD뿐만 아니라 더 작은 드라이브를 의미합니다. 대부분의 최신 스토리지 시스템에서는 액세스 방식에 따라 자동으로 데이터를 이동할 수 있습니다. SSD를 사용하려는 경우 이것이 SSD를 사용하는 방식인지 확인하려고합니다. 핫스팟을 점진적으로 줄이는 방법으로 있어야합니다. SSD 사용 여부에 관계없이 모든 드라이브에서 모든 작업을 수행 할 수 있으면 스토리지 풀링 유형의 것이 유리합니다.
  • 간헐적 인 대규모 쓰기를 처리 할 수있는 기능이 필요합니다. 기본 드라이브의 스핀들 속도는 중요하지 않지만 컨트롤러 스택의 효율성 및 캐시 크기는 중요합니다. 미러링 된 캐싱을 사용하는 경우 (컨트롤러 오류가 발생할 때마다 백업으로 돌아 가지 않는 한 선택 사항이 아닌 경우) 미러링에 사용되는 두 캐시 간의 대역폭은 일반적으로 큰 순차적 쓰기의 병목 현상이됩니다. 쓰기 캐싱을위한 고속 컨트롤러 (또는 클러스터) 상호 연결을 확보하십시오. 실제 가격을 유지하면서 최대한 많은 포트를 갖춘 고속 프런트 엔드 네트워크를 구축하기 위해 최선을 다하십시오. 프론트 엔드 성능을 높이려면 스토리지로드를 가능한 많은 프론트 엔드 리소스에 두어야합니다.
  • 씬 프로비저닝뿐만 아니라 우선 순위가 낮은 스토리지 계층을 확보함으로써 비용을 크게 절감 할 수 있습니다. 시스템이 개별 블록을 저렴한 대형 / 저속 드라이브 (7200RPM 및 2TB + 크기의 니어 라인 SAS 또는 SATA)로 자동 마이그레이션하지 않는 경우 수동으로 시도하십시오. 대형 느린 드라이브는 아카이브, 백업, 일부 파일 시스템 및 심지어 사용량이 적은 서버에 대한 훌륭한 대상입니다.
  • VMWare가 데이터 스토어뿐만 아니라 VM의 사용되지 않은 부분을 할당 해제 할 수 있도록 스토리지가 VAAI 통합되어 있어야합니다.

거기에 몇 가지 훌륭한 의견 감사합니다. 확실히 가고 궁리하는 것.
SimonJGreen

10

내 큰 VMWare 배포는 10GbE를 통한 NFS 및 iSCSI입니다. 이는 서버 및 스토리지 헤드에 듀얼 포트 10GbE HBA가 있음을 의미합니다. 저는 ZFS 기반 스토리지의 팬입니다. 필자의 경우 상용 NexentaStor로 감싸 져 있지만 일부는 자체 롤링을 선택합니다.

이러한 맥락에서 ZFS 기반 스토리지의 주요 기능은 ARC / L2ARC 캐싱 기능으로 스토리지를 계층화 할 수 있습니다. 가장 활동적인 데이터는 RAM 및 SSD 스토리지에서 두 번째 계층으로 사용됩니다. 주 스토리지 풀을 10k 또는 15k SAS 드라이브에서 실행하는 것도 도움이됩니다.

워크로드를 프로파일 링하고 이해하는 또 다른 경우입니다. 스토리지 패턴을 분석하고 계획을 세우는 데 도움을 줄 수있는 사람과 협력하십시오. ZFS / NexentaStor 측에서는 PogoStorage가 좋습니다 . 이러한 유형의 통찰력이 없으면 전송 방법 (FC, FCoE, iSCSI, NFS)은 중요하지 않을 수 있습니다. 기존 인프라에 대한 모니터링이 있습니까? 이제 I / O 활동은 어떤 모습입니까?


호기심으로 인해 이러한 배포가 얼마나 큰가요? 그리고 어떤 종류의 워크로드?
SimonJGreen

여러 호스트 Linux, Windows 인프라 (File / AD / Exchange), VDI 및 데이터베이스 시스템을 포함하여 90 개의 혼합 용 VM이 있습니다. 스토리지 장치의 RAM이 높고 (96GB +) 엔터프라이즈 SSD에 1.2TB의 L2ARC 읽기 캐시가 있습니다.
ewwhite

당신은 내 무지를 용서해야하고, 분명히하기 위해 당신이 옳은 일을하고 있는지 의심하지 않습니다. 저장 장치에 RAM이 많은 이유는 무엇입니까? 버퍼에 사용됩니까?
SimonJGreen

2
아 ZFS와 ARC / L2ARC에 대해 읽었습니다. 정말 멋진 소스입니다 :)
SimonJGreen

8

중요한 질문은 "병목 현상이 어디에 있습니까?"입니다. IOPS를 언급했지만 디스크 자체에 병목 현상이 있거나 SAN 포트가 용량에서 실행되고 있지 않거나 VM이 원하는 것보다 훨씬 더 많은 대기 시간에 있다는 것을 긍정적으로 식별 했습니까?

디스크가 제한 요소라는 것을 분명히 확인한 경우 NFS 또는 무한대로 전환하거나 성능에 영향을 미치지 않는 모든 것-SSD (또는 SSD가 혼합 된 최소 계층 형 스토리지) 또는 전체 번들 더 많은 스핀들 (세계 스테퍼 모터 생산이 바다로 씻겨 진 이후 최근에 훨씬 비싸진 솔루션).

병목 현상의 실제 위치를 100 % 확신 할 수없는 경우, 먼저 다른 사람들의 추측에 따라 스토리지 인프라의 일부를 무작위로 교환하거나 교환하지 않을 것입니다. 매우 효과적입니다 (특히 변경 비용이 얼마나 비싼지를 감안하면).


나는 항상 질문을 게시 한 사람이 숙제를했다고 가정합니다. 그러나 그와 함께 몇 가지 성능 상담을 한 후에 나는 대부분 포기하고 더 많은 드라이브를 추가하고 98 % 이상 문제가 해결되었다고 말합니다. 나머지 2 %는 신념을 넘어서 과도하게 커밋됩니다.
tony roth

4
"항상 질문을 게시 한 사람이 숙제를했다고 가정합니다"-나쁜 가정 ...
womble

이 답변은 완벽합니다. 많은 경우에 나는 이와 같은 문제를 해결하기 시작했고 그 문제가 무엇인지에 대한 선입견을 가지고있었습니다. 열 번 중 아홉 번은 단순히 그 문제에 대해 충분히 알지 못했다는 것을 알게되면 눈물로 끝납니다. 조심스럽게 프로파일 링하고 병목 현상이 무엇인지 확인한 다음 진행하십시오. "하이브 마인드"에 도움을 요청하거나 SAN 공급 업체에 도움을 요청할 수 있습니다. 또한 프로파일 링에 문제가있는 경우 NetApp 및 / 또는 EMC는 통계를 파악한 다음 솔루션 크기를 결정하는 데 도움을 줄 것입니다. 둘 다 이것을하기위한 좋은 소프트웨어를 가지고 있습니다.
SvrGuy

나는이 진단을 esxtop모든 호스트 (디스크 사용률 표시)의 전체 출력에 기반 하여 총 CMD / s를 사용하고이를 사용하는 SAN의 벤치 마크와 비교했습니다. 벤치 마크 결과를 헤드 라인으로 볼 때 총 CMD / s는 지속적으로 높습니다. SSD는 기술 측면에서 볼 때 좋은 옵션 인 것 같습니다 .GB / £ 여전히 엄청나게 비쌉니다. 계층 형 스토리지를 사용하면 솔루션이 될 수 있습니다. 참고 사항 / FYI에 따르면 최근 보도 자료에 따르면 WD를받은 디스크의 생산 수준으로 돌아갑니다.
SimonJGreen

SAN 벤치 마크는 어떻게 이루어 졌습니까? 제한 요소 는 디스크 자체가 아니라 여전히 네트워크 일 있습니다. 그러나 다른 것들로 게임을 시작하여 더 빨리 실행되도록하려면 벤치 마크가 있어야합니다. 이는 매우 중요합니다.
womble

4

iscsi 또는 nfs를 원한다면 최소한 10 / 40gb 포트 또는 infiniband를 원할 것입니다. 이는 가장 저렴한 옵션이지만 infiniband의 기본 스토리지 솔루션은 제한적인 것으로 보입니다. 문제는 블레이드 센터 용 모듈이며 일반적으로 8gb fc 또는 10 \ 1gbe 및 무한대의 옵션이 있습니다. infiniband는 nfs와 함께 사용할 수 있으며 performance \ price와 관련하여 아무것도 닫히지 않습니다. 블레이드 센터가 qdr infiniband를 지원하는 경우 nfs를 통해 qdr infiniband tca를 사용하는 일종의 Linux 호스트로 처리하십시오. 이 http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige를 설명하는 좋은 링크가 있습니다 .

그러나 블레이드 센터가 qdr 인피니 밴드를 지원할 수 있고 네이티브 인피니 밴드를 감당할 수 있다면 그 솔루션을 선택해야합니다.

현재 10gbe 스위치보다 40gbe 스위치가 훨씬 저렴하지만 (이상한 생각) 10gbe 스위치가 가능하지만 블레이드 센터가이를 지원할 것입니다.


블레이드 센터의 연결 옵션은 다음과 같습니다. dell.com/us/enterprise/p/poweredge-m1000e/pd Infiniband는 양호하게 보이며이 게스트 VM 수에서는 비용이 합리적입니다. SAN 쪽에서 무엇을 하시겠습니까?
SimonJGreen

Dell이 인피니 밴드를 지원하는 것은 귀하의 솔루션입니다.
tony roth

델에 IB 기반 스토리지가있는 것처럼 보이지 않으므로이 경우 옵션이 독창적이라고 생각합니다. Sun과 SGI 모두 IB 기반 SAN에 비용이 얼마인지 확실하지 않습니다.
tony roth 2012 년

IB 스토리지는 제공하지 않지만 IB 연결은 제공합니다. 다른 스토리지 공급 업체를 사용할 자격이 없으며 Dell과 관련하여 Dell에 대한 사랑도 없습니다.
SimonJGreen

1
그러면 sun 또는 sgi가 현재 모델 번호가 무엇인지 확실하지 않은 솔루션을 제공합니다.
tony roth

-3

로컬 스토리지가 부족합니까? DRBD8과 함께 XEN 머신의 클러스터 파트너에 미러링 된 로컬 RAID 5의 쓰기 처리량에 매우 만족합니다 (물론 "지원되지 않음").

그 외에도 mySQL이 성능 문제라고 확신합니다 (더 나쁜 DB는 보지 못했습니다). 그것을 조정하거나 전체 DB를 파일 시스템 캐시에 넣으십시오 (읽기 액세스 용) ...


OP에는 기존 VMWare 솔루션이 있으며 디스크없는 호스트로 실행 중입니다. 로컬 저장소가 의미가 없습니다.
ewwhite

로컬 스토리지에는 로컬 스토리지 블레이드 사용이 포함될 수도 있습니다. 그러나 VMWare는 그것을 지원하지 않을 것이라고 생각합니다.
Nils

Dell에서 로컬 스토리지 블레이드를 제공한다고 생각하지 않습니다. 다른 사람과 함께 본 스토리지 블레이드를 보지 못했습니다. 블레이드 하나에 부착 된 드라이브 블레이드를 보았습니다. 블레이드의 누구에게도 스토리지를 제공하지는 않습니다. 이를 위해서는 상호 연결이 필요합니다. 기본적으로 섀시 로컬 SAN일까요?
mfinni

죄송합니다 @Nils, 질문을 제대로 읽지 못했다고 확신합니다.
SimonJGreen

Nils-D2200sb 살펴보기 : "인클로저 백플레인은 인접한 c- 클래스 서버 블레이드에 PCI Express 연결을 제공하고 추가 케이블없이 고성능 스토리지 액세스를 가능하게합니다. ... HP P4000 Virtual SAN Appliance 소프트웨어 (VSA)를 사용하여 인클로저의 모든 서버와 네트워크의 모든 서버에서 사용할 수 있도록 D2200sb를 iSCSI SAN으로 전환하십시오. "
mfinni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.