단일 VMWare 호스트 서버에서 100 개의 가상 머신 실행


24

몇 년 동안 VMWare를 사용해 왔으며, 거의 문제없이 수십 개의 프로덕션 서버를 실행했습니다. 그러나 단일 물리적 호스트에서 20 개 이상의 VM을 호스팅하려고 시도하지 않았습니다. 아이디어는 다음과 같습니다.

  1. 제거 된 Windows XP 버전은 512MB의 RAM과 4GB의 디스크 공간으로 작동 할 수 있습니다.
  2. $ 5,000는 64GB RAM과 4 개의 SAS 미러가있는 8 코어 서버급 시스템을 제공합니다.
  3. 위에서 언급 한 100 개의 VM이이 서버에 적합하기 때문에 내 하드웨어 비용은 VM 당 $ 50에 불과합니다 (GoDaddy 또는 기타 호스팅 상점에서 VM을 임대하는 것보다 저렴합니다).

누구든지 VMWare로 이러한 종류의 확장 성을 달성 할 수 있는지 알고 싶습니다. 나는 몇 가지 테스트를 수행하고 이상한 문제에 부딪쳤다. VM을 20 개 시작하면 VM 성능이 크게 저하되기 시작합니다. 동시에 호스트 서버에 리소스 병목 현상이 표시되지 않습니다 (디스크가 99 % 유휴 상태이고 CPU 사용률이 15 % 미만이며 사용 가능한 RAM이 많이 있음).

VMWare 확장 또는 기타 가상화 기술에 대한 성공 사례를 공유 할 수 있다면 감사하겠습니다.


4
어떤 VMware 제품을 사용하려고합니까? ESX? ESXi? 섬기는 사람?
wzzrd 2016 년

2
XP는 가벼운 작업 인 경우 어려움없이 256으로 XP를 실행할 수 있습니다. Microsoft는 64
개가

1
어디에서 서버를 구입합니까? 나는 :) 하나 싶어
워렌

1
5000 USD 만, 둘을 팔 수 있습니까? :)
Taras Chuhay

호스팅 서버에 "이 정도의 CPU"가 있으며 각 VM이 공유합니다. 또한 esxi는 "이 VM으로 전환하고 관리하며 다음으로 전환하는 등의"오버 헤드를 초당 여러 번 갖게됩니다. 즉, 각 VM은 전체 CPU의 일부만 가져옵니다. VM이 많을수록 CPU를 더 많이 나눕니다 (더 많은 오버 헤드도 더해집니다. 즉, 100 vms 대신 실제로는 더 많은 것을 갖습니다).
Olivier Dulac

답변:


15

그래 넌 할수있어. 384MiB만큼 적은 일부 Windows 2003 워크로드에서도 충분하므로 512MiB는 약간 높은 것으로 추정됩니다. RAM은 문제가되지 않으며 CPU도 문제가되지 않습니다.

100 개의 VM은 약간 가파르지만 특히 VM이 매우 바쁘지 않을 경우에는 가능합니다. 단일 ESX 서버에서 60 대의 서버 (Windows 2003 및 RHEL)를 쉽게 실행할 수 있습니다.

VMware ESX에 대해 이야기하고 있다고 가정하면 메모리를 오버 커밋 할 수 있다는 것도 알아야합니다. VM은 거의 완전히 지정된 메모리 배급량을 거의 사용하지 않으므로 ESX는 사용 가능한 RAM보다 많은 RAM을 VM에 커밋하고 실제로 '공식적으로'RAM보다 많은 VM을 실행할 수 있습니다.

대부분의 bottlenech는 CPU 또는 RAM이 아니라 IO입니다. VMware는 마케팅에서 엄청난 양의 IOPS를 자랑하지만 푸시가 촉박 할 때 SCSI 예약 충돌과 제한된 대역폭으로 인해 IOPS VMware에 근접하기 전에 막 다른 길을 막을 수 있습니다.

어쨌든 20 개의 VM 성능 저하가 발생하지 않습니다. 어떤 버전의 ESX를 사용하고 있습니까?


고마워 Wzzrd! 현재 VMWare Server 2.0을 사용하고 있지만 곧 ESX를 사용할 계획입니다. 모든 호스트 어레이에서 I / O를 매우주의 깊게 관찰했으며 최대 한 번에 여러 게스트를 재부팅하면이를 최대한 활용할 수있었습니다. 게스트의 작업량이 적거나 유휴 상태 인 경우 호스트 디스크는 유휴 상태입니다. 따라서 CPU 및 IO 이외의 다른 것이 모든 VM의 속도를 저하시키는 것으로 의심됩니다. 그런데 시작 메뉴를 여는 데 20 초가 걸리고 VM 내에서 작업 관리자를 실행하면 작업 관리자가 CPU를 90 % 사용합니다-이상합니다!
Dennis Kashkin

