더 나은 관리를 위해 ESX 상자를 구성했지만 성능은 WTF 항목입니다. 저는 ESX를 다루는 데 능숙하지 않기 때문에 이 문제를 해결하고 .NET 프로그래밍으로 돌아갈 수 있도록 도움이 되는 읽기 자료 목록을 찾고 있습니다.
현재 스토리지 시스템:
Dell 2910의 PERC6i에서 Raid5+Hotspare(8x500GB 스핀들)를 실행하고 있습니다. ESX 제한으로 인해 PERC는 스토리지를 1x2TB + 1x800GB "파티션"으로 표시합니다. 설정 구성(스트라이드/스트라이프/???)이 전혀 확실하지 않습니다.
우리의 응용
우리는 SBS 서버와 소규모(2x50GB, 월 10GB씩 증가) 데이터베이스 서버를 보유하고 있습니다.
데이터베이스 VM에 있는 우리 애플리케이션은 CPU와 I/O를 감지합니다. 그것은 데이터에 대한 많은 계산과 혼합된 데이터베이스 휘젓기 연습입니다(성능을 수정하는 것이 제가 작업해야 하는 작업입니다)...
성능 문제
백업, 복원 또는 더 나쁜 작업(백업을 한 VM에서 다른 VM으로 복사하여 QA VM으로 이동)을 수행하면 전체 시스템이 크롤링 속도가 느려집니다("관련되지 않은" VM도 포함).
처음에는 PCI-x 대역폭이 있으므로 DASD 상황이 꽤 좋을 것이라고 생각했지만 시스템 전체의 속도 저하로 인해 생산성이 저하되었습니다.
질문
- NAS, RAID, SAN, DASD에 대해 현명한 결정을 내리려면 어떻게 해야 합니까?
- 스토리지 설정에 최적의 지점/불량한 지점이 있습니까?
- tempdb용으로 ESX에서 SSD PCI-X 카드를 사용할 수 있습니까? 좋은 생각/나쁜 생각?
- Copy-On-Write 방식으로 일부 이미지를 "공유"할 수 있는 방법이 있습니까? 대부분의 "백업-복사-복원"은 "개발 상자에 깨끗한 이미지를 넣는 것"입니다. 마스터 이미지를 "공유"할 수 있다면 "큰 복사본"(2x50GB)은 개발자당 일주일에 한 번이 아닌 일주일에 한 번만 수행하면 됩니다...[런타임 성능은 문제가 되지 않습니다. 개발 상자는 있지만 백업/복사/복원으로 인해 프로덕션, SBS 및 상자에 있는 다른 모든 것이 종료됩니다.]
답변1
CPU 수, RAM 양, 실행 중인 VM 수, 해당 구성 및 예상 성능 요구 사항 등 ESX 서버 사양에 대한 세부 정보를 제공하지 않으므로 현재로서는 모든 것이 정상이라고 가정합니다. 당신이 가진 문제는 확실히 스토리지 IO와 관련된 것입니다. 최소한 경합 없이 모든 활성 VM을 실행할 수 있는 충분한 코어와 RAM이 있어야 하며, 하이퍼바이저가 VM을 중단하거나 디스크로 강제로 페이징하지 않고 필요한 모든 작업을 수행할 수 있는 충분한 용량을 보장할 수 있는 충분한 헤드룸이 있어야 합니다. . 또한 Frederic이 언급한 것처럼 VMware Tools가 설치되어 있어야 하며, 데이터 드라이브에 반가상화 SCSI 어댑터를 사용할 수 있다면 도움이 될 것입니다.
질문 [1] - DAS\RAID\NAS\SAN
워크로드를 서로 분리하려면 더 많은 IO와 더 독립적인 IO를 제공해야 합니다. NAS\DAS\SAN을 사용하든 별도의 RAID 팩을 설정해야 하며(가능한 한 RAID 10에서) 설정해야 합니다. IO 스타일에 따라 RAID 5에 비해 RAID 10의 성능 이점이 있습니다(동일한 수의 디스크에 대해 쓰기 IO 성능이 두 배임). 바람직하다. 기본 IO 집약적 VM이 별도의 데이터 저장소에서 QA 시스템으로 실행되고 있는지 확인하려고 합니다. 특히 QA 절차가 스토리지에 심각한 스트레스를 줄 가능성이 있는 경우에는 더욱 그렇습니다. 현재 8개 드라이브 팩을 4개로 구성된 별도의 RAID 10 팩 2개로 나누면 많은 도움이 됩니다. 기존 8드라이브 RAID 5 팩을 RAID 10으로 변경하고 QA 시스템을 위한 별도의 독립 스토리지를 추가하는 것이 더 좋을 것 같습니다. 직접 연결 스토리지를 사용하면 이 모든 작업을 수행할 수 있지만 SAN 및 고급 NAS 시스템을 사용하면 성능이 더 향상됩니다. 하지만 비용도 훨씬 더 많이 듭니다.
질문 [2] 기존 스토리지의 최적 지점/불량 지점
약 10-15개의 평균 Windows 서버(평균은 SQL, SBS 또는 Exchange가 아닌 파일\인쇄\DC\낮은 IO 앱 상자)를 실행하기에 충분한 디스크가 있지만 현재 세트에서 실제로 IO 집약적인 시스템을 두 대 이상 실행하기에는 충분하지 않습니다. 위로. 추악한 점은 모든 것에 대해 단일 RAID 5 팩을 가지고 있다는 것입니다. 기존 드라이브가 SATA인 경우 기껏해야 7200rpm일 가능성이 높기 때문에 좋지 않습니다. 10kSAS 드라이브로 이동하면 동일한 스핀들 수에 대해 성능이 어느 정도 두 배, 15k 드라이브는 세 배가 됩니다.
질문[3] PCI-X SSD 사용
ESX는 PCI-X\PCI-e SSD의 AFAIK를 지원하지 않지만 지원한다면 IO 집약적인 VM 볼륨의 위치로 도움이 될 것입니다. tempDB 실행에 관한 한 이상적으로는 빠른 스토리지에 있는 VMDK에 배치해야 하지만 먼저 VM에 수익성 있게 활용할 수 있는 만큼의 RAM이 있는지 확인해야 합니다.
질문 [4] 공유 이미지 옵션
VMware Lab Manager는 이러한 종류의 작업을 수행하지만 클러스터의 각 서버에 대해 전체 라이센스가 부여된 VI 인프라와 CPU당 라이센스가 필요합니다. 이는 관리에 도움이 되며 QA 복사 사용 사례에 대한 잠재적인 긍정적인 측면이 있지만 성능 문제를 해결하는 데 도움이 되지 않을 수도 있습니다. QA 시스템이 IO 관점에서 열심히 구동되는 경우 Copy-On-Write\delta 단일 기본 이미지에서 여러 시스템을 프로비저닝하는 데 사용되는 복사 접근 방식은 일반적인 성능 문제에 도움이 되지 않으며 문제를 더욱 악화시킬 수도 있습니다. 그래도 복사본을 훨씬 더 쉽고 빠르게 만들 수 있습니다.
답변2
귀하의 문제는 DAS 또는 NAS와 관련이 없지만 CRAP DISCS와 관련이 있습니다. 많은 VM은 일반 컴퓨터보다 IO가 훨씬 많습니다. 실제로 사용 패턴이 낮은 경우가 아니면 FAST 디스크 사용은 필수입니다.
- 좋은 RAID 컨트롤러(Adaptec 라인)와 충분한 수의 디스크가 있다면 DAS 시스템으로 소규모 설정을 해도 괜찮습니다.
- SAN(NAS 아님)은 여러 상자(장애 조치, 클러스터링 등) 간에 공유할 수 있다는 장점이 있습니다.
하지만 어쨌든 가능한 많은 IO가 필요합니다. 규칙은 다음과 같습니다:
- VM은 페이지 파일을 사용해서는 안 됩니다. 페이징은 디스크에 스트레스를 줍니다. 어쨌든 디스크는 잔인한 제약입니다.
- RAID 5는 RAID 10보다 훨씬 느립니다.)
- 500GB 디스크는 최대 7200RPM일 가능성이 높으며 이는 느립니다. 최소 10,000RPM, SAS 인프라로 이동하세요. 저는 300GB Velociraptor의 RAID 10에 대해 정말 좋은 경험을 했습니다(새로운 600GB가 조금 더 빠르긴 하지만).
정말 많은 IO 용량이 필요합니다. RAID 5는 두 개의 디스크보다 약간 더 빠르며(만약 계산을 해야 한다면) 단일 디스크는 이미 특정 시나리오에서 정확히 빠르지는 않습니다. 결과는 IO 설정이 종료된다는 것입니다. 정상.
디스크 8개로 구성된 RAID 10(500GB, 즉 2TB)을 설치하면 RAID 5보다 훨씬 더 독립적인 IO 용량을 얻을 수 있습니다.
답변3
(1) 및 (2): 로컬 스토리지를 사용하는 경우 vmware의 모든 기능(ha, ft, vmotion 등)을 사용할 수 없습니다. 저는 EQL SAN에서 iSCSI를 사용합니다. 잘못된 iSCSI 구현(쓰기 시 약 2Gbps)과 raid6 사용으로 인해 성능이 정말 좋지 않습니다. raid10을 사용하면 IO 성능이 정말 좋아질 것입니다. 그러니 돈이 있다면 FC SAN을 사용하세요... 아니면 FCoE SAN을 기다리세요 :) raid10으로... 제 생각에는 강렬한 IO의 경우 저가형 SAN을 사용하지 마세요...
(3) 모르겠어요
속도 저하를 줄이기 위해 게스트 도구를 설정해 보셨나요? Oracle 데이터베이스에서도 동일한 문제가 발생했는데 게스트 도구를 설정하면 성능이 실제로 향상되었습니다. 우리는 또한 더 많은 성능을 얻기 위해 RHEL에서 반가상화 scsi 드라이버를 사용했습니다!
프레데릭
답변4
이것이 당신의 문제일까요?
http://kb.vmware.com/selfservice/microsites/search.do?언어=en_US&cmd=displayKC&externalId=1011213
어쨌든 모든 바이오스를 업데이트하십시오. 디스크가 sata인가요, sas인가요? 공간으로 판단하면 SATA가 가장 빠른 디스크는 아닙니다. 최고의 성능을 원한다면 raid 5 대신 raid 10을 시도하는 것이 좋습니다. NAS, SAN 및 DAS는 한 가지입니다. RAID는 거의 모든 것의 기반입니다. 곧:
NAS: 파일 시스템 내보내기(nfs, smb)
SAN: 블록 장치 내보내기(iscsi, lun, aoe)
DAS: 서버에 직접 연결된 모든 스토리지 박스(scsi, esata)
RAID: 디스크 충돌이 발생한 경우 시스템 가용성을 높이는 방법입니다.