2
VMware 서버를 사용하고 있기 때문입니다. VMware 서버는 다른 플랫폼 (Linux, 가장 자주) 위에있는 가상화 플랫폼이며 ESX는 베어 메탈 가상화 플랫폼입니다. 수행 방식과 개념이 매우 다릅니다.
wzzrd

안타깝게도 패치 당일에 100 vm이 제공되면 동시에 많은 매트를 재부팅해야합니다.) 패치 자체는 어렵습니다. 서비스 팩을 조심하십시오 – 즉, 진짜 고통이 시작될 때;)
TomTom

베어 메탈을 생각하는 것에 대해 속지 말라는 것은 특별한 일입니다. ESXi는 제거 된 Linux입니다. 예, 리눅스
dresende

2
@dresende. 아닙니다. 날 믿어.
wzzrd

11

이와 같은 대규모 환경의 주요 문제 중 하나는 재난 방지 및 데이터 보호입니다. 서버가 죽으면 100 개의 VM이 죽습니다.

일종의 VM 장애 조치를 계획하고 장애 발생시 VM을 보호하는 일종의 "추가 VM"관리를 계획해야합니다. 물론, 이러한 종류의 중복성은 비용 증가를 의미합니다. 아마도 이러한 지출이 실제로 혜택이 없어진 후에야 승인되지 않은 경우가 많습니다.

또한 VM 호스트는 여러 단일 장애 지점 중 하나 일뿐입니다.

  • 네트워크-VM 호스트의 네트워킹 카드가 다운되면 어떻게합니까?
  • 메모리-VM 호스트 메모리 청크가 손상된 경우 어떻게해야합니까?
  • CPU-CPU 코어가 죽으면 VM은 어떻게됩니까?
  • 전원-하나 또는 두 개의 전원 케이블 만 있습니까?
  • 관리 포트-VM의 호스트 관리에 접근 할 수 없다고 가정하십시오.

대규모 VM 인프라에는 데이터 손실 방지 및 VM 손실 방지에주의를 기울여야합니다.


2
다윗의 말을 듣습니다. N + 1 구성이 필요합니다. 즉, 다른 시스템이 실패 할 경우 모든 워크로드를 흡수 할 수있는 하나 이상의 예비 유휴 시스템이 필요합니다. 내 권장 사항은로드를 균등하게 분산하지만 한 시스템에 장애가 발생할 경우 모든 작업 부하를 독립적으로 처리 할 수있는 2 서버 클러스터입니다.
Jason Pearce

4

프로덕션 환경에서이 기능의 실행 가능성에 대한 언급은 없지만 일반적인 VM에 대한 중복 제거로 인해 디스크 공간을 거의 사용하지 않고 30 분 안에 32 ESX 호스트 (호스트 당 170)에 5440 XP 데스크톱을 프로비저닝하는 흥미로운 NetApp 데모가 있습니다. 이미지

http://www.youtube.com/watch?v=ekoiJX8ye38

내 생각 엔 당신의 한계는 디스크 서브 시스템에서 온 것입니다. 메모리와 CPU 사용량을 적절히 고려한 것 같습니다.


3

절대하지 말아라. 그러나 서버 하드웨어보다 많은 VM을 지원하기에 충분한 IOP를 얻기 위해 스토리지보다 더 많은 비용을들이겠다고 약속한다. 100 개가 모두 동시에 활성화 된 경우 많은 IOP가 필요합니다. 부정적으로 들리지는 않지만 하나의 바구니에 많은 계란을 넣는 것을 고려 했습니까? (단일 서버 솔루션을 사용하는 것처럼 들립니다.)


2
여러 개의 "바구니"를 만들고 자동 백업을 설정합니다. 요즘 SSD 드라이브로 I / O 병목 현상을 쉽게 해결할 수 있습니다. 프로덕션 환경에서 160GB Intel MLC 드라이브를 사용하고 있으며 훌륭합니다. 기본적으로 최고 SAS 드라이브보다 간단한 I / O 성능이 5 배 향상됩니다 (단순 RAID 구성).
Dennis Kashkin 2016 년

1

단일 호스트에서 100 개의 VM을 사용하는 CPU 경합이 가장 걱정됩니다. 프로세서는 가상화되지 않았으므로 각 머신은 CPU에 대한 액세스를 기다려야합니다. ESXTOP을 보면서 경합을 시작할 수 있습니다. VMWare 엔지니어는 % RDY 필드에서 5 개 이상이 매우 나쁜 것으로 들었습니다.

내 경험상 한 호스트에서 약 30-40 대의 서버가 실행되는 것을 보았습니다 (너무 많이하지는 않음).


1

VMWare Server 1.0.6에 10 개의 호스트가 있었으며 (Windows 2003에서) 정기적으로 IO 문제가 발생합니다. 야간 빌드가 다른 요소와 겹치면 문제가 발생합니다. Windows에서 ESXi U3으로 업그레이드 한 후 성능 문제가 사라졌습니다 (야간 빌드가 더 이상 실패하지 않음).

또한 SSD는 회전하는 미디어보다 IO 속도가 훨씬 높지만 특정 유형의 쓰기 패턴과 같이 유지되지 않는 경우가 있습니다 (컨트롤러가 스 캐터 쓰기 작업을 수행하는 스마트 쓰기 버퍼링 캐시).

문제가 발생하면 다른 드라이브에 SWAP 파일이 있는지 조사 / 테스트하는 것이 좋습니다.


1

그렇게하려면 새로운 Intel 'Nehalem'Xeon 55xx 시리즈 프로세서를 사용하는 것이 좋습니다. VM을 실행하도록 설계되었으며 추가 메모리 대역폭도 엄청나게 도움이 될 것입니다. 아 그리고 큰 디스크보다 더 작은 디스크를 더 많이 사용할 수 있다면 많은 도움이 될 것입니다. 3.5U4 이상의 ESX v4도 사용할 수있는 경우


1

16G 램이있는 머신에서 각각 512M 램으로 실행되는 20 개의 XP VM이 있습니다. 이보다 적 으면 디스크로 스왑되어 병목 현상이 발생합니다. 그러나 항상 활성 XP VM입니다.

VMware 및 OverCommit 기능을 사용하면 각 XP 시스템에 더 많은 램을 푸시 할 수 있습니다. 유사한 시스템은 동일한 페이지를 공유하므로 디스크 쓰기를 줄일 수 있습니다. XP VM이 10 ~ 20 메가의 연속 디스크 트래픽을 수행 할 때 더 많은 시스템을 추가하기 위해 설정을 살펴보고 싶습니다.


1

우리는 VMWare 서버에서 100 명의 행복한 손님을 얻을 수 없었지만 ESXi가 훨씬 더 나은 일을하고 있다는 것을 알았습니다. 따라서 ESXi와 알맞은 서버 (I / O, 몇 개의 I7 칩 및 64GB RAM을 분산시키는 몇 개의 디스크 미러)를 사용하는 경우 100 XP vms는 문제가되지 않습니다. 최종 사용자에게는 눈에 띄는 지연이 없으며 호스트 리소스는 최대치가되지 않습니다 (가장 인기있는 것은 CPU이지만 일반적으로 최소 70 %의 유휴 상태입니다).

추신. 이 질문은 우리가 VMWare 서버와 씨름 할 때 저에게 다시 게시되었습니다.


0

마지막으로 확인한 VMware는 VM 당 하나의 vCPU를 가정하여 ESX의 처리 코어 당 4 개의 VM을 권장하지 않습니다.

이는 관리 오버 헤드가 요인이된다는 것을 의미합니다.

8 코어 박스에서 실제로 4 배의 요소를 달성 할 수 있는지 알고 싶습니다.


1
ESX 3.5U2 이전 버전입니다. 업데이트 2의 구성 최대 값 문서는 일반적인 용도로는 8이지만 VDI 워크로드에서는 11로 증가합니다. VDI 권장 사항을 업데이트 3 또는 4에서 19로 늘린 것을 찾을 수없는 것을 보았을 것입니다. vSphere의 한계는 이제 20입니다. VMware의 공식 문서에 대한 VMware ESX 구성 최대 값을 검색하십시오.
Helvick

내 VM은 대부분 유휴 상태입니다. 사람들은 가벼운 소프트웨어를 실행하기 위해 하루에 몇 번 연결될 수 있습니다. 이 VM이 유휴 상태 일 때 호스트에서 매우 작은 CPU 오버 헤드를 생성 함을 확인했습니다 (20 개의 VM이 듀얼 쿼드 코어 시스템을 기반으로 최대 9 %의 CPU 사용률 추가). CPU 당 4 개의 VM 제한이 어떻게 정당화되는지 기억할 수 있습니까? 그들은 웹 서버 또는 데스크탑 OS 인스턴스에 대해 생각하고 있습니까?
Dennis Kashkin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.